summaryrefslogtreecommitdiff
path: root/offapi/com/sun
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun')
-rw-r--r--offapi/com/sun/star/accessibility/AccessBridge.idl54
-rw-r--r--offapi/com/sun/star/accessibility/Accessible.idl56
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleContext.idl67
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventId.idl387
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventObject.idl69
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelation.idl68
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelationType.idl121
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl720
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleStateType.idl225
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl90
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl82
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTextType.idl105
-rw-r--r--offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl54
-rw-r--r--offapi/com/sun/star/accessibility/TextSegment.idl85
-rw-r--r--offapi/com/sun/star/accessibility/XAccessible.idl86
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleAction.idl123
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleComponent.idl236
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext.idl215
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEditableText.idl240
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventListener.idl59
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl109
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl142
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHypertext.idl118
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleImage.idl86
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl93
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl148
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl113
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleSelection.idl164
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleStateSet.idl109
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTable.idl387
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleText.idl519
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl105
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl140
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleValue.idl106
-rw-r--r--offapi/com/sun/star/accessibility/makefile.mk80
-rw-r--r--offapi/com/sun/star/animations/AnimationAdditiveMode.idl69
-rw-r--r--offapi/com/sun/star/animations/AnimationCalcMode.idl74
-rw-r--r--offapi/com/sun/star/animations/AnimationColorSpace.idl58
-rw-r--r--offapi/com/sun/star/animations/AnimationEndSync.idl81
-rw-r--r--offapi/com/sun/star/animations/AnimationFill.idl84
-rw-r--r--offapi/com/sun/star/animations/AnimationNodeType.idl87
-rw-r--r--offapi/com/sun/star/animations/AnimationRestart.idl75
-rw-r--r--offapi/com/sun/star/animations/AnimationTransformType.idl67
-rw-r--r--offapi/com/sun/star/animations/AnimationValueType.idl57
-rw-r--r--offapi/com/sun/star/animations/Event.idl69
-rw-r--r--offapi/com/sun/star/animations/EventTrigger.idl91
-rw-r--r--offapi/com/sun/star/animations/TargetProperties.idl59
-rw-r--r--offapi/com/sun/star/animations/TimeFilterPair.idl51
-rw-r--r--offapi/com/sun/star/animations/Timing.idl53
-rw-r--r--offapi/com/sun/star/animations/TransitionSubType.idl163
-rw-r--r--offapi/com/sun/star/animations/TransitionType.idl91
-rw-r--r--offapi/com/sun/star/animations/ValuePair.idl48
-rw-r--r--offapi/com/sun/star/animations/XAnimate.idl155
-rw-r--r--offapi/com/sun/star/animations/XAnimateColor.idl74
-rw-r--r--offapi/com/sun/star/animations/XAnimateMotion.idl65
-rw-r--r--offapi/com/sun/star/animations/XAnimateSet.idl66
-rw-r--r--offapi/com/sun/star/animations/XAnimateTransform.idl79
-rw-r--r--offapi/com/sun/star/animations/XAnimationListener.idl88
-rw-r--r--offapi/com/sun/star/animations/XAnimationNode.idl261
-rw-r--r--offapi/com/sun/star/animations/XAnimationNodeSupplier.idl51
-rw-r--r--offapi/com/sun/star/animations/XAudio.idl58
-rw-r--r--offapi/com/sun/star/animations/XCommand.idl66
-rw-r--r--offapi/com/sun/star/animations/XIterateContainer.idl79
-rw-r--r--offapi/com/sun/star/animations/XTargetPropertiesCreator.idl78
-rw-r--r--offapi/com/sun/star/animations/XTimeContainer.idl132
-rw-r--r--offapi/com/sun/star/animations/XTransitionFilter.idl99
-rw-r--r--offapi/com/sun/star/animations/makefile.mk76
-rw-r--r--offapi/com/sun/star/auth/AuthenticationFailedException.idl47
-rw-r--r--offapi/com/sun/star/auth/InvalidArgumentException.idl47
-rw-r--r--offapi/com/sun/star/auth/InvalidContextException.idl47
-rw-r--r--offapi/com/sun/star/auth/InvalidCredentialException.idl47
-rw-r--r--offapi/com/sun/star/auth/InvalidPrincipalException.idl48
-rw-r--r--offapi/com/sun/star/auth/PersistenceFailureException.idl48
-rw-r--r--offapi/com/sun/star/auth/SSOExceptions.idl53
-rw-r--r--offapi/com/sun/star/auth/SSOManagerFactory.idl75
-rw-r--r--offapi/com/sun/star/auth/SSOPasswordCache.idl53
-rw-r--r--offapi/com/sun/star/auth/UnsupportedException.idl48
-rw-r--r--offapi/com/sun/star/auth/XSSOAcceptorContext.idl75
-rw-r--r--offapi/com/sun/star/auth/XSSOContext.idl77
-rw-r--r--offapi/com/sun/star/auth/XSSOInitiatorContext.idl80
-rw-r--r--offapi/com/sun/star/auth/XSSOManager.idl113
-rw-r--r--offapi/com/sun/star/auth/XSSOManagerFactory.idl60
-rw-r--r--offapi/com/sun/star/auth/XSSOPasswordCache.idl105
-rw-r--r--offapi/com/sun/star/auth/makefile.mk28
-rw-r--r--offapi/com/sun/star/awt/AccessibleButton.idl136
-rw-r--r--offapi/com/sun/star/awt/AccessibleCheckBox.idl137
-rw-r--r--offapi/com/sun/star/awt/AccessibleComboBox.idl108
-rw-r--r--offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl119
-rw-r--r--offapi/com/sun/star/awt/AccessibleDropDownListBox.idl119
-rw-r--r--offapi/com/sun/star/awt/AccessibleEdit.idl135
-rw-r--r--offapi/com/sun/star/awt/AccessibleFixedText.idl114
-rw-r--r--offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl115
-rw-r--r--offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl107
-rw-r--r--offapi/com/sun/star/awt/AccessibleList.idl138
-rw-r--r--offapi/com/sun/star/awt/AccessibleListBox.idl107
-rw-r--r--offapi/com/sun/star/awt/AccessibleListBoxList.idl52
-rw-r--r--offapi/com/sun/star/awt/AccessibleListItem.idl104
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenu.idl152
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuBar.idl115
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuItem.idl141
-rw-r--r--offapi/com/sun/star/awt/AccessibleMenuSeparator.idl107
-rw-r--r--offapi/com/sun/star/awt/AccessiblePopupMenu.idl115
-rw-r--r--offapi/com/sun/star/awt/AccessibleRadioButton.idl141
-rw-r--r--offapi/com/sun/star/awt/AccessibleScrollBar.idl129
-rw-r--r--offapi/com/sun/star/awt/AccessibleStatusBar.idl98
-rw-r--r--offapi/com/sun/star/awt/AccessibleStatusBarItem.idl107
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBar.idl109
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBarPage.idl105
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabBarPageList.idl108
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabControl.idl113
-rw-r--r--offapi/com/sun/star/awt/AccessibleTabPage.idl117
-rw-r--r--offapi/com/sun/star/awt/AccessibleTextField.idl116
-rw-r--r--offapi/com/sun/star/awt/AccessibleToolBox.idl116
-rw-r--r--offapi/com/sun/star/awt/AccessibleToolBoxItem.idl134
-rw-r--r--offapi/com/sun/star/awt/AccessibleTreeListBox.idl115
-rw-r--r--offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl133
-rw-r--r--offapi/com/sun/star/awt/AccessibleWindow.idl125
-rw-r--r--offapi/com/sun/star/awt/ActionEvent.idl69
-rw-r--r--offapi/com/sun/star/awt/AdjustmentEvent.idl67
-rw-r--r--offapi/com/sun/star/awt/AdjustmentType.idl72
-rwxr-xr-xoffapi/com/sun/star/awt/AnimatedImagesControl.idl58
-rwxr-xr-xoffapi/com/sun/star/awt/AnimatedImagesControlModel.idl57
-rw-r--r--offapi/com/sun/star/awt/AsyncCallback.idl47
-rw-r--r--offapi/com/sun/star/awt/CharSet.idl123
-rw-r--r--offapi/com/sun/star/awt/Command.idl134
-rw-r--r--offapi/com/sun/star/awt/ContainerWindowProvider.idl56
-rw-r--r--offapi/com/sun/star/awt/DeviceCapability.idl65
-rw-r--r--offapi/com/sun/star/awt/DeviceInfo.idl110
-rw-r--r--offapi/com/sun/star/awt/DialogProvider.idl59
-rw-r--r--offapi/com/sun/star/awt/DialogProvider2.idl55
-rw-r--r--offapi/com/sun/star/awt/DockingData.idl63
-rw-r--r--offapi/com/sun/star/awt/DockingEvent.idl84
-rw-r--r--offapi/com/sun/star/awt/EndDockingEvent.idl72
-rw-r--r--offapi/com/sun/star/awt/EndPopupModeEvent.idl68
-rw-r--r--offapi/com/sun/star/awt/EnhancedMouseEvent.idl63
-rw-r--r--offapi/com/sun/star/awt/FieldUnit.idl63
-rw-r--r--offapi/com/sun/star/awt/FocusChangeReason.idl93
-rw-r--r--offapi/com/sun/star/awt/FocusEvent.idl90
-rw-r--r--offapi/com/sun/star/awt/FontDescriptor.idl190
-rw-r--r--offapi/com/sun/star/awt/FontEmphasisMark.idl94
-rw-r--r--offapi/com/sun/star/awt/FontFamily.idl91
-rw-r--r--offapi/com/sun/star/awt/FontPitch.idl68
-rw-r--r--offapi/com/sun/star/awt/FontRelief.idl68
-rw-r--r--offapi/com/sun/star/awt/FontSlant.idl83
-rw-r--r--offapi/com/sun/star/awt/FontStrikeout.idl91
-rw-r--r--offapi/com/sun/star/awt/FontType.idl73
-rw-r--r--offapi/com/sun/star/awt/FontUnderline.idl163
-rw-r--r--offapi/com/sun/star/awt/FontWeight.idl109
-rw-r--r--offapi/com/sun/star/awt/FontWidth.idl109
-rw-r--r--offapi/com/sun/star/awt/Gradient.idl115
-rw-r--r--offapi/com/sun/star/awt/GradientStyle.idl83
-rw-r--r--offapi/com/sun/star/awt/ImageAlign.idl71
-rw-r--r--offapi/com/sun/star/awt/ImagePosition.idl100
-rw-r--r--offapi/com/sun/star/awt/ImageScaleMode.idl62
-rw-r--r--offapi/com/sun/star/awt/ImageStatus.idl73
-rw-r--r--offapi/com/sun/star/awt/InputEvent.idl65
-rw-r--r--offapi/com/sun/star/awt/InvalidateStyle.idl89
-rw-r--r--offapi/com/sun/star/awt/ItemEvent.idl69
-rw-r--r--offapi/com/sun/star/awt/ItemListEvent.idl76
-rw-r--r--offapi/com/sun/star/awt/Key.idl574
-rw-r--r--offapi/com/sun/star/awt/KeyEvent.idl76
-rw-r--r--offapi/com/sun/star/awt/KeyFunction.idl123
-rw-r--r--offapi/com/sun/star/awt/KeyGroup.idl85
-rw-r--r--offapi/com/sun/star/awt/KeyModifier.idl68
-rw-r--r--offapi/com/sun/star/awt/KeyStroke.idl81
-rw-r--r--offapi/com/sun/star/awt/LineEndFormat.idl66
-rw-r--r--offapi/com/sun/star/awt/MaxChildrenException.idl29
-rw-r--r--offapi/com/sun/star/awt/MenuBar.idl56
-rw-r--r--offapi/com/sun/star/awt/MenuEvent.idl57
-rw-r--r--offapi/com/sun/star/awt/MenuItemStyle.idl68
-rw-r--r--offapi/com/sun/star/awt/MenuItemType.idl68
-rwxr-xr-xoffapi/com/sun/star/awt/MenuLogo.idl70
-rw-r--r--offapi/com/sun/star/awt/MessageBoxButtons.idl97
-rw-r--r--offapi/com/sun/star/awt/MessageBoxCommand.idl69
-rw-r--r--offapi/com/sun/star/awt/MouseButton.idl65
-rw-r--r--offapi/com/sun/star/awt/MouseEvent.idl101
-rwxr-xr-xoffapi/com/sun/star/awt/MouseWheelBehavior.idl62
-rw-r--r--offapi/com/sun/star/awt/PaintEvent.idl75
-rw-r--r--offapi/com/sun/star/awt/Point.idl57
-rw-r--r--offapi/com/sun/star/awt/PopupMenu.idl55
-rw-r--r--offapi/com/sun/star/awt/PopupMenuDirection.idl92
-rw-r--r--offapi/com/sun/star/awt/PosSize.idl89
-rw-r--r--offapi/com/sun/star/awt/PrinterException.idl54
-rw-r--r--offapi/com/sun/star/awt/PushButtonType.idl71
-rw-r--r--offapi/com/sun/star/awt/RasterOperation.idl79
-rw-r--r--offapi/com/sun/star/awt/Rectangle.idl69
-rw-r--r--offapi/com/sun/star/awt/RoadmapItem.idl78
-rw-r--r--offapi/com/sun/star/awt/ScrollBarOrientation.idl59
-rw-r--r--offapi/com/sun/star/awt/Selection.idl59
-rw-r--r--offapi/com/sun/star/awt/SimpleFontMetric.idl101
-rw-r--r--offapi/com/sun/star/awt/Size.idl59
-rw-r--r--offapi/com/sun/star/awt/SpinEvent.idl57
-rwxr-xr-xoffapi/com/sun/star/awt/SpinningProgressControlModel.idl54
-rw-r--r--offapi/com/sun/star/awt/Style.idl60
-rw-r--r--offapi/com/sun/star/awt/SystemDependentXWindow.idl67
-rw-r--r--offapi/com/sun/star/awt/SystemPointer.idl492
-rw-r--r--offapi/com/sun/star/awt/TabController.idl53
-rw-r--r--offapi/com/sun/star/awt/TabControllerModel.idl59
-rw-r--r--offapi/com/sun/star/awt/TextAlign.idl65
-rw-r--r--offapi/com/sun/star/awt/TextEvent.idl57
-rw-r--r--offapi/com/sun/star/awt/Toolkit.idl76
-rw-r--r--offapi/com/sun/star/awt/UnoControl.idl94
-rw-r--r--offapi/com/sun/star/awt/UnoControlButton.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlButtonModel.idl282
-rw-r--r--offapi/com/sun/star/awt/UnoControlCheckBox.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl240
-rw-r--r--offapi/com/sun/star/awt/UnoControlComboBox.idl59
-rw-r--r--offapi/com/sun/star/awt/UnoControlComboBoxModel.idl240
-rw-r--r--offapi/com/sun/star/awt/UnoControlContainer.idl71
-rw-r--r--offapi/com/sun/star/awt/UnoControlContainerModel.idl116
-rw-r--r--offapi/com/sun/star/awt/UnoControlCurrencyField.idl73
-rw-r--r--offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl279
-rw-r--r--offapi/com/sun/star/awt/UnoControlDateField.idl72
-rw-r--r--offapi/com/sun/star/awt/UnoControlDateFieldModel.idl291
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialog.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogElement.idl97
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModel.idl197
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl55
-rw-r--r--offapi/com/sun/star/awt/UnoControlEdit.idl71
-rw-r--r--offapi/com/sun/star/awt/UnoControlEditModel.idl291
-rw-r--r--offapi/com/sun/star/awt/UnoControlFileControl.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlFileControlModel.idl185
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl188
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedLine.idl54
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedLineModel.idl134
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedText.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlFixedTextModel.idl182
-rw-r--r--offapi/com/sun/star/awt/UnoControlFormattedField.idl64
-rw-r--r--offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl324
-rw-r--r--offapi/com/sun/star/awt/UnoControlGroupBox.idl53
-rw-r--r--offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl132
-rw-r--r--offapi/com/sun/star/awt/UnoControlImageControl.idl59
-rw-r--r--offapi/com/sun/star/awt/UnoControlImageControlModel.idl161
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBox.idl74
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBoxModel.idl235
-rw-r--r--offapi/com/sun/star/awt/UnoControlModel.idl105
-rw-r--r--offapi/com/sun/star/awt/UnoControlNumericField.idl73
-rw-r--r--offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl267
-rw-r--r--offapi/com/sun/star/awt/UnoControlPatternField.idl73
-rw-r--r--offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl226
-rw-r--r--offapi/com/sun/star/awt/UnoControlProgressBar.idl60
-rw-r--r--offapi/com/sun/star/awt/UnoControlProgressBarModel.idl134
-rw-r--r--offapi/com/sun/star/awt/UnoControlRadioButton.idl65
-rw-r--r--offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl234
-rw-r--r--offapi/com/sun/star/awt/UnoControlRoadmap.idl85
-rw-r--r--offapi/com/sun/star/awt/UnoControlRoadmapModel.idl169
-rw-r--r--offapi/com/sun/star/awt/UnoControlScrollBar.idl60
-rw-r--r--offapi/com/sun/star/awt/UnoControlScrollBarModel.idl201
-rwxr-xr-xoffapi/com/sun/star/awt/UnoControlSimpleAnimation.idl62
-rwxr-xr-xoffapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl58
-rw-r--r--offapi/com/sun/star/awt/UnoControlSpinButton.idl63
-rw-r--r--offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl183
-rw-r--r--offapi/com/sun/star/awt/UnoControlThrobber.idl62
-rw-r--r--offapi/com/sun/star/awt/UnoControlThrobberModel.idl56
-rw-r--r--offapi/com/sun/star/awt/UnoControlTimeField.idl73
-rw-r--r--offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl271
-rw-r--r--offapi/com/sun/star/awt/VclContainerEvent.idl66
-rw-r--r--offapi/com/sun/star/awt/VclWindowPeerAttribute.idl156
-rw-r--r--offapi/com/sun/star/awt/VisualEffect.idl63
-rw-r--r--offapi/com/sun/star/awt/WindowAttribute.idl135
-rw-r--r--offapi/com/sun/star/awt/WindowClass.idl72
-rw-r--r--offapi/com/sun/star/awt/WindowDescriptor.idl179
-rw-r--r--offapi/com/sun/star/awt/WindowEvent.idl111
-rw-r--r--offapi/com/sun/star/awt/XActionListener.idl61
-rw-r--r--offapi/com/sun/star/awt/XActivateListener.idl78
-rw-r--r--offapi/com/sun/star/awt/XAdjustmentListener.idl61
-rwxr-xr-xoffapi/com/sun/star/awt/XAnimatedImages.idl176
-rwxr-xr-xoffapi/com/sun/star/awt/XAnimation.idl63
-rw-r--r--offapi/com/sun/star/awt/XBitmap.idl73
-rw-r--r--offapi/com/sun/star/awt/XButton.idl79
-rw-r--r--offapi/com/sun/star/awt/XCallback.idl60
-rw-r--r--offapi/com/sun/star/awt/XCheckBox.idl92
-rw-r--r--offapi/com/sun/star/awt/XComboBox.idl132
-rw-r--r--offapi/com/sun/star/awt/XContainerWindowEventHandler.idl107
-rw-r--r--offapi/com/sun/star/awt/XContainerWindowProvider.idl130
-rw-r--r--offapi/com/sun/star/awt/XControl.idl146
-rw-r--r--offapi/com/sun/star/awt/XControlContainer.idl87
-rw-r--r--offapi/com/sun/star/awt/XControlModel.idl51
-rw-r--r--offapi/com/sun/star/awt/XCurrencyField.idl149
-rw-r--r--offapi/com/sun/star/awt/XDataTransferProviderAccess.idl111
-rw-r--r--offapi/com/sun/star/awt/XDateField.idl152
-rw-r--r--offapi/com/sun/star/awt/XDevice.idl127
-rw-r--r--offapi/com/sun/star/awt/XDialog.idl77
-rw-r--r--offapi/com/sun/star/awt/XDialog2.idl35
-rw-r--r--offapi/com/sun/star/awt/XDialogEventHandler.idl106
-rw-r--r--offapi/com/sun/star/awt/XDialogProvider.idl75
-rw-r--r--offapi/com/sun/star/awt/XDialogProvider2.idl138
-rw-r--r--offapi/com/sun/star/awt/XDisplayBitmap.idl54
-rw-r--r--offapi/com/sun/star/awt/XDisplayConnection.idl109
-rw-r--r--offapi/com/sun/star/awt/XDockableWindow.idl146
-rw-r--r--offapi/com/sun/star/awt/XDockableWindowListener.idl121
-rw-r--r--offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl70
-rw-r--r--offapi/com/sun/star/awt/XEventHandler.idl66
-rwxr-xr-xoffapi/com/sun/star/awt/XExtendedToolkit.idl230
-rw-r--r--offapi/com/sun/star/awt/XFileDialog.idl84
-rw-r--r--offapi/com/sun/star/awt/XFixedHyperlink.idl109
-rw-r--r--offapi/com/sun/star/awt/XFixedText.idl81
-rw-r--r--offapi/com/sun/star/awt/XFocusListener.idl74
-rw-r--r--offapi/com/sun/star/awt/XFont.idl126
-rw-r--r--offapi/com/sun/star/awt/XFont2.idl68
-rw-r--r--offapi/com/sun/star/awt/XGraphics.idl321
-rw-r--r--offapi/com/sun/star/awt/XImageButton.idl74
-rw-r--r--offapi/com/sun/star/awt/XImageConsumer.idl132
-rw-r--r--offapi/com/sun/star/awt/XImageProducer.idl91
-rw-r--r--offapi/com/sun/star/awt/XInfoPrinter.idl63
-rw-r--r--offapi/com/sun/star/awt/XItemEventBroadcaster.idl70
-rw-r--r--offapi/com/sun/star/awt/XItemList.idl286
-rw-r--r--offapi/com/sun/star/awt/XItemListListener.idl85
-rw-r--r--offapi/com/sun/star/awt/XItemListener.idl62
-rw-r--r--offapi/com/sun/star/awt/XKeyHandler.idl101
-rw-r--r--offapi/com/sun/star/awt/XKeyListener.idl67
-rw-r--r--offapi/com/sun/star/awt/XLayoutConstrains.idl73
-rw-r--r--offapi/com/sun/star/awt/XLayoutContainer.idl89
-rw-r--r--offapi/com/sun/star/awt/XLayoutFlow.idl32
-rw-r--r--offapi/com/sun/star/awt/XLayoutFlowContainer.idl27
-rw-r--r--offapi/com/sun/star/awt/XLayoutRoot.idl33
-rw-r--r--offapi/com/sun/star/awt/XLayoutUnit.idl31
-rw-r--r--offapi/com/sun/star/awt/XListBox.idl199
-rw-r--r--offapi/com/sun/star/awt/XMenu.idl142
-rw-r--r--offapi/com/sun/star/awt/XMenuBar.idl51
-rwxr-xr-xoffapi/com/sun/star/awt/XMenuBarExtended.idl69
-rw-r--r--offapi/com/sun/star/awt/XMenuExtended.idl80
-rwxr-xr-xoffapi/com/sun/star/awt/XMenuExtended2.idl112
-rw-r--r--offapi/com/sun/star/awt/XMenuListener.idl79
-rw-r--r--offapi/com/sun/star/awt/XMessageBox.idl83
-rw-r--r--offapi/com/sun/star/awt/XMessageBoxFactory.idl108
-rw-r--r--offapi/com/sun/star/awt/XMetricField.idl163
-rw-r--r--offapi/com/sun/star/awt/XMouseClickHandler.idl83
-rw-r--r--offapi/com/sun/star/awt/XMouseListener.idl88
-rw-r--r--offapi/com/sun/star/awt/XMouseMotionHandler.idl90
-rw-r--r--offapi/com/sun/star/awt/XMouseMotionListener.idl74
-rw-r--r--offapi/com/sun/star/awt/XNumericField.idl149
-rw-r--r--offapi/com/sun/star/awt/XPaintListener.idl62
-rw-r--r--offapi/com/sun/star/awt/XPatternField.idl89
-rw-r--r--offapi/com/sun/star/awt/XPointer.idl64
-rw-r--r--offapi/com/sun/star/awt/XPopupMenu.idl96
-rwxr-xr-xoffapi/com/sun/star/awt/XPopupMenuExtended.idl361
-rw-r--r--offapi/com/sun/star/awt/XPrinter.idl124
-rw-r--r--offapi/com/sun/star/awt/XPrinterPropertySet.idl109
-rw-r--r--offapi/com/sun/star/awt/XPrinterServer.idl84
-rw-r--r--offapi/com/sun/star/awt/XProgressBar.idl89
-rw-r--r--offapi/com/sun/star/awt/XProgressMonitor.idl71
-rw-r--r--offapi/com/sun/star/awt/XRadioButton.idl86
-rw-r--r--offapi/com/sun/star/awt/XRegion.idl130
-rw-r--r--offapi/com/sun/star/awt/XRequestCallback.idl64
-rw-r--r--offapi/com/sun/star/awt/XReschedule.idl60
-rw-r--r--offapi/com/sun/star/awt/XScrollBar.idl150
-rwxr-xr-xoffapi/com/sun/star/awt/XSimpleAnimation.idl59
-rw-r--r--offapi/com/sun/star/awt/XSimpleTabController.idl172
-rw-r--r--offapi/com/sun/star/awt/XSpinField.idl98
-rw-r--r--offapi/com/sun/star/awt/XSpinListener.idl79
-rw-r--r--offapi/com/sun/star/awt/XSpinValue.idl148
-rw-r--r--offapi/com/sun/star/awt/XStyleChangeListener.idl54
-rw-r--r--offapi/com/sun/star/awt/XStyleSettings.idl239
-rw-r--r--offapi/com/sun/star/awt/XStyleSettingsSupplier.idl53
-rw-r--r--offapi/com/sun/star/awt/XSystemChildFactory.idl84
-rw-r--r--offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl77
-rw-r--r--offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl87
-rw-r--r--offapi/com/sun/star/awt/XTabController.idl119
-rw-r--r--offapi/com/sun/star/awt/XTabControllerModel.idl107
-rw-r--r--offapi/com/sun/star/awt/XTabListener.idl97
-rw-r--r--offapi/com/sun/star/awt/XTextArea.idl57
-rw-r--r--offapi/com/sun/star/awt/XTextComponent.idl133
-rw-r--r--offapi/com/sun/star/awt/XTextEditField.idl57
-rw-r--r--offapi/com/sun/star/awt/XTextLayoutConstrains.idl68
-rw-r--r--offapi/com/sun/star/awt/XTextListener.idl61
-rw-r--r--offapi/com/sun/star/awt/XThrobber.idl58
-rw-r--r--offapi/com/sun/star/awt/XTimeField.idl141
-rw-r--r--offapi/com/sun/star/awt/XToggleButton.idl57
-rw-r--r--offapi/com/sun/star/awt/XToolkit.idl118
-rw-r--r--offapi/com/sun/star/awt/XTopWindow.idl93
-rw-r--r--offapi/com/sun/star/awt/XTopWindow2.idl77
-rw-r--r--offapi/com/sun/star/awt/XTopWindowListener.idl101
-rw-r--r--offapi/com/sun/star/awt/XUnitConversion.idl118
-rw-r--r--offapi/com/sun/star/awt/XUnoControlContainer.idl79
-rw-r--r--offapi/com/sun/star/awt/XUserInputInterception.idl100
-rw-r--r--offapi/com/sun/star/awt/XVclContainer.idl81
-rw-r--r--offapi/com/sun/star/awt/XVclContainerListener.idl74
-rw-r--r--offapi/com/sun/star/awt/XVclContainerPeer.idl77
-rw-r--r--offapi/com/sun/star/awt/XVclWindowPeer.idl121
-rw-r--r--offapi/com/sun/star/awt/XView.idl101
-rw-r--r--offapi/com/sun/star/awt/XWindow.idl210
-rw-r--r--offapi/com/sun/star/awt/XWindow2.idl102
-rw-r--r--offapi/com/sun/star/awt/XWindowListener.idl88
-rw-r--r--offapi/com/sun/star/awt/XWindowListener2.idl61
-rw-r--r--offapi/com/sun/star/awt/XWindowPeer.idl93
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl52
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl53
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumn.idl53
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumnEvent.idl63
-rw-r--r--offapi/com/sun/star/awt/grid/GridControlEvent.idl54
-rw-r--r--offapi/com/sun/star/awt/grid/GridDataEvent.idl78
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidDataException.idl58
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidModelException.idl57
-rw-r--r--offapi/com/sun/star/awt/grid/GridSelectionEvent.idl71
-rw-r--r--offapi/com/sun/star/awt/grid/ScrollBarMode.idl70
-rw-r--r--offapi/com/sun/star/awt/grid/SelectionEventType.idl66
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGrid.idl82
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGridModel.idl163
-rw-r--r--offapi/com/sun/star/awt/grid/XGridCell.idl56
-rw-r--r--offapi/com/sun/star/awt/grid/XGridCellRenderer.idl52
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumn.idl111
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnListener.idl73
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnModel.idl119
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControl.idl70
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControlListener.idl49
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataListener.idl75
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataModel.idl134
-rw-r--r--offapi/com/sun/star/awt/grid/XGridSelection.idl127
-rw-r--r--offapi/com/sun/star/awt/grid/XGridSelectionListener.idl63
-rw-r--r--offapi/com/sun/star/awt/grid/makefile.mk66
-rw-r--r--offapi/com/sun/star/awt/makefile.mk348
-rw-r--r--offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPage.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl55
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl55
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPage.idl52
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainer.idl109
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl57
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl53
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageModel.idl87
-rw-r--r--offapi/com/sun/star/awt/tab/makefile.mk54
-rw-r--r--offapi/com/sun/star/awt/tree/ExpandVetoException.idl58
-rw-r--r--offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl55
-rw-r--r--offapi/com/sun/star/awt/tree/MutableTreeNode.idl50
-rw-r--r--offapi/com/sun/star/awt/tree/TreeControl.idl97
-rw-r--r--offapi/com/sun/star/awt/tree/TreeControlModel.idl114
-rw-r--r--offapi/com/sun/star/awt/tree/TreeDataModelEvent.idl68
-rw-r--r--offapi/com/sun/star/awt/tree/TreeExpansionEvent.idl59
-rw-r--r--offapi/com/sun/star/awt/tree/XMutableTreeDataModel.idl85
-rw-r--r--offapi/com/sun/star/awt/tree/XMutableTreeNode.idl122
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeControl.idl295
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeDataModel.idl92
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeDataModelListener.idl95
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeEditListener.idl89
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeExpansionListener.idl92
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeNode.idl105
-rw-r--r--offapi/com/sun/star/awt/tree/makefile.mk61
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartDocumentView.idl143
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartElement.idl195
-rw-r--r--offapi/com/sun/star/chart/AreaDiagram.idl82
-rw-r--r--offapi/com/sun/star/chart/BarDiagram.idl138
-rw-r--r--offapi/com/sun/star/chart/BubbleDiagram.idl66
-rw-r--r--offapi/com/sun/star/chart/Chart3DBarProperties.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartArea.idl76
-rw-r--r--offapi/com/sun/star/chart/ChartAxis.idl340
-rw-r--r--offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl76
-rw-r--r--offapi/com/sun/star/chart/ChartAxisAssign.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartAxisLabelPosition.idl75
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarkPosition.idl67
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarks.idl70
-rw-r--r--offapi/com/sun/star/chart/ChartAxisPosition.idl73
-rw-r--r--offapi/com/sun/star/chart/ChartAxisType.idl57
-rw-r--r--offapi/com/sun/star/chart/ChartAxisXSupplier.idl90
-rw-r--r--offapi/com/sun/star/chart/ChartAxisYSupplier.idl89
-rw-r--r--offapi/com/sun/star/chart/ChartAxisZSupplier.idl88
-rw-r--r--offapi/com/sun/star/chart/ChartData.idl53
-rw-r--r--offapi/com/sun/star/chart/ChartDataArray.idl65
-rw-r--r--offapi/com/sun/star/chart/ChartDataCaption.idl93
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeEvent.idl85
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeType.idl88
-rw-r--r--offapi/com/sun/star/chart/ChartDataPoint.idl47
-rw-r--r--offapi/com/sun/star/chart/ChartDataPointProperties.idl173
-rw-r--r--offapi/com/sun/star/chart/ChartDataRow.idl63
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowProperties.idl127
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowSource.idl61
-rw-r--r--offapi/com/sun/star/chart/ChartDataValue.idl67
-rw-r--r--offapi/com/sun/star/chart/ChartDocument.idl100
-rw-r--r--offapi/com/sun/star/chart/ChartErrorCategory.idl101
-rw-r--r--offapi/com/sun/star/chart/ChartErrorIndicatorType.idl70
-rw-r--r--offapi/com/sun/star/chart/ChartGrid.idl74
-rw-r--r--offapi/com/sun/star/chart/ChartLegend.idl100
-rw-r--r--offapi/com/sun/star/chart/ChartLegendPosition.idl93
-rw-r--r--offapi/com/sun/star/chart/ChartLine.idl57
-rw-r--r--offapi/com/sun/star/chart/ChartPieSegmentProperties.idl75
-rw-r--r--offapi/com/sun/star/chart/ChartRegressionCurveType.idl98
-rw-r--r--offapi/com/sun/star/chart/ChartSeriesAddress.idl69
-rw-r--r--offapi/com/sun/star/chart/ChartSolidType.idl72
-rw-r--r--offapi/com/sun/star/chart/ChartStatistics.idl183
-rw-r--r--offapi/com/sun/star/chart/ChartSymbolType.idl139
-rw-r--r--offapi/com/sun/star/chart/ChartTableAddressSupplier.idl80
-rw-r--r--offapi/com/sun/star/chart/ChartTitle.idl98
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl87
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl88
-rw-r--r--offapi/com/sun/star/chart/DataLabelPlacement.idl60
-rw-r--r--offapi/com/sun/star/chart/Diagram.idl156
-rw-r--r--offapi/com/sun/star/chart/Dim3DDiagram.idl84
-rw-r--r--offapi/com/sun/star/chart/DonutDiagram.idl54
-rwxr-xr-xoffapi/com/sun/star/chart/ErrorBarStyle.idl98
-rw-r--r--offapi/com/sun/star/chart/FilledNetDiagram.idl69
-rw-r--r--offapi/com/sun/star/chart/LineDiagram.idl161
-rw-r--r--offapi/com/sun/star/chart/MissingValueTreatment.idl50
-rw-r--r--offapi/com/sun/star/chart/NetDiagram.idl65
-rw-r--r--offapi/com/sun/star/chart/PieDiagram.idl57
-rw-r--r--offapi/com/sun/star/chart/StackableDiagram.idl68
-rw-r--r--offapi/com/sun/star/chart/StockDiagram.idl151
-rw-r--r--offapi/com/sun/star/chart/TimeIncrement.idl67
-rw-r--r--offapi/com/sun/star/chart/TimeInterval.idl57
-rw-r--r--offapi/com/sun/star/chart/TimeUnit.idl50
-rw-r--r--offapi/com/sun/star/chart/X3DDefaultSetter.idl67
-rw-r--r--offapi/com/sun/star/chart/X3DDisplay.idl84
-rwxr-xr-xoffapi/com/sun/star/chart/XAxis.idl60
-rwxr-xr-xoffapi/com/sun/star/chart/XAxisSupplier.idl61
-rw-r--r--offapi/com/sun/star/chart/XAxisXSupplier.idl105
-rw-r--r--offapi/com/sun/star/chart/XAxisYSupplier.idl105
-rw-r--r--offapi/com/sun/star/chart/XAxisZSupplier.idl102
-rw-r--r--offapi/com/sun/star/chart/XChartData.idl116
-rw-r--r--offapi/com/sun/star/chart/XChartDataArray.idl114
-rw-r--r--offapi/com/sun/star/chart/XChartDataChangeEventListener.idl71
-rw-r--r--offapi/com/sun/star/chart/XChartDocument.idl187
-rwxr-xr-xoffapi/com/sun/star/chart/XComplexDescriptionAccess.idl98
-rwxr-xr-xoffapi/com/sun/star/chart/XDateCategories.idl70
-rw-r--r--offapi/com/sun/star/chart/XDiagram.idl98
-rw-r--r--offapi/com/sun/star/chart/XDiagramPositioning.idl107
-rw-r--r--offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl24
-rw-r--r--offapi/com/sun/star/chart/XStatisticDisplay.idl99
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisXSupplier.idl71
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisYSupplier.idl68
-rw-r--r--offapi/com/sun/star/chart/XYDiagram.idl77
-rw-r--r--offapi/com/sun/star/chart/makefile.mk126
-rw-r--r--offapi/com/sun/star/chart2/Axis.idl142
-rw-r--r--offapi/com/sun/star/chart2/AxisOrientation.idl51
-rw-r--r--offapi/com/sun/star/chart2/AxisType.idl63
-rw-r--r--offapi/com/sun/star/chart2/CandleStickChartType.idl119
-rw-r--r--offapi/com/sun/star/chart2/ChartDocument.idl92
-rw-r--r--offapi/com/sun/star/chart2/ChartDocumentWrapper.idl67
-rw-r--r--offapi/com/sun/star/chart2/ChartType.idl63
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeManager.idl56
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeTemplate.idl25
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystem.idl56
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemType.idl36
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl17
-rw-r--r--offapi/com/sun/star/chart2/CurveStyle.idl69
-rw-r--r--offapi/com/sun/star/chart2/CustomLegendEntry.idl50
-rw-r--r--offapi/com/sun/star/chart2/DataPoint.idl74
-rw-r--r--offapi/com/sun/star/chart2/DataPointGeometry3D.idl73
-rw-r--r--offapi/com/sun/star/chart2/DataPointLabel.idl78
-rw-r--r--offapi/com/sun/star/chart2/DataPointProperties.idl328
-rw-r--r--offapi/com/sun/star/chart2/DataSeries.idl198
-rw-r--r--offapi/com/sun/star/chart2/Diagram.idl135
-rw-r--r--offapi/com/sun/star/chart2/ErrorBar.idl89
-rw-r--r--offapi/com/sun/star/chart2/ExponentialScaling.idl55
-rw-r--r--offapi/com/sun/star/chart2/FillBitmap.idl119
-rw-r--r--offapi/com/sun/star/chart2/FormattedString.idl44
-rw-r--r--offapi/com/sun/star/chart2/GridProperties.idl63
-rw-r--r--offapi/com/sun/star/chart2/IncrementData.idl65
-rw-r--r--offapi/com/sun/star/chart2/InterpretedData.idl62
-rw-r--r--offapi/com/sun/star/chart2/Legend.idl101
-rw-r--r--offapi/com/sun/star/chart2/LegendExpansion.idl75
-rw-r--r--offapi/com/sun/star/chart2/LegendPosition.idl71
-rw-r--r--offapi/com/sun/star/chart2/LegendSymbolStyle.idl107
-rw-r--r--offapi/com/sun/star/chart2/LightSource.idl68
-rw-r--r--offapi/com/sun/star/chart2/LinearScaling.idl56
-rw-r--r--offapi/com/sun/star/chart2/LogarithmicScaling.idl54
-rw-r--r--offapi/com/sun/star/chart2/LogicTargetModel.idl41
-rw-r--r--offapi/com/sun/star/chart2/MutableDataSequence.idl62
-rw-r--r--offapi/com/sun/star/chart2/PieChartOffsetMode.idl60
-rw-r--r--offapi/com/sun/star/chart2/PowerScaling.idl55
-rw-r--r--offapi/com/sun/star/chart2/PropertyPool.idl68
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurve.idl69
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurveEquation.idl65
-rw-r--r--offapi/com/sun/star/chart2/RelativePosition.idl88
-rw-r--r--offapi/com/sun/star/chart2/RelativeSize.idl84
-rw-r--r--offapi/com/sun/star/chart2/ScaleData.idl93
-rw-r--r--offapi/com/sun/star/chart2/Scaling.idl53
-rw-r--r--offapi/com/sun/star/chart2/StackingDirection.idl52
-rw-r--r--offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl64
-rw-r--r--offapi/com/sun/star/chart2/SubIncrement.idl27
-rw-r--r--offapi/com/sun/star/chart2/Symbol.idl122
-rw-r--r--offapi/com/sun/star/chart2/SymbolStyle.idl73
-rw-r--r--offapi/com/sun/star/chart2/TextAnchor.idl51
-rw-r--r--offapi/com/sun/star/chart2/TickmarkStyle.idl61
-rw-r--r--offapi/com/sun/star/chart2/Title.idl94
-rw-r--r--offapi/com/sun/star/chart2/TransparencyStyle.idl62
-rw-r--r--offapi/com/sun/star/chart2/ViewLegendEntry.idl58
-rwxr-xr-xoffapi/com/sun/star/chart2/XAnyDescriptionAccess.idl103
-rw-r--r--offapi/com/sun/star/chart2/XAxis.idl82
-rw-r--r--offapi/com/sun/star/chart2/XChartDocument.idl141
-rw-r--r--offapi/com/sun/star/chart2/XChartShape.idl96
-rw-r--r--offapi/com/sun/star/chart2/XChartShapeContainer.idl36
-rw-r--r--offapi/com/sun/star/chart2/XChartType.idl75
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeContainer.idl82
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeManager.idl27
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeTemplate.idl240
-rw-r--r--offapi/com/sun/star/chart2/XColorScheme.idl67
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystem.idl99
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl80
-rw-r--r--offapi/com/sun/star/chart2/XDataInterpreter.idl107
-rw-r--r--offapi/com/sun/star/chart2/XDataSeries.idl88
-rw-r--r--offapi/com/sun/star/chart2/XDataSeriesContainer.idl82
-rw-r--r--offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl64
-rw-r--r--offapi/com/sun/star/chart2/XDiagram.idl112
-rw-r--r--offapi/com/sun/star/chart2/XDiagramProvider.idl65
-rw-r--r--offapi/com/sun/star/chart2/XFastPropertyState.idl146
-rw-r--r--offapi/com/sun/star/chart2/XFormattedString.idl35
-rw-r--r--offapi/com/sun/star/chart2/XInternalDataProvider.idl95
-rw-r--r--offapi/com/sun/star/chart2/XLabeled.idl93
-rw-r--r--offapi/com/sun/star/chart2/XLegend.idl59
-rw-r--r--offapi/com/sun/star/chart2/XLegendEntry.idl30
-rw-r--r--offapi/com/sun/star/chart2/XLegendSymbolProvider.idl35
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurve.idl66
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl152
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveContainer.idl81
-rw-r--r--offapi/com/sun/star/chart2/XScaling.idl32
-rw-r--r--offapi/com/sun/star/chart2/XStyleSupplier.idl75
-rw-r--r--offapi/com/sun/star/chart2/XTarget.idl33
-rw-r--r--offapi/com/sun/star/chart2/XTitle.idl61
-rw-r--r--offapi/com/sun/star/chart2/XTitled.idl64
-rw-r--r--offapi/com/sun/star/chart2/XTransformation.idl101
-rw-r--r--offapi/com/sun/star/chart2/data/DataFilter.idl68
-rw-r--r--offapi/com/sun/star/chart2/data/DataProvider.idl69
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequence.idl157
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequenceRole.idl108
-rw-r--r--offapi/com/sun/star/chart2/data/DataSink.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/DataSource.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/HighlightedRange.idl74
-rw-r--r--offapi/com/sun/star/chart2/data/LabelOrigin.idl100
-rw-r--r--offapi/com/sun/star/chart2/data/LabeledDataSequence.idl83
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlightListener.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlighter.idl58
-rw-r--r--offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl161
-rw-r--r--offapi/com/sun/star/chart2/data/XDataProvider.idl164
-rw-r--r--offapi/com/sun/star/chart2/data/XDataReceiver.idl122
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSequence.idl138
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSink.idl78
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSource.idl83
-rw-r--r--offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl224
-rw-r--r--offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl80
-rw-r--r--offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeHighlighter.idl80
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl72
-rw-r--r--offapi/com/sun/star/chart2/data/XTextualDataSequence.idl59
-rw-r--r--offapi/com/sun/star/chart2/data/makefile.mk60
-rw-r--r--offapi/com/sun/star/chart2/makefile.mk104
-rw-r--r--offapi/com/sun/star/configuration/AccessRootElement.idl176
-rw-r--r--offapi/com/sun/star/configuration/AdministrationProvider.idl191
-rw-r--r--offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl51
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationAccess.idl265
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationProvider.idl251
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationRegistry.idl108
-rw-r--r--offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl144
-rw-r--r--offapi/com/sun/star/configuration/CorruptedConfigurationException.idl61
-rw-r--r--offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl55
-rw-r--r--offapi/com/sun/star/configuration/DefaultProvider.idl100
-rw-r--r--offapi/com/sun/star/configuration/GroupAccess.idl143
-rw-r--r--offapi/com/sun/star/configuration/GroupElement.idl89
-rw-r--r--offapi/com/sun/star/configuration/GroupUpdate.idl93
-rw-r--r--offapi/com/sun/star/configuration/HierarchyAccess.idl187
-rw-r--r--offapi/com/sun/star/configuration/HierarchyElement.idl132
-rw-r--r--offapi/com/sun/star/configuration/InstallationIncompleteException.idl51
-rw-r--r--offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl53
-rw-r--r--offapi/com/sun/star/configuration/MissingBootstrapFileException.idl53
-rw-r--r--offapi/com/sun/star/configuration/PropertyHierarchy.idl104
-rw-r--r--offapi/com/sun/star/configuration/SetAccess.idl105
-rw-r--r--offapi/com/sun/star/configuration/SetElement.idl186
-rw-r--r--offapi/com/sun/star/configuration/SetUpdate.idl105
-rw-r--r--offapi/com/sun/star/configuration/SimpleSetAccess.idl122
-rw-r--r--offapi/com/sun/star/configuration/SimpleSetUpdate.idl184
-rw-r--r--offapi/com/sun/star/configuration/Update.idl45
-rw-r--r--offapi/com/sun/star/configuration/UpdateRootElement.idl110
-rw-r--r--offapi/com/sun/star/configuration/XTemplateContainer.idl80
-rw-r--r--offapi/com/sun/star/configuration/XTemplateInstance.idl70
-rw-r--r--offapi/com/sun/star/configuration/XUpdate.idl57
-rw-r--r--offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl50
-rw-r--r--offapi/com/sun/star/configuration/backend/Backend.idl100
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendAccessException.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendAdapter.idl94
-rw-r--r--offapi/com/sun/star/configuration/backend/BackendSetupException.idl59
-rw-r--r--offapi/com/sun/star/configuration/backend/CannotConnectException.idl59
-rw-r--r--offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl58
-rw-r--r--offapi/com/sun/star/configuration/backend/ConnectionLostException.idl54
-rw-r--r--offapi/com/sun/star/configuration/backend/CopyImporter.idl89
-rw-r--r--offapi/com/sun/star/configuration/backend/DataImporter.idl127
-rw-r--r--offapi/com/sun/star/configuration/backend/DefaultBackend.idl64
-rw-r--r--offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl85
-rw-r--r--offapi/com/sun/star/configuration/backend/Importer.idl87
-rw-r--r--offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/InteractionHandler.idl102
-rw-r--r--offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl51
-rw-r--r--offapi/com/sun/star/configuration/backend/Layer.idl117
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerDescriber.idl41
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerFilter.idl94
-rw-r--r--offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl101
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl61
-rw-r--r--offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalDataImporter.idl111
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl92
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl61
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl61
-rw-r--r--offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/MalformedDataException.idl91
-rw-r--r--offapi/com/sun/star/configuration/backend/MergeImporter.idl77
-rw-r--r--offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl90
-rw-r--r--offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl73
-rw-r--r--offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl76
-rw-r--r--offapi/com/sun/star/configuration/backend/NodeAttribute.idl101
-rw-r--r--offapi/com/sun/star/configuration/backend/OfflineBackend.idl78
-rw-r--r--offapi/com/sun/star/configuration/backend/OnlineBackend.idl65
-rw-r--r--offapi/com/sun/star/configuration/backend/PlatformBackend.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/PropertyInfo.idl69
-rw-r--r--offapi/com/sun/star/configuration/backend/Schema.idl87
-rw-r--r--offapi/com/sun/star/configuration/backend/SchemaAttribute.idl80
-rw-r--r--offapi/com/sun/star/configuration/backend/SchemaSupplier.idl60
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleBackend.idl101
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl65
-rw-r--r--offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl73
-rw-r--r--offapi/com/sun/star/configuration/backend/StratumCreationException.idl62
-rw-r--r--offapi/com/sun/star/configuration/backend/SystemIntegration.idl72
-rw-r--r--offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl67
-rw-r--r--offapi/com/sun/star/configuration/backend/UpdatableLayer.idl127
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackend.idl206
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl65
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl80
-rw-r--r--offapi/com/sun/star/configuration/backend/XBackendEntities.idl142
-rw-r--r--offapi/com/sun/star/configuration/backend/XCompositeLayer.idl118
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayer.idl91
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl95
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerHandler.idl570
-rw-r--r--offapi/com/sun/star/configuration/backend/XLayerImporter.idl163
-rw-r--r--offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl347
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchema.idl148
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchemaHandler.idl538
-rw-r--r--offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl89
-rw-r--r--offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl151
-rw-r--r--offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl92
-rw-r--r--offapi/com/sun/star/configuration/backend/XUpdateHandler.idl673
-rw-r--r--offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl97
-rw-r--r--offapi/com/sun/star/configuration/backend/makefile.mk103
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/LayerParser.idl98
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl93
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl93
-rw-r--r--offapi/com/sun/star/configuration/backend/xml/makefile.mk43
-rw-r--r--offapi/com/sun/star/configuration/bootstrap/BootstrapContext.idl76
-rw-r--r--offapi/com/sun/star/configuration/bootstrap/makefile.mk41
-rw-r--r--offapi/com/sun/star/configuration/makefile.mk74
-rw-r--r--offapi/com/sun/star/datatransfer/DataFlavor.idl64
-rw-r--r--offapi/com/sun/star/datatransfer/DataFormatTranslator.idl78
-rw-r--r--offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl86
-rw-r--r--offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl54
-rw-r--r--offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentType.idl115
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl82
-rw-r--r--offapi/com/sun/star/datatransfer/XSystemTransferable.idl72
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferDataAccess.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferable.idl110
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableEx.idl71
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSource.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSupplier.idl77
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl100
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl62
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl75
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl65
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl73
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl60
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/makefile.mk59
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl89
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl72
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl73
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl69
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl97
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl106
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl56
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl102
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl94
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl97
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl100
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl90
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSource.idl139
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl107
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl130
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl91
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl116
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/makefile.mk70
-rw-r--r--offapi/com/sun/star/datatransfer/makefile.mk59
-rw-r--r--offapi/com/sun/star/deployment/DependencyException.idl71
-rw-r--r--offapi/com/sun/star/deployment/DeploymentException.idl49
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl49
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl50
-rw-r--r--offapi/com/sun/star/deployment/InstallException.idl57
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl62
-rw-r--r--offapi/com/sun/star/deployment/LicenseException.idl61
-rw-r--r--offapi/com/sun/star/deployment/PackageInformationProvider.idl40
-rw-r--r--offapi/com/sun/star/deployment/PackageRegistryBackend.idl70
-rw-r--r--offapi/com/sun/star/deployment/PlatformException.idl50
-rw-r--r--offapi/com/sun/star/deployment/Prerequisites.idl45
-rw-r--r--offapi/com/sun/star/deployment/UpdateInformationEntry.idl52
-rw-r--r--offapi/com/sun/star/deployment/UpdateInformationProvider.idl40
-rw-r--r--offapi/com/sun/star/deployment/VersionException.idl65
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl363
-rwxr-xr-xoffapi/com/sun/star/deployment/XPackage.idl366
-rw-r--r--offapi/com/sun/star/deployment/XPackageInformationProvider.idl70
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl314
-rw-r--r--offapi/com/sun/star/deployment/XPackageManagerFactory.idl100
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl129
-rw-r--r--offapi/com/sun/star/deployment/XPackageTypeInfo.idl94
-rw-r--r--offapi/com/sun/star/deployment/XUpdateInformationProvider.idl109
-rw-r--r--offapi/com/sun/star/deployment/makefile.mk64
-rw-r--r--offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl43
-rw-r--r--offapi/com/sun/star/deployment/test/makefile.mk41
-rw-r--r--offapi/com/sun/star/deployment/thePackageManagerFactory.idl53
-rw-r--r--offapi/com/sun/star/deployment/ui/LicenseDialog.idl61
-rw-r--r--offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl74
-rw-r--r--offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl54
-rw-r--r--offapi/com/sun/star/deployment/ui/makefile.mk43
-rw-r--r--offapi/com/sun/star/document/AmbigousFilterRequest.idl75
-rw-r--r--offapi/com/sun/star/document/BrokenPackageRequest.idl56
-rw-r--r--offapi/com/sun/star/document/ChangedByOthersRequest.idl61
-rw-r--r--offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl57
-rw-r--r--offapi/com/sun/star/document/DocumentEvent.idl85
-rw-r--r--offapi/com/sun/star/document/DocumentInfo.idl272
-rwxr-xr-xoffapi/com/sun/star/document/DocumentProperties.idl64
-rw-r--r--offapi/com/sun/star/document/DocumentRevisionListPersistence.idl51
-rwxr-xr-xoffapi/com/sun/star/document/EmptyUndoStackException.idl51
-rw-r--r--offapi/com/sun/star/document/EventDescriptor.idl68
-rw-r--r--offapi/com/sun/star/document/EventObject.idl63
-rw-r--r--offapi/com/sun/star/document/Events.idl105
-rw-r--r--offapi/com/sun/star/document/ExportFilter.idl136
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetection.idl109
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl154
-rw-r--r--offapi/com/sun/star/document/FilterAdapter.idl53
-rw-r--r--offapi/com/sun/star/document/FilterFactory.idl251
-rw-r--r--offapi/com/sun/star/document/FilterOptionsRequest.idl68
-rw-r--r--offapi/com/sun/star/document/HeaderFooterSettings.idl73
-rw-r--r--offapi/com/sun/star/document/ImportFilter.idl136
-rw-r--r--offapi/com/sun/star/document/LinkTarget.idl69
-rw-r--r--offapi/com/sun/star/document/LinkTargets.idl58
-rw-r--r--offapi/com/sun/star/document/LinkUpdateModes.idl61
-rw-r--r--offapi/com/sun/star/document/LockFileIgnoreRequest.idl61
-rw-r--r--offapi/com/sun/star/document/LockedDocumentRequest.idl68
-rw-r--r--offapi/com/sun/star/document/LockedOnSavingRequest.idl69
-rw-r--r--offapi/com/sun/star/document/MacroExecMode.idl132
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl640
-rw-r--r--offapi/com/sun/star/document/NoSuchFilterRequest.idl69
-rw-r--r--offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl48
-rw-r--r--offapi/com/sun/star/document/OfficeDocument.idl200
-rw-r--r--offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl64
-rw-r--r--offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl72
-rw-r--r--offapi/com/sun/star/document/PDFDialog.idl64
-rw-r--r--offapi/com/sun/star/document/PrinterIndependentLayout.idl66
-rw-r--r--offapi/com/sun/star/document/RedlineDisplayType.idl60
-rw-r--r--offapi/com/sun/star/document/Settings.idl291
-rw-r--r--offapi/com/sun/star/document/StandaloneDocumentInfo.idl79
-rw-r--r--offapi/com/sun/star/document/TypeDetection.idl198
-rwxr-xr-xoffapi/com/sun/star/document/UndoContextNotClosedException.idl51
-rwxr-xr-xoffapi/com/sun/star/document/UndoFailedException.idl56
-rwxr-xr-xoffapi/com/sun/star/document/UndoManagerEvent.idl63
-rw-r--r--offapi/com/sun/star/document/UpdateDocMode.idl75
-rw-r--r--offapi/com/sun/star/document/XActionLockable.idl88
-rw-r--r--offapi/com/sun/star/document/XBinaryStreamResolver.idl84
-rwxr-xr-xoffapi/com/sun/star/document/XCodeNameQuery.idl56
-rw-r--r--offapi/com/sun/star/document/XDocumentEventBroadcaster.idl125
-rw-r--r--offapi/com/sun/star/document/XDocumentEventListener.idl65
-rw-r--r--offapi/com/sun/star/document/XDocumentInfo.idl147
-rw-r--r--offapi/com/sun/star/document/XDocumentInfoSupplier.idl74
-rw-r--r--offapi/com/sun/star/document/XDocumentInsertable.idl72
-rw-r--r--offapi/com/sun/star/document/XDocumentLanguages.idl64
-rwxr-xr-xoffapi/com/sun/star/document/XDocumentProperties.idl460
-rw-r--r--offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl70
-rw-r--r--offapi/com/sun/star/document/XDocumentRecovery.idl127
-rw-r--r--offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl90
-rw-r--r--offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl87
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectResolver.idl54
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl60
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl80
-rw-r--r--offapi/com/sun/star/document/XEmbeddedScripts.idl72
-rw-r--r--offapi/com/sun/star/document/XEventBroadcaster.idl72
-rw-r--r--offapi/com/sun/star/document/XEventListener.idl66
-rw-r--r--offapi/com/sun/star/document/XEventsSupplier.idl57
-rw-r--r--offapi/com/sun/star/document/XExporter.idl78
-rw-r--r--offapi/com/sun/star/document/XExtendedFilterDetection.idl82
-rw-r--r--offapi/com/sun/star/document/XFilter.idl88
-rw-r--r--offapi/com/sun/star/document/XFilterAdapter.idl67
-rw-r--r--offapi/com/sun/star/document/XGraphicObjectResolver.idl54
-rw-r--r--offapi/com/sun/star/document/XImporter.idl78
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterOptions.idl69
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterSelect.idl80
-rw-r--r--offapi/com/sun/star/document/XLinkTargetSupplier.idl65
-rw-r--r--offapi/com/sun/star/document/XMLBasicExporter.idl84
-rw-r--r--offapi/com/sun/star/document/XMLBasicImporter.idl75
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicExporter.idl84
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicImporter.idl75
-rw-r--r--offapi/com/sun/star/document/XMimeTypeInfo.idl63
-rw-r--r--offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl105
-rw-r--r--offapi/com/sun/star/document/XRedlinesSupplier.idl60
-rw-r--r--offapi/com/sun/star/document/XScriptInvocationContext.idl73
-rw-r--r--offapi/com/sun/star/document/XStandaloneDocumentInfo.idl105
-rw-r--r--offapi/com/sun/star/document/XStorageBasedDocument.idl123
-rw-r--r--offapi/com/sun/star/document/XStorageChangeListener.idl70
-rw-r--r--offapi/com/sun/star/document/XTypeDetection.idl124
-rwxr-xr-xoffapi/com/sun/star/document/XUndoAction.idl76
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManager.idl337
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerListener.idl144
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerSupplier.idl55
-rw-r--r--offapi/com/sun/star/document/XViewDataSupplier.idl76
-rw-r--r--offapi/com/sun/star/document/makefile.mk131
-rw-r--r--offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl142
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphControl.idl83
-rw-r--r--offapi/com/sun/star/drawing/AccessibleGraphicShape.idl100
-rw-r--r--offapi/com/sun/star/drawing/AccessibleImageBullet.idl111
-rw-r--r--offapi/com/sun/star/drawing/AccessibleOLEShape.idl87
-rw-r--r--offapi/com/sun/star/drawing/AccessibleShape.idl206
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideView.idl65
-rw-r--r--offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl64
-rw-r--r--offapi/com/sun/star/drawing/Alignment.idl104
-rw-r--r--offapi/com/sun/star/drawing/AppletShape.idl98
-rw-r--r--offapi/com/sun/star/drawing/Arrangement.idl80
-rw-r--r--offapi/com/sun/star/drawing/Background.idl54
-rw-r--r--offapi/com/sun/star/drawing/BezierPoint.idl77
-rw-r--r--offapi/com/sun/star/drawing/BitmapMode.idl66
-rw-r--r--offapi/com/sun/star/drawing/BitmapTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/BoundVolume.idl60
-rw-r--r--offapi/com/sun/star/drawing/CameraGeometry.idl64
-rw-r--r--offapi/com/sun/star/drawing/CaptionEscapeDirection.idl67
-rw-r--r--offapi/com/sun/star/drawing/CaptionShape.idl158
-rw-r--r--offapi/com/sun/star/drawing/CaptionType.idl66
-rw-r--r--offapi/com/sun/star/drawing/CircleKind.idl77
-rw-r--r--offapi/com/sun/star/drawing/ClosedBezierShape.idl89
-rw-r--r--offapi/com/sun/star/drawing/ColorMode.idl79
-rw-r--r--offapi/com/sun/star/drawing/ConnectionType.idl92
-rw-r--r--offapi/com/sun/star/drawing/ConnectorProperties.idl82
-rw-r--r--offapi/com/sun/star/drawing/ConnectorShape.idl152
-rw-r--r--offapi/com/sun/star/drawing/ConnectorType.idl78
-rw-r--r--offapi/com/sun/star/drawing/ControlShape.idl61
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequence.idl45
-rw-r--r--offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl48
-rw-r--r--offapi/com/sun/star/drawing/CustomShape.idl116
-rw-r--r--offapi/com/sun/star/drawing/CustomShapeEngine.idl64
-rw-r--r--offapi/com/sun/star/drawing/DashStyle.idl79
-rw-r--r--offapi/com/sun/star/drawing/DashTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/Defaults.idl80
-rw-r--r--offapi/com/sun/star/drawing/Direction3D.idl64
-rw-r--r--offapi/com/sun/star/drawing/DocumentSettings.idl109
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequence.idl44
-rw-r--r--offapi/com/sun/star/drawing/DoubleSequenceSequence.idl48
-rw-r--r--offapi/com/sun/star/drawing/DrawPage.idl88
-rw-r--r--offapi/com/sun/star/drawing/DrawPages.idl80
-rw-r--r--offapi/com/sun/star/drawing/DrawViewMode.idl72
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocument.idl54
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl203
-rw-r--r--offapi/com/sun/star/drawing/DrawingDocumentFactory.idl54
-rw-r--r--offapi/com/sun/star/drawing/EllipseShape.idl105
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl58
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl176
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl119
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl64
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl121
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl54
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl56
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl107
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl119
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl54
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl115
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl57
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl63
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl57
-rw-r--r--offapi/com/sun/star/drawing/EscapeDirection.idl76
-rw-r--r--offapi/com/sun/star/drawing/FillProperties.idl274
-rw-r--r--offapi/com/sun/star/drawing/FillStyle.idl89
-rw-r--r--offapi/com/sun/star/drawing/FlagSequence.idl48
-rw-r--r--offapi/com/sun/star/drawing/FlagSequenceSequence.idl49
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawPage.idl238
-rw-r--r--offapi/com/sun/star/drawing/GenericDrawingDocument.idl240
-rw-r--r--offapi/com/sun/star/drawing/GluePoint.idl91
-rw-r--r--offapi/com/sun/star/drawing/GluePoint2.idl89
-rw-r--r--offapi/com/sun/star/drawing/GradientTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/GraphicExportFilter.idl104
-rw-r--r--offapi/com/sun/star/drawing/GraphicFilterRequest.idl56
-rw-r--r--offapi/com/sun/star/drawing/GraphicObjectShape.idl160
-rw-r--r--offapi/com/sun/star/drawing/GroupShape.idl76
-rw-r--r--offapi/com/sun/star/drawing/Hatch.idl86
-rw-r--r--offapi/com/sun/star/drawing/HatchStyle.idl70
-rw-r--r--offapi/com/sun/star/drawing/HatchTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix.idl74
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix3.idl64
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrix4.idl68
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine.idl70
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine3.idl59
-rw-r--r--offapi/com/sun/star/drawing/HomogenMatrixLine4.idl63
-rw-r--r--offapi/com/sun/star/drawing/HorizontalDimensioning.idl79
-rw-r--r--offapi/com/sun/star/drawing/Layer.idl106
-rw-r--r--offapi/com/sun/star/drawing/LayerManager.idl80
-rw-r--r--offapi/com/sun/star/drawing/LayerType.idl77
-rw-r--r--offapi/com/sun/star/drawing/LineDash.idl94
-rw-r--r--offapi/com/sun/star/drawing/LineEndType.idl92
-rw-r--r--offapi/com/sun/star/drawing/LineJoint.idl74
-rw-r--r--offapi/com/sun/star/drawing/LineProperties.idl161
-rw-r--r--offapi/com/sun/star/drawing/LineShape.idl82
-rw-r--r--offapi/com/sun/star/drawing/LineStyle.idl74
-rw-r--r--offapi/com/sun/star/drawing/MarkerTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/MasterPage.idl77
-rw-r--r--offapi/com/sun/star/drawing/MasterPages.idl60
-rw-r--r--offapi/com/sun/star/drawing/MeasureKind.idl69
-rw-r--r--offapi/com/sun/star/drawing/MeasureProperties.idl154
-rw-r--r--offapi/com/sun/star/drawing/MeasureShape.idl94
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextHorzPos.idl75
-rw-r--r--offapi/com/sun/star/drawing/MeasureTextVertPos.idl80
-rw-r--r--offapi/com/sun/star/drawing/MirrorAxis.idl63
-rw-r--r--offapi/com/sun/star/drawing/NormalsKind.idl73
-rw-r--r--offapi/com/sun/star/drawing/OLE2Shape.idl89
-rw-r--r--offapi/com/sun/star/drawing/OpenBezierShape.idl84
-rw-r--r--offapi/com/sun/star/drawing/PageShape.idl67
-rw-r--r--offapi/com/sun/star/drawing/PluginShape.idl82
-rw-r--r--offapi/com/sun/star/drawing/PointSequence.idl48
-rw-r--r--offapi/com/sun/star/drawing/PointSequenceSequence.idl48
-rw-r--r--offapi/com/sun/star/drawing/PolyLineShape.idl84
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl66
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl75
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl90
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl74
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape.idl92
-rw-r--r--offapi/com/sun/star/drawing/PolyPolygonShape3D.idl68
-rw-r--r--offapi/com/sun/star/drawing/PolygonFlags.idl81
-rw-r--r--offapi/com/sun/star/drawing/PolygonKind.idl112
-rw-r--r--offapi/com/sun/star/drawing/Position3D.idl70
-rw-r--r--offapi/com/sun/star/drawing/ProjectionMode.idl66
-rw-r--r--offapi/com/sun/star/drawing/RectanglePoint.idl121
-rw-r--r--offapi/com/sun/star/drawing/RectangleShape.idl90
-rw-r--r--offapi/com/sun/star/drawing/RotationDescriptor.idl77
-rw-r--r--offapi/com/sun/star/drawing/ShadeMode.idl80
-rw-r--r--offapi/com/sun/star/drawing/ShadowProperties.idl86
-rw-r--r--offapi/com/sun/star/drawing/Shape.idl210
-rw-r--r--offapi/com/sun/star/drawing/ShapeCollection.idl67
-rw-r--r--offapi/com/sun/star/drawing/Shapes.idl56
-rw-r--r--offapi/com/sun/star/drawing/SlideRenderer.idl48
-rw-r--r--offapi/com/sun/star/drawing/SlideSorter.idl160
-rw-r--r--offapi/com/sun/star/drawing/SnapObjectType.idl67
-rw-r--r--offapi/com/sun/star/drawing/Text.idl65
-rw-r--r--offapi/com/sun/star/drawing/TextAdjust.idl90
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationDirection.idl73
-rw-r--r--offapi/com/sun/star/drawing/TextAnimationKind.idl84
-rw-r--r--offapi/com/sun/star/drawing/TextFitToSizeType.idl74
-rw-r--r--offapi/com/sun/star/drawing/TextHorizontalAdjust.idl73
-rw-r--r--offapi/com/sun/star/drawing/TextProperties.idl334
-rw-r--r--offapi/com/sun/star/drawing/TextShape.idl87
-rw-r--r--offapi/com/sun/star/drawing/TextVerticalAdjust.idl76
-rw-r--r--offapi/com/sun/star/drawing/TextureKind.idl67
-rw-r--r--offapi/com/sun/star/drawing/TextureKind2.idl66
-rw-r--r--offapi/com/sun/star/drawing/TextureMode.idl71
-rw-r--r--offapi/com/sun/star/drawing/TextureProjectionMode.idl76
-rw-r--r--offapi/com/sun/star/drawing/TransparencyGradientTable.idl64
-rw-r--r--offapi/com/sun/star/drawing/VerticalDimensioning.idl79
-rw-r--r--offapi/com/sun/star/drawing/XConnectableShape.idl72
-rw-r--r--offapi/com/sun/star/drawing/XConnectorShape.idl92
-rw-r--r--offapi/com/sun/star/drawing/XControlShape.idl83
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeEngine.idl87
-rw-r--r--offapi/com/sun/star/drawing/XCustomShapeHandle.idl68
-rw-r--r--offapi/com/sun/star/drawing/XDrawPage.idl52
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageDuplicator.idl73
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageExpander.idl74
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSummarizer.idl72
-rw-r--r--offapi/com/sun/star/drawing/XDrawPageSupplier.idl71
-rw-r--r--offapi/com/sun/star/drawing/XDrawPages.idl90
-rw-r--r--offapi/com/sun/star/drawing/XDrawPagesSupplier.idl62
-rw-r--r--offapi/com/sun/star/drawing/XDrawSubController.idl74
-rw-r--r--offapi/com/sun/star/drawing/XDrawView.idl76
-rw-r--r--offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl295
-rw-r--r--offapi/com/sun/star/drawing/XGluePointsSupplier.idl58
-rw-r--r--offapi/com/sun/star/drawing/XLayer.idl52
-rw-r--r--offapi/com/sun/star/drawing/XLayerManager.idl117
-rw-r--r--offapi/com/sun/star/drawing/XLayerSupplier.idl66
-rw-r--r--offapi/com/sun/star/drawing/XMasterPageTarget.idl74
-rw-r--r--offapi/com/sun/star/drawing/XMasterPagesSupplier.idl64
-rw-r--r--offapi/com/sun/star/drawing/XPresenterHelper.idl179
-rw-r--r--offapi/com/sun/star/drawing/XSelectionFunction.idl86
-rw-r--r--offapi/com/sun/star/drawing/XShape.idl102
-rw-r--r--offapi/com/sun/star/drawing/XShapeAligner.idl72
-rw-r--r--offapi/com/sun/star/drawing/XShapeArranger.idl121
-rw-r--r--offapi/com/sun/star/drawing/XShapeBinder.idl89
-rw-r--r--offapi/com/sun/star/drawing/XShapeCombiner.idl92
-rw-r--r--offapi/com/sun/star/drawing/XShapeDescriptor.idl61
-rw-r--r--offapi/com/sun/star/drawing/XShapeGroup.idl85
-rw-r--r--offapi/com/sun/star/drawing/XShapeGrouper.idl93
-rw-r--r--offapi/com/sun/star/drawing/XShapeMirror.idl83
-rw-r--r--offapi/com/sun/star/drawing/XShapes.idl80
-rw-r--r--offapi/com/sun/star/drawing/XSlidePreviewCache.idl143
-rw-r--r--offapi/com/sun/star/drawing/XSlideRenderer.idl112
-rw-r--r--offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl59
-rw-r--r--offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl54
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl62
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl65
-rw-r--r--offapi/com/sun/star/drawing/framework/BasicViewFactory.idl67
-rw-r--r--offapi/com/sun/star/drawing/framework/Configuration.idl58
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl87
-rw-r--r--offapi/com/sun/star/drawing/framework/ConfigurationController.idl63
-rw-r--r--offapi/com/sun/star/drawing/framework/ModuleController.idl59
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl54
-rw-r--r--offapi/com/sun/star/drawing/framework/ResourceId.idl70
-rw-r--r--offapi/com/sun/star/drawing/framework/TabBarButton.idl64
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfiguration.idl138
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl57
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl68
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationController.idl272
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl91
-rw-r--r--offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl77
-rw-r--r--offapi/com/sun/star/drawing/framework/XControllerManager.idl63
-rw-r--r--offapi/com/sun/star/drawing/framework/XModuleController.idl67
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane.idl75
-rw-r--r--offapi/com/sun/star/drawing/framework/XPane2.idl76
-rw-r--r--offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl161
-rw-r--r--offapi/com/sun/star/drawing/framework/XRelocatableResource.idl56
-rw-r--r--offapi/com/sun/star/drawing/framework/XResource.idl63
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactory.idl92
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl98
-rw-r--r--offapi/com/sun/star/drawing/framework/XResourceId.idl157
-rw-r--r--offapi/com/sun/star/drawing/framework/XTabBar.idl106
-rw-r--r--offapi/com/sun/star/drawing/framework/XToolBar.idl48
-rw-r--r--offapi/com/sun/star/drawing/framework/XView.idl56
-rw-r--r--offapi/com/sun/star/drawing/framework/makefile.mk75
-rw-r--r--offapi/com/sun/star/drawing/makefile.mk227
-rw-r--r--offapi/com/sun/star/drawing/modules.idl65
-rw-r--r--offapi/com/sun/star/embed/Actions.idl70
-rw-r--r--offapi/com/sun/star/embed/Aspects.idl84
-rw-r--r--offapi/com/sun/star/embed/BaseStorage.idl82
-rw-r--r--offapi/com/sun/star/embed/DocumentCloser.idl88
-rw-r--r--offapi/com/sun/star/embed/ElementModes.idl116
-rw-r--r--offapi/com/sun/star/embed/EmbedMapUnits.idl112
-rw-r--r--offapi/com/sun/star/embed/EmbedMisc.idl188
-rw-r--r--offapi/com/sun/star/embed/EmbedStates.idl99
-rw-r--r--offapi/com/sun/star/embed/EmbedUpdateModes.idl68
-rw-r--r--offapi/com/sun/star/embed/EmbedVerbs.idl84
-rw-r--r--offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl114
-rw-r--r--offapi/com/sun/star/embed/EntryInitModes.idl81
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorage.idl117
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorageFactory.idl109
-rw-r--r--offapi/com/sun/star/embed/InsertedObjectInfo.idl71
-rw-r--r--offapi/com/sun/star/embed/InstanceLocker.idl117
-rw-r--r--offapi/com/sun/star/embed/InvalidStorageException.idl56
-rw-r--r--offapi/com/sun/star/embed/LinkageMisuseException.idl56
-rw-r--r--offapi/com/sun/star/embed/NeedsRunningStateException.idl59
-rw-r--r--offapi/com/sun/star/embed/NoVisualAreaSizeException.idl53
-rw-r--r--offapi/com/sun/star/embed/OLESimpleStorage.idl82
-rw-r--r--offapi/com/sun/star/embed/ObjectSaveVetoException.idl55
-rw-r--r--offapi/com/sun/star/embed/StateChangeInProgressException.idl62
-rw-r--r--offapi/com/sun/star/embed/Storage.idl367
-rw-r--r--offapi/com/sun/star/embed/StorageFactory.idl126
-rw-r--r--offapi/com/sun/star/embed/StorageFormats.idl65
-rw-r--r--offapi/com/sun/star/embed/StorageStream.idl239
-rw-r--r--offapi/com/sun/star/embed/StorageWrappedTargetException.idl53
-rw-r--r--offapi/com/sun/star/embed/UnreachableStateException.idl61
-rw-r--r--offapi/com/sun/star/embed/UseBackupException.idl66
-rw-r--r--offapi/com/sun/star/embed/VerbAttributes.idl59
-rw-r--r--offapi/com/sun/star/embed/VerbDescriptor.idl76
-rw-r--r--offapi/com/sun/star/embed/VisualRepresentation.idl61
-rw-r--r--offapi/com/sun/star/embed/WrongStateException.idl53
-rw-r--r--offapi/com/sun/star/embed/XActionsApproval.idl70
-rw-r--r--offapi/com/sun/star/embed/XClassifiedObject.idl86
-rw-r--r--offapi/com/sun/star/embed/XCommonEmbedPersist.idl136
-rw-r--r--offapi/com/sun/star/embed/XComponentSupplier.idl61
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl122
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectCreator.idl206
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectFactory.idl134
-rw-r--r--offapi/com/sun/star/embed/XEmbedPersist.idl275
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedClient.idl90
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedObject.idl306
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedSource.idl74
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl65
-rw-r--r--offapi/com/sun/star/embed/XExtendedStorageStream.idl134
-rw-r--r--offapi/com/sun/star/embed/XHatchWindow.idl75
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowController.idl83
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowFactory.idl91
-rw-r--r--offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl235
-rw-r--r--offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl109
-rw-r--r--offapi/com/sun/star/embed/XInplaceClient.idl242
-rw-r--r--offapi/com/sun/star/embed/XInplaceObject.idl133
-rw-r--r--offapi/com/sun/star/embed/XInsertObjectDialog.idl112
-rw-r--r--offapi/com/sun/star/embed/XLinkCreator.idl116
-rw-r--r--offapi/com/sun/star/embed/XLinkFactory.idl119
-rw-r--r--offapi/com/sun/star/embed/XLinkageSupport.idl146
-rw-r--r--offapi/com/sun/star/embed/XOLESimpleStorage.idl105
-rw-r--r--offapi/com/sun/star/embed/XOptimizedStorage.idl226
-rw-r--r--offapi/com/sun/star/embed/XPackageStructureCreator.idl71
-rw-r--r--offapi/com/sun/star/embed/XPersistanceHolder.idl88
-rw-r--r--offapi/com/sun/star/embed/XRelationshipAccess.idl283
-rw-r--r--offapi/com/sun/star/embed/XStateChangeBroadcaster.idl67
-rw-r--r--offapi/com/sun/star/embed/XStateChangeListener.idl102
-rw-r--r--offapi/com/sun/star/embed/XStorage.idl661
-rw-r--r--offapi/com/sun/star/embed/XStorage2.idl165
-rw-r--r--offapi/com/sun/star/embed/XStorageRawAccess.idl235
-rw-r--r--offapi/com/sun/star/embed/XTransactedObject.idl71
-rw-r--r--offapi/com/sun/star/embed/XTransactionBroadcaster.idl68
-rw-r--r--offapi/com/sun/star/embed/XTransactionListener.idl81
-rw-r--r--offapi/com/sun/star/embed/XTransferableSupplier.idl62
-rw-r--r--offapi/com/sun/star/embed/XVisualObject.idl179
-rw-r--r--offapi/com/sun/star/embed/XWindowSupplier.idl57
-rw-r--r--offapi/com/sun/star/embed/makefile.mk119
-rw-r--r--offapi/com/sun/star/form/DataAwareControlModel.idl195
-rw-r--r--offapi/com/sun/star/form/DataSelectionType.idl58
-rw-r--r--offapi/com/sun/star/form/DatabaseDeleteEvent.idl55
-rw-r--r--offapi/com/sun/star/form/DatabaseParameterEvent.idl70
-rw-r--r--offapi/com/sun/star/form/ErrorEvent.idl60
-rw-r--r--offapi/com/sun/star/form/FormButtonType.idl77
-rw-r--r--offapi/com/sun/star/form/FormComponent.idl129
-rw-r--r--offapi/com/sun/star/form/FormComponentType.idl144
-rw-r--r--offapi/com/sun/star/form/FormComponents.idl107
-rw-r--r--offapi/com/sun/star/form/FormControlModel.idl110
-rw-r--r--offapi/com/sun/star/form/FormController.idl114
-rw-r--r--offapi/com/sun/star/form/FormControllerDispatcher.idl57
-rw-r--r--offapi/com/sun/star/form/FormSubmitEncoding.idl71
-rw-r--r--offapi/com/sun/star/form/FormSubmitMethod.idl63
-rw-r--r--offapi/com/sun/star/form/Forms.idl72
-rw-r--r--offapi/com/sun/star/form/ListSourceType.idl89
-rw-r--r--offapi/com/sun/star/form/NavigationBarMode.idl83
-rw-r--r--offapi/com/sun/star/form/PropertyBrowserController.idl147
-rw-r--r--offapi/com/sun/star/form/TabulatorCycle.idl84
-rw-r--r--offapi/com/sun/star/form/XApproveActionBroadcaster.idl81
-rw-r--r--offapi/com/sun/star/form/XApproveActionListener.idl77
-rw-r--r--offapi/com/sun/star/form/XBoundComponent.idl75
-rw-r--r--offapi/com/sun/star/form/XBoundControl.idl74
-rw-r--r--offapi/com/sun/star/form/XChangeBroadcaster.idl85
-rw-r--r--offapi/com/sun/star/form/XChangeListener.idl73
-rw-r--r--offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl86
-rw-r--r--offapi/com/sun/star/form/XConfirmDeleteListener.idl71
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl83
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl79
-rw-r--r--offapi/com/sun/star/form/XDatabaseParameterListener.idl72
-rw-r--r--offapi/com/sun/star/form/XDeleteListener.idl80
-rw-r--r--offapi/com/sun/star/form/XErrorBroadcaster.idl75
-rw-r--r--offapi/com/sun/star/form/XErrorListener.idl75
-rw-r--r--offapi/com/sun/star/form/XForm.idl59
-rw-r--r--offapi/com/sun/star/form/XFormComponent.idl59
-rw-r--r--offapi/com/sun/star/form/XFormController.idl67
-rw-r--r--offapi/com/sun/star/form/XFormControllerListener.idl84
-rw-r--r--offapi/com/sun/star/form/XFormsSupplier.idl105
-rw-r--r--offapi/com/sun/star/form/XFormsSupplier2.idl68
-rw-r--r--offapi/com/sun/star/form/XGrid.idl79
-rw-r--r--offapi/com/sun/star/form/XGridColumnFactory.idl93
-rw-r--r--offapi/com/sun/star/form/XGridControl.idl69
-rw-r--r--offapi/com/sun/star/form/XGridControlListener.idl57
-rw-r--r--offapi/com/sun/star/form/XGridFieldDataSupplier.idl97
-rw-r--r--offapi/com/sun/star/form/XGridPeer.idl80
-rw-r--r--offapi/com/sun/star/form/XImageProducerSupplier.idl69
-rw-r--r--offapi/com/sun/star/form/XInsertListener.idl77
-rw-r--r--offapi/com/sun/star/form/XLoadListener.idl114
-rw-r--r--offapi/com/sun/star/form/XLoadable.idl107
-rw-r--r--offapi/com/sun/star/form/XPositioningListener.idl70
-rw-r--r--offapi/com/sun/star/form/XReset.idl85
-rw-r--r--offapi/com/sun/star/form/XResetListener.idl91
-rw-r--r--offapi/com/sun/star/form/XRestoreListener.idl74
-rw-r--r--offapi/com/sun/star/form/XSubmit.idl106
-rw-r--r--offapi/com/sun/star/form/XSubmitListener.idl79
-rw-r--r--offapi/com/sun/star/form/XUpdateBroadcaster.idl84
-rw-r--r--offapi/com/sun/star/form/XUpdateListener.idl87
-rw-r--r--offapi/com/sun/star/form/binding/BindableControlModel.idl92
-rw-r--r--offapi/com/sun/star/form/binding/BindableDataAwareControlModel.idl132
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl95
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseComboBox.idl73
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseDateField.idl70
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.idl69
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseListBox.idl81
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseNumericField.idl69
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl92
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseTextField.idl72
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseTimeField.idl70
-rw-r--r--offapi/com/sun/star/form/binding/BindableIntegerValueRange.idl75
-rw-r--r--offapi/com/sun/star/form/binding/IncompatibleTypesException.idl54
-rw-r--r--offapi/com/sun/star/form/binding/InvalidBindingStateException.idl54
-rw-r--r--offapi/com/sun/star/form/binding/ListEntryEvent.idl74
-rw-r--r--offapi/com/sun/star/form/binding/ListEntrySource.idl74
-rw-r--r--offapi/com/sun/star/form/binding/ValueBinding.idl124
-rw-r--r--offapi/com/sun/star/form/binding/XBindableValue.idl78
-rw-r--r--offapi/com/sun/star/form/binding/XListEntryListener.idl89
-rw-r--r--offapi/com/sun/star/form/binding/XListEntrySink.idl68
-rw-r--r--offapi/com/sun/star/form/binding/XListEntrySource.idl100
-rw-r--r--offapi/com/sun/star/form/binding/XValueBinding.idl104
-rw-r--r--offapi/com/sun/star/form/binding/makefile.mk69
-rw-r--r--offapi/com/sun/star/form/component/CheckBox.idl92
-rw-r--r--offapi/com/sun/star/form/component/ComboBox.idl78
-rw-r--r--offapi/com/sun/star/form/component/CommandButton.idl116
-rw-r--r--offapi/com/sun/star/form/component/CurrencyField.idl77
-rw-r--r--offapi/com/sun/star/form/component/DataForm.idl232
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCheckBox.idl64
-rw-r--r--offapi/com/sun/star/form/component/DatabaseComboBox.idl96
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCurrencyField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseDateField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseFormattedField.idl73
-rw-r--r--offapi/com/sun/star/form/component/DatabaseImageControl.idl122
-rw-r--r--offapi/com/sun/star/form/component/DatabaseListBox.idl159
-rw-r--r--offapi/com/sun/star/form/component/DatabaseNumericField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabasePatternField.idl74
-rw-r--r--offapi/com/sun/star/form/component/DatabaseRadioButton.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTextField.idl73
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTimeField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DateField.idl81
-rw-r--r--offapi/com/sun/star/form/component/FileControl.idl78
-rw-r--r--offapi/com/sun/star/form/component/FixedText.idl64
-rw-r--r--offapi/com/sun/star/form/component/Form.idl93
-rw-r--r--offapi/com/sun/star/form/component/FormattedField.idl72
-rw-r--r--offapi/com/sun/star/form/component/GridControl.idl210
-rw-r--r--offapi/com/sun/star/form/component/GroupBox.idl60
-rw-r--r--offapi/com/sun/star/form/component/HTMLForm.idl106
-rw-r--r--offapi/com/sun/star/form/component/HiddenControl.idl65
-rw-r--r--offapi/com/sun/star/form/component/ImageButton.idl116
-rw-r--r--offapi/com/sun/star/form/component/ListBox.idl84
-rw-r--r--offapi/com/sun/star/form/component/NavigationToolBar.idl150
-rw-r--r--offapi/com/sun/star/form/component/NumericField.idl80
-rw-r--r--offapi/com/sun/star/form/component/PatternField.idl78
-rw-r--r--offapi/com/sun/star/form/component/RadioButton.idl112
-rw-r--r--offapi/com/sun/star/form/component/RichTextControl.idl91
-rw-r--r--offapi/com/sun/star/form/component/ScrollBar.idl78
-rw-r--r--offapi/com/sun/star/form/component/SpinButton.idl78
-rw-r--r--offapi/com/sun/star/form/component/SubmitButton.idl72
-rw-r--r--offapi/com/sun/star/form/component/TextField.idl89
-rw-r--r--offapi/com/sun/star/form/component/TimeField.idl81
-rw-r--r--offapi/com/sun/star/form/component/makefile.mk83
-rw-r--r--offapi/com/sun/star/form/control/CheckBox.idl70
-rw-r--r--offapi/com/sun/star/form/control/ComboBox.idl70
-rw-r--r--offapi/com/sun/star/form/control/CommandButton.idl88
-rw-r--r--offapi/com/sun/star/form/control/CurrencyField.idl71
-rw-r--r--offapi/com/sun/star/form/control/DateField.idl71
-rw-r--r--offapi/com/sun/star/form/control/FormattedField.idl76
-rw-r--r--offapi/com/sun/star/form/control/GridControl.idl172
-rw-r--r--offapi/com/sun/star/form/control/GroupBox.idl68
-rw-r--r--offapi/com/sun/star/form/control/ImageButton.idl88
-rw-r--r--offapi/com/sun/star/form/control/ImageControl.idl74
-rw-r--r--offapi/com/sun/star/form/control/InteractionGridControl.idl85
-rw-r--r--offapi/com/sun/star/form/control/ListBox.idl86
-rw-r--r--offapi/com/sun/star/form/control/NavigationToolBar.idl57
-rw-r--r--offapi/com/sun/star/form/control/NumericField.idl71
-rw-r--r--offapi/com/sun/star/form/control/PatternField.idl71
-rw-r--r--offapi/com/sun/star/form/control/RadioButton.idl70
-rw-r--r--offapi/com/sun/star/form/control/SubmitButton.idl88
-rw-r--r--offapi/com/sun/star/form/control/TextField.idl90
-rw-r--r--offapi/com/sun/star/form/control/TimeField.idl71
-rw-r--r--offapi/com/sun/star/form/control/makefile.mk64
-rw-r--r--offapi/com/sun/star/form/inspection/ButtonNavigationHandler.idl65
-rw-r--r--offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.idl68
-rw-r--r--offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl101
-rw-r--r--offapi/com/sun/star/form/inspection/EditPropertyHandler.idl69
-rw-r--r--offapi/com/sun/star/form/inspection/EventHandler.idl63
-rw-r--r--offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl56
-rw-r--r--offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.idl67
-rw-r--r--offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.idl73
-rw-r--r--offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.idl77
-rw-r--r--offapi/com/sun/star/form/inspection/makefile.mk54
-rw-r--r--offapi/com/sun/star/form/makefile.mk104
-rw-r--r--offapi/com/sun/star/form/modules.idl68
-rw-r--r--offapi/com/sun/star/form/runtime/FeatureState.idl62
-rw-r--r--offapi/com/sun/star/form/runtime/FilterEvent.idl65
-rw-r--r--offapi/com/sun/star/form/runtime/FormController.idl52
-rw-r--r--offapi/com/sun/star/form/runtime/FormFeature.idl155
-rw-r--r--offapi/com/sun/star/form/runtime/FormOperations.idl91
-rw-r--r--offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl76
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterController.idl181
-rw-r--r--offapi/com/sun/star/form/runtime/XFilterControllerListener.idl85
-rw-r--r--offapi/com/sun/star/form/runtime/XFormController.idl374
-rw-r--r--offapi/com/sun/star/form/runtime/XFormControllerContext.idl58
-rw-r--r--offapi/com/sun/star/form/runtime/XFormOperations.idl284
-rw-r--r--offapi/com/sun/star/form/runtime/makefile.mk56
-rw-r--r--offapi/com/sun/star/form/submission/XSubmission.idl114
-rw-r--r--offapi/com/sun/star/form/submission/XSubmissionSupplier.idl60
-rw-r--r--offapi/com/sun/star/form/submission/XSubmissionVetoListener.idl71
-rw-r--r--offapi/com/sun/star/form/submission/makefile.mk48
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl79
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableControlModel.idl97
-rw-r--r--offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl63
-rw-r--r--offapi/com/sun/star/form/validation/XValidatable.idl77
-rw-r--r--offapi/com/sun/star/form/validation/XValidatableFormComponent.idl126
-rw-r--r--offapi/com/sun/star/form/validation/XValidator.idl107
-rw-r--r--offapi/com/sun/star/form/validation/XValidityConstraintListener.idl60
-rw-r--r--offapi/com/sun/star/form/validation/makefile.mk53
-rw-r--r--offapi/com/sun/star/formula/AccessibleFormulaText.idl69
-rw-r--r--offapi/com/sun/star/formula/AccessibleFormulaView.idl70
-rw-r--r--offapi/com/sun/star/formula/FormulaProperties.idl355
-rw-r--r--offapi/com/sun/star/formula/SymbolDescriptor.idl113
-rw-r--r--offapi/com/sun/star/formula/makefile.mk49
-rw-r--r--offapi/com/sun/star/frame/BorderWidths.idl68
-rw-r--r--offapi/com/sun/star/frame/CommandGroup.idl179
-rw-r--r--offapi/com/sun/star/frame/Components.idl61
-rw-r--r--offapi/com/sun/star/frame/ContentHandler.idl70
-rw-r--r--offapi/com/sun/star/frame/ContentHandlerFactory.idl111
-rw-r--r--offapi/com/sun/star/frame/ControlCommand.idl67
-rw-r--r--offapi/com/sun/star/frame/ControlEvent.idl74
-rw-r--r--offapi/com/sun/star/frame/Controller.idl130
-rw-r--r--offapi/com/sun/star/frame/Desktop.idl100
-rw-r--r--offapi/com/sun/star/frame/DesktopTask.idl109
-rw-r--r--offapi/com/sun/star/frame/DesktopTasks.idl50
-rw-r--r--offapi/com/sun/star/frame/DispatchDescriptor.idl93
-rw-r--r--offapi/com/sun/star/frame/DispatchHelper.idl67
-rw-r--r--offapi/com/sun/star/frame/DispatchInformation.idl67
-rw-r--r--offapi/com/sun/star/frame/DispatchProvider.idl86
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorder.idl75
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorderSupplier.idl68
-rw-r--r--offapi/com/sun/star/frame/DispatchResultEvent.idl73
-rw-r--r--offapi/com/sun/star/frame/DispatchResultState.idl59
-rw-r--r--offapi/com/sun/star/frame/DispatchStatement.idl105
-rw-r--r--offapi/com/sun/star/frame/DocumentTemplates.idl55
-rw-r--r--offapi/com/sun/star/frame/DoubleInitializationException.idl54
-rw-r--r--offapi/com/sun/star/frame/FeatureStateEvent.idl95
-rw-r--r--offapi/com/sun/star/frame/Frame.idl206
-rw-r--r--offapi/com/sun/star/frame/FrameAction.idl151
-rw-r--r--offapi/com/sun/star/frame/FrameActionEvent.idl69
-rw-r--r--offapi/com/sun/star/frame/FrameControl.idl80
-rw-r--r--offapi/com/sun/star/frame/FrameLoader.idl99
-rw-r--r--offapi/com/sun/star/frame/FrameLoaderFactory.idl110
-rw-r--r--offapi/com/sun/star/frame/FrameSearchFlag.idl130
-rw-r--r--offapi/com/sun/star/frame/FramesContainer.idl61
-rw-r--r--offapi/com/sun/star/frame/GlobalEventBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/frame/IllegalArgumentIOException.idl54
-rw-r--r--offapi/com/sun/star/frame/LayoutManager.idl132
-rw-r--r--offapi/com/sun/star/frame/LayoutManagerEvents.idl133
-rw-r--r--offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl61
-rw-r--r--offapi/com/sun/star/frame/ModuleManager.idl78
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl153
-rw-r--r--offapi/com/sun/star/frame/PopupMenuControllerFactory.idl85
-rw-r--r--offapi/com/sun/star/frame/ProtocolHandler.idl97
-rw-r--r--offapi/com/sun/star/frame/SessionManager.idl84
-rw-r--r--offapi/com/sun/star/frame/Settings.idl50
-rw-r--r--offapi/com/sun/star/frame/StatusbarController.idl142
-rw-r--r--offapi/com/sun/star/frame/StatusbarControllerFactory.idl91
-rw-r--r--offapi/com/sun/star/frame/SynchronousFrameLoader.idl99
-rw-r--r--offapi/com/sun/star/frame/Task.idl78
-rw-r--r--offapi/com/sun/star/frame/TemplateAccess.idl62
-rw-r--r--offapi/com/sun/star/frame/TerminationVetoException.idl61
-rw-r--r--offapi/com/sun/star/frame/TitleChangedEvent.idl53
-rw-r--r--offapi/com/sun/star/frame/ToolbarController.idl146
-rw-r--r--offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl56
-rw-r--r--offapi/com/sun/star/frame/UnknownModuleException.idl51
-rw-r--r--offapi/com/sun/star/frame/WindowArrange.idl74
-rw-r--r--offapi/com/sun/star/frame/XBorderResizeListener.idl66
-rw-r--r--offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl66
-rw-r--r--offapi/com/sun/star/frame/XComponentLoader.idl192
-rw-r--r--offapi/com/sun/star/frame/XComponentRegistry.idl60
-rw-r--r--offapi/com/sun/star/frame/XConfigManager.idl118
-rw-r--r--offapi/com/sun/star/frame/XControlNotificationListener.idl65
-rw-r--r--offapi/com/sun/star/frame/XController.idl125
-rw-r--r--offapi/com/sun/star/frame/XController2.idl81
-rw-r--r--offapi/com/sun/star/frame/XControllerBorder.idl91
-rw-r--r--offapi/com/sun/star/frame/XDesktop.idl165
-rw-r--r--offapi/com/sun/star/frame/XDesktopTask.idl69
-rw-r--r--offapi/com/sun/star/frame/XDispatch.idl164
-rw-r--r--offapi/com/sun/star/frame/XDispatchHelper.idl96
-rw-r--r--offapi/com/sun/star/frame/XDispatchInformationProvider.idl91
-rw-r--r--offapi/com/sun/star/frame/XDispatchProvider.idl109
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterception.idl90
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl100
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorder.idl146
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl130
-rw-r--r--offapi/com/sun/star/frame/XDispatchResultListener.idl64
-rw-r--r--offapi/com/sun/star/frame/XDocumentTemplates.idl215
-rw-r--r--offapi/com/sun/star/frame/XExtendedFilterDetection.idl65
-rw-r--r--offapi/com/sun/star/frame/XFilterDetect.idl58
-rw-r--r--offapi/com/sun/star/frame/XFrame.idl388
-rw-r--r--offapi/com/sun/star/frame/XFrameActionListener.idl70
-rw-r--r--offapi/com/sun/star/frame/XFrameLoader.idl109
-rw-r--r--offapi/com/sun/star/frame/XFrameLoaderQuery.idl82
-rw-r--r--offapi/com/sun/star/frame/XFrameSetModel.idl58
-rw-r--r--offapi/com/sun/star/frame/XFrames.idl102
-rw-r--r--offapi/com/sun/star/frame/XFramesSupplier.idl106
-rw-r--r--offapi/com/sun/star/frame/XInplaceLayout.idl67
-rw-r--r--offapi/com/sun/star/frame/XInterceptorInfo.idl73
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager.idl510
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl68
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerListener.idl72
-rw-r--r--offapi/com/sun/star/frame/XLoadEventListener.idl68
-rw-r--r--offapi/com/sun/star/frame/XLoadable.idl85
-rw-r--r--offapi/com/sun/star/frame/XMenuBarAcceptor.idl68
-rw-r--r--offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl82
-rw-r--r--offapi/com/sun/star/frame/XModel.idl236
-rw-r--r--offapi/com/sun/star/frame/XModel2.idl152
-rw-r--r--offapi/com/sun/star/frame/XModule.idl79
-rw-r--r--offapi/com/sun/star/frame/XModuleManager.idl115
-rw-r--r--offapi/com/sun/star/frame/XNotifyingDispatch.idl73
-rw-r--r--offapi/com/sun/star/frame/XPopupMenuController.idl81
-rw-r--r--offapi/com/sun/star/frame/XRecordableDispatch.idl114
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerClient.idl106
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener.idl103
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener2.idl53
-rw-r--r--offapi/com/sun/star/frame/XStatusListener.idl70
-rw-r--r--offapi/com/sun/star/frame/XStatusbarController.idl172
-rw-r--r--offapi/com/sun/star/frame/XStorable.idl176
-rw-r--r--offapi/com/sun/star/frame/XStorable2.idl92
-rw-r--r--offapi/com/sun/star/frame/XSubToolbarController.idl102
-rw-r--r--offapi/com/sun/star/frame/XSynchronousDispatch.idl77
-rw-r--r--offapi/com/sun/star/frame/XSynchronousFrameLoader.idl95
-rw-r--r--offapi/com/sun/star/frame/XTask.idl73
-rw-r--r--offapi/com/sun/star/frame/XTasksSupplier.idl70
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener.idl89
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener2.idl69
-rw-r--r--offapi/com/sun/star/frame/XTitle.idl62
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl62
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeListener.idl57
-rw-r--r--offapi/com/sun/star/frame/XToolbarController.idl110
-rw-r--r--offapi/com/sun/star/frame/XToolbarControllerListener.idl64
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl92
-rw-r--r--offapi/com/sun/star/frame/XUIControllerRegistration.idl107
-rw-r--r--offapi/com/sun/star/frame/XUntitledNumbers.idl118
-rw-r--r--offapi/com/sun/star/frame/XUrlList.idl52
-rw-r--r--offapi/com/sun/star/frame/XWindowArranger.idl59
-rw-r--r--offapi/com/sun/star/frame/makefile.mk166
-rw-r--r--offapi/com/sun/star/frame/status/ClipboardFormats.idl63
-rw-r--r--offapi/com/sun/star/frame/status/FontHeight.idl70
-rw-r--r--offapi/com/sun/star/frame/status/ItemState.idl85
-rw-r--r--offapi/com/sun/star/frame/status/ItemStatus.idl62
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMargin.idl58
-rw-r--r--offapi/com/sun/star/frame/status/Template.idl60
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMargin.idl58
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl70
-rw-r--r--offapi/com/sun/star/frame/status/Verb.idl72
-rw-r--r--offapi/com/sun/star/frame/status/Visibility.idl53
-rw-r--r--offapi/com/sun/star/frame/status/makefile.mk55
-rw-r--r--offapi/com/sun/star/gallery/GalleryItem.idl100
-rw-r--r--offapi/com/sun/star/gallery/GalleryItemType.idl62
-rw-r--r--offapi/com/sun/star/gallery/GalleryTheme.idl57
-rw-r--r--offapi/com/sun/star/gallery/GalleryThemeProvider.idl73
-rw-r--r--offapi/com/sun/star/gallery/XGalleryItem.idl59
-rw-r--r--offapi/com/sun/star/gallery/XGalleryTheme.idl172
-rw-r--r--offapi/com/sun/star/gallery/XGalleryThemeProvider.idl94
-rw-r--r--offapi/com/sun/star/gallery/makefile.mk51
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix2D.idl93
-rw-r--r--offapi/com/sun/star/geometry/AffineMatrix3D.idl113
-rw-r--r--offapi/com/sun/star/geometry/EllipticalArc.idl94
-rw-r--r--offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl67
-rw-r--r--offapi/com/sun/star/geometry/IntegerPoint2D.idl52
-rw-r--r--offapi/com/sun/star/geometry/IntegerRectangle2D.idl79
-rw-r--r--offapi/com/sun/star/geometry/IntegerSize2D.idl51
-rw-r--r--offapi/com/sun/star/geometry/Matrix2D.idl90
-rw-r--r--offapi/com/sun/star/geometry/RealBezierSegment2D.idl67
-rw-r--r--offapi/com/sun/star/geometry/RealPoint2D.idl52
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle2D.idl79
-rw-r--r--offapi/com/sun/star/geometry/RealRectangle3D.idl79
-rw-r--r--offapi/com/sun/star/geometry/RealSize2D.idl51
-rw-r--r--offapi/com/sun/star/geometry/XMapping2D.idl72
-rw-r--r--offapi/com/sun/star/geometry/makefile.mk59
-rwxr-xr-xoffapi/com/sun/star/graphic/Graphic.idl62
-rw-r--r--offapi/com/sun/star/graphic/GraphicColorMode.idl59
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicDescriptor.idl151
-rw-r--r--offapi/com/sun/star/graphic/GraphicObject.idl63
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicProvider.idl53
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicRendererVCL.idl79
-rwxr-xr-xoffapi/com/sun/star/graphic/GraphicType.idl57
-rwxr-xr-xoffapi/com/sun/star/graphic/MediaProperties.idl128
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphic.idl65
-rw-r--r--offapi/com/sun/star/graphic/XGraphicObject.idl65
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphicProvider.idl119
-rwxr-xr-xoffapi/com/sun/star/graphic/XGraphicRenderer.idl54
-rw-r--r--offapi/com/sun/star/graphic/XGraphicTransformer.idl57
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive2D.idl93
-rw-r--r--offapi/com/sun/star/graphic/XPrimitive3D.idl80
-rw-r--r--offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl101
-rwxr-xr-xoffapi/com/sun/star/graphic/makefile.mk62
-rw-r--r--offapi/com/sun/star/i18n/AmPmValue.idl50
-rw-r--r--offapi/com/sun/star/i18n/Boundary.idl56
-rw-r--r--offapi/com/sun/star/i18n/BreakIterator.idl59
-rw-r--r--offapi/com/sun/star/i18n/BreakType.idl56
-rw-r--r--offapi/com/sun/star/i18n/CTLScriptType.idl68
-rw-r--r--offapi/com/sun/star/i18n/Calendar.idl68
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayCode.idl90
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayIndex.idl58
-rw-r--r--offapi/com/sun/star/i18n/CalendarFieldIndex.idl137
-rw-r--r--offapi/com/sun/star/i18n/CalendarItem.idl60
-rw-r--r--offapi/com/sun/star/i18n/ChapterCollator.idl49
-rw-r--r--offapi/com/sun/star/i18n/CharType.idl85
-rw-r--r--offapi/com/sun/star/i18n/CharacterClassification.idl55
-rw-r--r--offapi/com/sun/star/i18n/CharacterIteratorMode.idl57
-rw-r--r--offapi/com/sun/star/i18n/Collator.idl55
-rw-r--r--offapi/com/sun/star/i18n/CollatorOptions.idl53
-rw-r--r--offapi/com/sun/star/i18n/Currency.idl84
-rw-r--r--offapi/com/sun/star/i18n/Currency2.idl68
-rw-r--r--offapi/com/sun/star/i18n/DirectionProperty.idl67
-rw-r--r--offapi/com/sun/star/i18n/ForbiddenCharacters.idl57
-rw-r--r--offapi/com/sun/star/i18n/FormatElement.idl77
-rw-r--r--offapi/com/sun/star/i18n/Implementation.idl55
-rw-r--r--offapi/com/sun/star/i18n/IndexEntrySupplier.idl53
-rw-r--r--offapi/com/sun/star/i18n/InputSequenceCheckMode.idl61
-rw-r--r--offapi/com/sun/star/i18n/InputSequenceChecker.idl55
-rw-r--r--offapi/com/sun/star/i18n/KCharacterType.idl78
-rw-r--r--offapi/com/sun/star/i18n/KNumberFormatType.idl54
-rw-r--r--offapi/com/sun/star/i18n/KNumberFormatUsage.idl63
-rw-r--r--offapi/com/sun/star/i18n/KParseTokens.idl178
-rw-r--r--offapi/com/sun/star/i18n/KParseType.idl92
-rw-r--r--offapi/com/sun/star/i18n/LanguageCountryInfo.idl63
-rw-r--r--offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl59
-rw-r--r--offapi/com/sun/star/i18n/LineBreakResults.idl57
-rw-r--r--offapi/com/sun/star/i18n/LineBreakUserOptions.idl62
-rw-r--r--offapi/com/sun/star/i18n/LocaleCalendar.idl53
-rw-r--r--offapi/com/sun/star/i18n/LocaleData.idl52
-rw-r--r--offapi/com/sun/star/i18n/LocaleDataItem.idl85
-rw-r--r--offapi/com/sun/star/i18n/LocaleItem.idl102
-rw-r--r--offapi/com/sun/star/i18n/Months.idl72
-rw-r--r--offapi/com/sun/star/i18n/MultipleCharsOutputException.idl58
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberMode.idl144
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberSupplier.idl53
-rw-r--r--offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl68
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatCode.idl62
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatIndex.idl280
-rw-r--r--offapi/com/sun/star/i18n/NumberFormatMapper.idl52
-rw-r--r--offapi/com/sun/star/i18n/OrdinalSuffix.idl59
-rw-r--r--offapi/com/sun/star/i18n/ParseResult.idl83
-rw-r--r--offapi/com/sun/star/i18n/ScriptDirection.idl60
-rw-r--r--offapi/com/sun/star/i18n/ScriptType.idl61
-rw-r--r--offapi/com/sun/star/i18n/TextConversion.idl57
-rw-r--r--offapi/com/sun/star/i18n/TextConversionOption.idl71
-rw-r--r--offapi/com/sun/star/i18n/TextConversionResult.idl67
-rw-r--r--offapi/com/sun/star/i18n/TextConversionType.idl64
-rw-r--r--offapi/com/sun/star/i18n/Transliteration.idl53
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModules.idl119
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModulesExtra.idl76
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModulesNew.idl175
-rw-r--r--offapi/com/sun/star/i18n/TransliterationType.idl81
-rw-r--r--offapi/com/sun/star/i18n/UnicodeScript.idl136
-rw-r--r--offapi/com/sun/star/i18n/UnicodeType.idl79
-rw-r--r--offapi/com/sun/star/i18n/Weekdays.idl65
-rw-r--r--offapi/com/sun/star/i18n/WordType.idl73
-rw-r--r--offapi/com/sun/star/i18n/XBreakIterator.idl374
-rw-r--r--offapi/com/sun/star/i18n/XCalendar.idl228
-rw-r--r--offapi/com/sun/star/i18n/XCharacterClassification.idl286
-rw-r--r--offapi/com/sun/star/i18n/XCollator.idl174
-rw-r--r--offapi/com/sun/star/i18n/XExtendedCalendar.idl85
-rw-r--r--offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl157
-rw-r--r--offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl64
-rw-r--r--offapi/com/sun/star/i18n/XExtendedTextConversion.idl82
-rw-r--r--offapi/com/sun/star/i18n/XExtendedTransliteration.idl105
-rw-r--r--offapi/com/sun/star/i18n/XForbiddenCharacters.idl86
-rw-r--r--offapi/com/sun/star/i18n/XIndexEntrySupplier.idl78
-rw-r--r--offapi/com/sun/star/i18n/XInputSequenceChecker.idl60
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData.idl137
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData2.idl62
-rw-r--r--offapi/com/sun/star/i18n/XNativeNumberSupplier.idl95
-rw-r--r--offapi/com/sun/star/i18n/XNumberFormatCode.idl97
-rw-r--r--offapi/com/sun/star/i18n/XOrdinalSuffix.idl70
-rw-r--r--offapi/com/sun/star/i18n/XScriptTypeDetector.idl91
-rw-r--r--offapi/com/sun/star/i18n/XTextConversion.idl161
-rw-r--r--offapi/com/sun/star/i18n/XTransliteration.idl331
-rw-r--r--offapi/com/sun/star/i18n/makefile.mk129
-rw-r--r--offapi/com/sun/star/i18n/reservedWords.idl80
-rw-r--r--offapi/com/sun/star/image/ImageMap.idl64
-rw-r--r--offapi/com/sun/star/image/ImageMapCircleObject.idl65
-rw-r--r--offapi/com/sun/star/image/ImageMapObject.idl84
-rw-r--r--offapi/com/sun/star/image/ImageMapPolygonObject.idl63
-rw-r--r--offapi/com/sun/star/image/ImageMapRectangleObject.idl62
-rw-r--r--offapi/com/sun/star/image/makefile.mk50
-rw-r--r--offapi/com/sun/star/inspection/DefaultHelpProvider.idl71
-rw-r--r--offapi/com/sun/star/inspection/GenericPropertyHandler.idl63
-rw-r--r--offapi/com/sun/star/inspection/InteractiveSelectionResult.idl76
-rw-r--r--offapi/com/sun/star/inspection/LineDescriptor.idl201
-rw-r--r--offapi/com/sun/star/inspection/ObjectInspector.idl111
-rw-r--r--offapi/com/sun/star/inspection/ObjectInspectorModel.idl121
-rw-r--r--offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl67
-rw-r--r--offapi/com/sun/star/inspection/PropertyControlType.idl153
-rw-r--r--offapi/com/sun/star/inspection/PropertyLineElement.idl61
-rw-r--r--offapi/com/sun/star/inspection/XHyperlinkControl.idl69
-rw-r--r--offapi/com/sun/star/inspection/XNumericControl.idl98
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspector.idl133
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspectorModel.idl192
-rw-r--r--offapi/com/sun/star/inspection/XObjectInspectorUI.idl187
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControl.idl120
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlContext.idl60
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlFactory.idl81
-rw-r--r--offapi/com/sun/star/inspection/XPropertyControlObserver.idl75
-rw-r--r--offapi/com/sun/star/inspection/XPropertyHandler.idl471
-rw-r--r--offapi/com/sun/star/inspection/XStringListControl.idl73
-rw-r--r--offapi/com/sun/star/inspection/XStringRepresentation.idl76
-rw-r--r--offapi/com/sun/star/inspection/makefile.mk66
-rw-r--r--offapi/com/sun/star/installation/InstallationCheck.idl64
-rw-r--r--offapi/com/sun/star/installation/InstallationCheckService.idl61
-rw-r--r--offapi/com/sun/star/installation/InternetSettings.idl52
-rw-r--r--offapi/com/sun/star/installation/ProtDlgRes.idl72
-rw-r--r--offapi/com/sun/star/installation/ProtocolHandlerCheck.idl52
-rw-r--r--offapi/com/sun/star/installation/ProtocolHandlerCheckService.idl52
-rw-r--r--offapi/com/sun/star/installation/XInstallationCheck.idl114
-rw-r--r--offapi/com/sun/star/installation/XProtocolHandlerCheck.idl91
-rw-r--r--offapi/com/sun/star/installation/makefile.mk55
-rw-r--r--offapi/com/sun/star/installation/protocols.idl94
-rw-r--r--offapi/com/sun/star/ldap/LdapConnectionException.idl49
-rw-r--r--offapi/com/sun/star/ldap/LdapGenericException.idl55
-rw-r--r--offapi/com/sun/star/ldap/makefile.mk47
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionary.idl81
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl70
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl56
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDirection.idl57
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionPropertyType.idl114
-rw-r--r--offapi/com/sun/star/linguistic2/Dictionary.idl82
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEvent.idl83
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl86
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryList.idl64
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEvent.idl95
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl102
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryType.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl60
-rw-r--r--offapi/com/sun/star/linguistic2/Hyphenator.idl67
-rw-r--r--offapi/com/sun/star/linguistic2/LanguageGuessing.idl44
-rw-r--r--offapi/com/sun/star/linguistic2/LinguProperties.idl183
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEvent.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl73
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceManager.idl60
-rw-r--r--offapi/com/sun/star/linguistic2/Proofreader.idl63
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingIterator.idl57
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingResult.idl99
-rw-r--r--offapi/com/sun/star/linguistic2/SingleProofreadingError.idl81
-rw-r--r--offapi/com/sun/star/linguistic2/SpellChecker.idl67
-rw-r--r--offapi/com/sun/star/linguistic2/SpellFailure.idl68
-rw-r--r--offapi/com/sun/star/linguistic2/Thesaurus.idl65
-rw-r--r--offapi/com/sun/star/linguistic2/XAvailableLocales.idl66
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionary.idl243
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl219
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionPropertyType.idl110
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary.idl275
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary1.idl112
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEntry.idl97
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl72
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryList.idl261
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl74
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenatedWord.idl117
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenator.idl215
-rw-r--r--offapi/com/sun/star/linguistic2/XLanguageGuessing.idl205
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl93
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceManager.idl194
-rw-r--r--offapi/com/sun/star/linguistic2/XMeaning.idl72
-rw-r--r--offapi/com/sun/star/linguistic2/XPossibleHyphens.idl102
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreader.idl129
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreadingIterator.idl127
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionary.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl95
-rw-r--r--offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl74
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellAlternatives.idl100
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker.idl137
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker1.idl81
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLanguages.idl60
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLocales.idl85
-rw-r--r--offapi/com/sun/star/linguistic2/XThesaurus.idl99
-rw-r--r--offapi/com/sun/star/linguistic2/makefile.mk101
-rw-r--r--offapi/com/sun/star/logging/ConsoleHandler.idl82
-rw-r--r--offapi/com/sun/star/logging/CsvLogFormatter.idl63
-rw-r--r--offapi/com/sun/star/logging/DocumentIOLogRing.idl63
-rw-r--r--offapi/com/sun/star/logging/FileHandler.idl97
-rw-r--r--offapi/com/sun/star/logging/LogLevel.idl87
-rw-r--r--offapi/com/sun/star/logging/LogRecord.idl96
-rw-r--r--offapi/com/sun/star/logging/LoggerPool.idl34
-rw-r--r--offapi/com/sun/star/logging/PlainTextFormatter.idl60
-rw-r--r--offapi/com/sun/star/logging/SimpleLogRing.idl69
-rw-r--r--offapi/com/sun/star/logging/XConsoleHandler.idl67
-rw-r--r--offapi/com/sun/star/logging/XCsvLogFormatter.idl83
-rw-r--r--offapi/com/sun/star/logging/XLogFormatter.idl88
-rw-r--r--offapi/com/sun/star/logging/XLogHandler.idl110
-rw-r--r--offapi/com/sun/star/logging/XLogger.idl148
-rw-r--r--offapi/com/sun/star/logging/XLoggerPool.idl73
-rw-r--r--offapi/com/sun/star/logging/XSimpleLogRing.idl74
-rw-r--r--offapi/com/sun/star/logging/makefile.mk55
-rw-r--r--offapi/com/sun/star/mail/MailAttachment.idl67
-rw-r--r--offapi/com/sun/star/mail/MailException.idl49
-rw-r--r--offapi/com/sun/star/mail/MailMessage.idl111
-rw-r--r--offapi/com/sun/star/mail/MailServer.idl65
-rw-r--r--offapi/com/sun/star/mail/MailServiceProvider.idl62
-rw-r--r--offapi/com/sun/star/mail/MailServiceType.idl50
-rw-r--r--offapi/com/sun/star/mail/NoMailServiceProviderException.idl52
-rw-r--r--offapi/com/sun/star/mail/NoMailTransportProviderException.idl52
-rw-r--r--offapi/com/sun/star/mail/SendMailMessageFailedException.idl68
-rw-r--r--offapi/com/sun/star/mail/XAuthenticator.idl66
-rw-r--r--offapi/com/sun/star/mail/XConnectionListener.idl73
-rw-r--r--offapi/com/sun/star/mail/XMailMessage.idl158
-rw-r--r--offapi/com/sun/star/mail/XMailServer.idl279
-rw-r--r--offapi/com/sun/star/mail/XMailService.idl229
-rw-r--r--offapi/com/sun/star/mail/XMailServiceProvider.idl70
-rw-r--r--offapi/com/sun/star/mail/XSmtpService.idl107
-rw-r--r--offapi/com/sun/star/mail/makefile.mk58
-rw-r--r--offapi/com/sun/star/makefile.mk46
-rw-r--r--offapi/com/sun/star/media/Manager.idl42
-rw-r--r--offapi/com/sun/star/media/XFrameGrabber.idl51
-rw-r--r--offapi/com/sun/star/media/XManager.idl53
-rw-r--r--offapi/com/sun/star/media/XPlayer.idl182
-rw-r--r--offapi/com/sun/star/media/XPlayerWindow.idl65
-rw-r--r--offapi/com/sun/star/media/ZoomLevel.idl94
-rw-r--r--offapi/com/sun/star/media/makefile.mk50
-rw-r--r--offapi/com/sun/star/modules.idl259
-rw-r--r--offapi/com/sun/star/mozilla/MenuMultipleChange.idl116
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxy.idl63
-rw-r--r--offapi/com/sun/star/mozilla/MenuProxyListener.idl62
-rw-r--r--offapi/com/sun/star/mozilla/MenuSingleChange.idl74
-rw-r--r--offapi/com/sun/star/mozilla/MozillaBootstrap.idl62
-rw-r--r--offapi/com/sun/star/mozilla/MozillaProductType.idl64
-rw-r--r--offapi/com/sun/star/mozilla/XCloseSessionListener.idl62
-rw-r--r--offapi/com/sun/star/mozilla/XCodeProxy.idl67
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxy.idl91
-rw-r--r--offapi/com/sun/star/mozilla/XMenuProxyListener.idl89
-rw-r--r--offapi/com/sun/star/mozilla/XMozillaBootstrap.idl69
-rw-r--r--offapi/com/sun/star/mozilla/XPluginInstance.idl146
-rw-r--r--offapi/com/sun/star/mozilla/XPluginInstanceNotifySink.idl65
-rw-r--r--offapi/com/sun/star/mozilla/XPluginInstancePeer.idl170
-rw-r--r--offapi/com/sun/star/mozilla/XPluginInstanceSyncPeer.idl73
-rw-r--r--offapi/com/sun/star/mozilla/XPluginWindowPeer.idl62
-rw-r--r--offapi/com/sun/star/mozilla/XProfileDiscover.idl127
-rw-r--r--offapi/com/sun/star/mozilla/XProfileManager.idl116
-rw-r--r--offapi/com/sun/star/mozilla/XProxyRunner.idl69
-rw-r--r--offapi/com/sun/star/mozilla/XRemoteServiceManagerProvider.idl61
-rw-r--r--offapi/com/sun/star/mozilla/makefile.mk67
-rw-r--r--offapi/com/sun/star/office/XAnnotation.idl102
-rw-r--r--offapi/com/sun/star/office/XAnnotationAccess.idl72
-rw-r--r--offapi/com/sun/star/office/XAnnotationEnumeration.idl71
-rw-r--r--offapi/com/sun/star/office/makefile.mk47
-rw-r--r--offapi/com/sun/star/oooimprovement/Core.idl55
-rw-r--r--offapi/com/sun/star/oooimprovement/CoreController.idl56
-rw-r--r--offapi/com/sun/star/oooimprovement/XCore.idl59
-rw-r--r--offapi/com/sun/star/oooimprovement/XCoreController.idl57
-rw-r--r--offapi/com/sun/star/oooimprovement/makefile.mk44
-rw-r--r--offapi/com/sun/star/packages/EncryptionNotAllowedException.idl53
-rw-r--r--offapi/com/sun/star/packages/NoEncryptionException.idl53
-rw-r--r--offapi/com/sun/star/packages/NoRawFormatException.idl54
-rw-r--r--offapi/com/sun/star/packages/Package.idl126
-rw-r--r--offapi/com/sun/star/packages/PackageFolder.idl108
-rw-r--r--offapi/com/sun/star/packages/PackageFolderEnumeration.idl54
-rw-r--r--offapi/com/sun/star/packages/PackageStream.idl95
-rw-r--r--offapi/com/sun/star/packages/WrongPasswordException.idl53
-rw-r--r--offapi/com/sun/star/packages/XDataSinkEncrSupport.idl171
-rw-r--r--offapi/com/sun/star/packages/makefile.mk55
-rw-r--r--offapi/com/sun/star/packages/manifest/XManifestReader.idl56
-rw-r--r--offapi/com/sun/star/packages/manifest/XManifestWriter.idl57
-rw-r--r--offapi/com/sun/star/packages/manifest/makefile.mk47
-rw-r--r--offapi/com/sun/star/packages/zip/XZipFileAccess.idl79
-rw-r--r--offapi/com/sun/star/packages/zip/ZipConstants.idl311
-rw-r--r--offapi/com/sun/star/packages/zip/ZipEntry.idl122
-rw-r--r--offapi/com/sun/star/packages/zip/ZipException.idl60
-rw-r--r--offapi/com/sun/star/packages/zip/ZipFileAccess.idl72
-rwxr-xr-xoffapi/com/sun/star/packages/zip/ZipIOException.idl55
-rw-r--r--offapi/com/sun/star/packages/zip/makefile.mk51
-rw-r--r--offapi/com/sun/star/plugin/PluginDescription.idl56
-rw-r--r--offapi/com/sun/star/plugin/PluginException.idl57
-rw-r--r--offapi/com/sun/star/plugin/PluginManager.idl52
-rw-r--r--offapi/com/sun/star/plugin/PluginMode.idl49
-rw-r--r--offapi/com/sun/star/plugin/PluginVariable.idl57
-rw-r--r--offapi/com/sun/star/plugin/XPlugin.idl82
-rw-r--r--offapi/com/sun/star/plugin/XPluginContext.idl198
-rw-r--r--offapi/com/sun/star/plugin/XPluginManager.idl137
-rw-r--r--offapi/com/sun/star/plugin/makefile.mk53
-rw-r--r--offapi/com/sun/star/presentation/AnimationEffect.idl944
-rw-r--r--offapi/com/sun/star/presentation/AnimationSpeed.idl65
-rw-r--r--offapi/com/sun/star/presentation/ChartShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/ClickAction.idl132
-rw-r--r--offapi/com/sun/star/presentation/CustomPresentation.idl68
-rw-r--r--offapi/com/sun/star/presentation/CustomPresentationAccess.idl71
-rw-r--r--offapi/com/sun/star/presentation/DateTimeShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/DocumentSettings.idl120
-rw-r--r--offapi/com/sun/star/presentation/DrawPage.idl177
-rw-r--r--offapi/com/sun/star/presentation/EffectCommands.idl76
-rw-r--r--offapi/com/sun/star/presentation/EffectNodeType.idl81
-rw-r--r--offapi/com/sun/star/presentation/EffectPresetClass.idl81
-rw-r--r--offapi/com/sun/star/presentation/FadeEffect.idl388
-rw-r--r--offapi/com/sun/star/presentation/FooterShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/GraphicObjectShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/HandoutShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/HandoutView.idl59
-rw-r--r--offapi/com/sun/star/presentation/HeaderShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/NotesShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/NotesView.idl59
-rw-r--r--offapi/com/sun/star/presentation/OLE2Shape.idl62
-rw-r--r--offapi/com/sun/star/presentation/OutlineView.idl109
-rw-r--r--offapi/com/sun/star/presentation/OutlinerShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/PageShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/ParagraphTarget.idl58
-rw-r--r--offapi/com/sun/star/presentation/Presentation.idl159
-rw-r--r--offapi/com/sun/star/presentation/Presentation2.idl65
-rw-r--r--offapi/com/sun/star/presentation/PresentationDocument.idl105
-rw-r--r--offapi/com/sun/star/presentation/PresentationRange.idl63
-rw-r--r--offapi/com/sun/star/presentation/PresentationView.idl117
-rw-r--r--offapi/com/sun/star/presentation/PreviewView.idl119
-rw-r--r--offapi/com/sun/star/presentation/Shape.idl180
-rw-r--r--offapi/com/sun/star/presentation/ShapeAnimationSubType.idl66
-rw-r--r--offapi/com/sun/star/presentation/SlideNumberShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/SlidesView.idl110
-rw-r--r--offapi/com/sun/star/presentation/SubtitleShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/TextAnimationType.idl63
-rw-r--r--offapi/com/sun/star/presentation/TitleTextShape.idl62
-rw-r--r--offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl66
-rw-r--r--offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl58
-rw-r--r--offapi/com/sun/star/presentation/XPresentation.idl72
-rw-r--r--offapi/com/sun/star/presentation/XPresentation2.idl99
-rw-r--r--offapi/com/sun/star/presentation/XPresentationPage.idl61
-rw-r--r--offapi/com/sun/star/presentation/XPresentationSupplier.idl62
-rw-r--r--offapi/com/sun/star/presentation/XShapeEventListener.idl66
-rw-r--r--offapi/com/sun/star/presentation/XSlideShow.idl378
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowController.idl308
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowListener.idl80
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowView.idl187
-rw-r--r--offapi/com/sun/star/presentation/XTransition.idl64
-rw-r--r--offapi/com/sun/star/presentation/XTransitionFactory.idl92
-rw-r--r--offapi/com/sun/star/presentation/makefile.mk96
-rw-r--r--offapi/com/sun/star/presentation/textfield/DateTime.idl51
-rw-r--r--offapi/com/sun/star/presentation/textfield/Footer.idl51
-rw-r--r--offapi/com/sun/star/presentation/textfield/Header.idl51
-rw-r--r--offapi/com/sun/star/presentation/textfield/makefile.mk48
-rw-r--r--offapi/com/sun/star/rdf/BlankNode.idl82
-rw-r--r--offapi/com/sun/star/rdf/FileFormat.idl82
-rw-r--r--offapi/com/sun/star/rdf/Literal.idl92
-rw-r--r--offapi/com/sun/star/rdf/ParseException.idl55
-rw-r--r--offapi/com/sun/star/rdf/QueryException.idl56
-rw-r--r--offapi/com/sun/star/rdf/Repository.idl60
-rw-r--r--offapi/com/sun/star/rdf/RepositoryException.idl56
-rw-r--r--offapi/com/sun/star/rdf/Statement.idl63
-rw-r--r--offapi/com/sun/star/rdf/URI.idl102
-rw-r--r--offapi/com/sun/star/rdf/URIs.idl333
-rw-r--r--offapi/com/sun/star/rdf/XBlankNode.idl60
-rw-r--r--offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl452
-rw-r--r--offapi/com/sun/star/rdf/XDocumentRepository.idl243
-rw-r--r--offapi/com/sun/star/rdf/XLiteral.idl72
-rw-r--r--offapi/com/sun/star/rdf/XMetadatable.idl106
-rw-r--r--offapi/com/sun/star/rdf/XNamedGraph.idl229
-rw-r--r--offapi/com/sun/star/rdf/XNode.idl79
-rw-r--r--offapi/com/sun/star/rdf/XQuerySelectResult.idl76
-rw-r--r--offapi/com/sun/star/rdf/XReifiedStatement.idl57
-rw-r--r--offapi/com/sun/star/rdf/XRepository.idl465
-rw-r--r--offapi/com/sun/star/rdf/XRepositorySupplier.idl63
-rw-r--r--offapi/com/sun/star/rdf/XResource.idl61
-rw-r--r--offapi/com/sun/star/rdf/XURI.idl77
-rw-r--r--offapi/com/sun/star/rdf/makefile.mk71
-rw-r--r--offapi/com/sun/star/rendering/AnimationAttributes.idl71
-rw-r--r--offapi/com/sun/star/rendering/AnimationRepeat.idl84
-rwxr-xr-xoffapi/com/sun/star/rendering/BlendMode.idl62
-rw-r--r--offapi/com/sun/star/rendering/CanvasFactory.idl58
-rw-r--r--offapi/com/sun/star/rendering/Caret.idl70
-rw-r--r--offapi/com/sun/star/rendering/ColorComponentTag.idl140
-rw-r--r--offapi/com/sun/star/rendering/ColorProfile.idl43
-rw-r--r--offapi/com/sun/star/rendering/ColorSpaceType.idl126
-rw-r--r--offapi/com/sun/star/rendering/CompositeOperation.idl158
-rw-r--r--offapi/com/sun/star/rendering/EmphasisMark.idl87
-rw-r--r--offapi/com/sun/star/rendering/FillRule.idl63
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl67
-rw-r--r--offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl113
-rw-r--r--offapi/com/sun/star/rendering/FontInfo.idl126
-rw-r--r--offapi/com/sun/star/rendering/FontMetrics.idl107
-rw-r--r--offapi/com/sun/star/rendering/FontRequest.idl121
-rw-r--r--offapi/com/sun/star/rendering/IntegerBitmapLayout.idl127
-rw-r--r--offapi/com/sun/star/rendering/InterpolationMode.idl97
-rw-r--r--offapi/com/sun/star/rendering/Panose.idl67
-rw-r--r--offapi/com/sun/star/rendering/PanoseArmStyle.idl50
-rw-r--r--offapi/com/sun/star/rendering/PanoseContrast.idl48
-rw-r--r--offapi/com/sun/star/rendering/PanoseFamilyTypes.idl44
-rw-r--r--offapi/com/sun/star/rendering/PanoseLetterForm.idl54
-rw-r--r--offapi/com/sun/star/rendering/PanoseMidline.idl52
-rw-r--r--offapi/com/sun/star/rendering/PanoseProportion.idl48
-rw-r--r--offapi/com/sun/star/rendering/PanoseSerifStyle.idl54
-rw-r--r--offapi/com/sun/star/rendering/PanoseStrokeVariation.idl47
-rw-r--r--offapi/com/sun/star/rendering/PanoseWeight.idl50
-rw-r--r--offapi/com/sun/star/rendering/PanoseXHeight.idl46
-rw-r--r--offapi/com/sun/star/rendering/PathCapType.idl59
-rw-r--r--offapi/com/sun/star/rendering/PathJoinType.idl73
-rw-r--r--offapi/com/sun/star/rendering/RenderState.idl108
-rw-r--r--offapi/com/sun/star/rendering/RenderingIntent.idl89
-rw-r--r--offapi/com/sun/star/rendering/RepaintResult.idl58
-rw-r--r--offapi/com/sun/star/rendering/StringContext.idl68
-rw-r--r--offapi/com/sun/star/rendering/StrokeAttributes.idl154
-rw-r--r--offapi/com/sun/star/rendering/TextDirection.idl53
-rw-r--r--offapi/com/sun/star/rendering/TextHit.idl70
-rw-r--r--offapi/com/sun/star/rendering/Texture.idl156
-rw-r--r--offapi/com/sun/star/rendering/TexturingMode.idl70
-rw-r--r--offapi/com/sun/star/rendering/ViewState.idl77
-rw-r--r--offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl49
-rw-r--r--offapi/com/sun/star/rendering/XAnimatedSprite.idl196
-rw-r--r--offapi/com/sun/star/rendering/XAnimation.idl123
-rw-r--r--offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl175
-rw-r--r--offapi/com/sun/star/rendering/XBitmap.idl115
-rw-r--r--offapi/com/sun/star/rendering/XBitmapCanvas.idl151
-rw-r--r--offapi/com/sun/star/rendering/XBitmapPalette.idl126
-rw-r--r--offapi/com/sun/star/rendering/XBufferController.idl134
-rw-r--r--offapi/com/sun/star/rendering/XCachedPrimitive.idl73
-rw-r--r--offapi/com/sun/star/rendering/XCanvas.idl744
-rw-r--r--offapi/com/sun/star/rendering/XCanvasFont.idl140
-rw-r--r--offapi/com/sun/star/rendering/XColorSpace.idl292
-rw-r--r--offapi/com/sun/star/rendering/XCustomSprite.idl77
-rw-r--r--offapi/com/sun/star/rendering/XGraphicDevice.idl303
-rw-r--r--offapi/com/sun/star/rendering/XHalfFloatBitmap.idl97
-rw-r--r--offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl113
-rw-r--r--offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl141
-rw-r--r--offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl140
-rw-r--r--offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl140
-rw-r--r--offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl139
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmap.idl147
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl276
-rw-r--r--offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl160
-rw-r--r--offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl123
-rw-r--r--offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl108
-rw-r--r--offapi/com/sun/star/rendering/XPolyPolygon2D.idl136
-rw-r--r--offapi/com/sun/star/rendering/XSimpleCanvas.idl291
-rw-r--r--offapi/com/sun/star/rendering/XSprite.idl214
-rw-r--r--offapi/com/sun/star/rendering/XSpriteCanvas.idl160
-rw-r--r--offapi/com/sun/star/rendering/XTextLayout.idl432
-rw-r--r--offapi/com/sun/star/rendering/XVolatileBitmap.idl54
-rw-r--r--offapi/com/sun/star/rendering/makefile.mk117
-rw-r--r--offapi/com/sun/star/report/Calculation.idl136
-rw-r--r--offapi/com/sun/star/report/ForceNewPage.idl69
-rw-r--r--offapi/com/sun/star/report/GroupKeepTogether.idl61
-rw-r--r--offapi/com/sun/star/report/GroupOn.idl92
-rw-r--r--offapi/com/sun/star/report/KeepTogether.idl64
-rw-r--r--offapi/com/sun/star/report/ReportPrintOption.idl67
-rw-r--r--offapi/com/sun/star/report/SectionPageBreak.idl60
-rw-r--r--offapi/com/sun/star/report/XFixedLine.idl108
-rw-r--r--offapi/com/sun/star/report/XFixedText.idl55
-rw-r--r--offapi/com/sun/star/report/XFormatCondition.idl61
-rw-r--r--offapi/com/sun/star/report/XFormattedField.idl72
-rw-r--r--offapi/com/sun/star/report/XFunction.idl90
-rw-r--r--offapi/com/sun/star/report/XFunctions.idl80
-rw-r--r--offapi/com/sun/star/report/XFunctionsSupplier.idl51
-rw-r--r--offapi/com/sun/star/report/XGroup.idl149
-rw-r--r--offapi/com/sun/star/report/XGroups.idl83
-rw-r--r--offapi/com/sun/star/report/XImageControl.idl92
-rw-r--r--offapi/com/sun/star/report/XReportComponent.idl200
-rw-r--r--offapi/com/sun/star/report/XReportControlFormat.idl613
-rw-r--r--offapi/com/sun/star/report/XReportControlModel.idl115
-rw-r--r--offapi/com/sun/star/report/XReportDefinition.idl362
-rw-r--r--offapi/com/sun/star/report/XReportEngine.idl169
-rw-r--r--offapi/com/sun/star/report/XSection.idl195
-rw-r--r--offapi/com/sun/star/report/XShape.idl96
-rw-r--r--offapi/com/sun/star/report/inspection/DataProviderHandler.idl55
-rw-r--r--offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.idl96
-rw-r--r--offapi/com/sun/star/report/inspection/ReportComponentHandler.idl55
-rw-r--r--offapi/com/sun/star/report/inspection/makefile.mk49
-rw-r--r--offapi/com/sun/star/report/makefile.mk69
-rw-r--r--offapi/com/sun/star/report/meta/XFormulaParser.idl72
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionCategory.idl76
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionDescription.idl87
-rw-r--r--offapi/com/sun/star/report/meta/XFunctionManager.idl74
-rw-r--r--offapi/com/sun/star/report/meta/makefile.mk49
-rw-r--r--offapi/com/sun/star/report/modules.idl45
-rw-r--r--offapi/com/sun/star/resource/MissingResourceException.idl53
-rw-r--r--offapi/com/sun/star/resource/OfficeResourceLoader.idl81
-rw-r--r--offapi/com/sun/star/resource/StringResource.idl51
-rw-r--r--offapi/com/sun/star/resource/StringResourceWithLocation.idl97
-rw-r--r--offapi/com/sun/star/resource/StringResourceWithStorage.idl92
-rw-r--r--offapi/com/sun/star/resource/XLocale.idl275
-rw-r--r--offapi/com/sun/star/resource/XResourceBundle.idl243
-rw-r--r--offapi/com/sun/star/resource/XResourceBundleLoader.idl86
-rw-r--r--offapi/com/sun/star/resource/XStringResourceManager.idl317
-rw-r--r--offapi/com/sun/star/resource/XStringResourcePersistence.idl247
-rw-r--r--offapi/com/sun/star/resource/XStringResourceResolver.idl201
-rw-r--r--offapi/com/sun/star/resource/XStringResourceSupplier.idl70
-rw-r--r--offapi/com/sun/star/resource/XStringResourceWithLocation.idl89
-rw-r--r--offapi/com/sun/star/resource/XStringResourceWithStorage.idl89
-rw-r--r--offapi/com/sun/star/resource/makefile.mk59
-rw-r--r--offapi/com/sun/star/scanner/ScanError.idl83
-rw-r--r--offapi/com/sun/star/scanner/ScannerContext.idl58
-rw-r--r--offapi/com/sun/star/scanner/ScannerException.idl61
-rw-r--r--offapi/com/sun/star/scanner/ScannerManager.idl56
-rw-r--r--offapi/com/sun/star/scanner/XScannerManager.idl107
-rw-r--r--offapi/com/sun/star/scanner/makefile.mk50
-rw-r--r--offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl82
-rw-r--r--offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl83
-rw-r--r--offapi/com/sun/star/script/LibraryNotLoadedException.idl55
-rw-r--r--offapi/com/sun/star/script/ModuleInfo.idl47
-rw-r--r--offapi/com/sun/star/script/ModuleSizeExceededRequest.idl55
-rw-r--r--offapi/com/sun/star/script/ModuleType.idl64
-rwxr-xr-xoffapi/com/sun/star/script/NativeObjectWrapper.idl42
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer.idl123
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer2.idl99
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl66
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerExport.idl80
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerPassword.idl143
-rw-r--r--offapi/com/sun/star/script/XPersistentLibraryContainer.idl104
-rw-r--r--offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl105
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNode.idl62
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNodeFactory.idl64
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl51
-rwxr-xr-xoffapi/com/sun/star/script/browse/BrowseNodeTypes.idl56
-rwxr-xr-xoffapi/com/sun/star/script/browse/XBrowseNode.idl83
-rw-r--r--offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl66
-rw-r--r--offapi/com/sun/star/script/browse/makefile.mk52
-rw-r--r--offapi/com/sun/star/script/makefile.mk59
-rwxr-xr-xoffapi/com/sun/star/script/provider/LanguageScriptProvider.idl55
-rwxr-xr-xoffapi/com/sun/star/script/provider/MasterScriptProvider.idl55
-rwxr-xr-xoffapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl64
-rw-r--r--offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl59
-rw-r--r--offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl53
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl59
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl62
-rwxr-xr-xoffapi/com/sun/star/script/provider/ScriptProvider.idl61
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl54
-rwxr-xr-xoffapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl54
-rwxr-xr-xoffapi/com/sun/star/script/provider/ScriptProviderForJava.idl54
-rwxr-xr-xoffapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl54
-rwxr-xr-xoffapi/com/sun/star/script/provider/ScriptURIHelper.idl72
-rw-r--r--offapi/com/sun/star/script/provider/XScript.idl102
-rw-r--r--offapi/com/sun/star/script/provider/XScriptContext.idl114
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProvider.idl74
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderFactory.idl72
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl64
-rw-r--r--offapi/com/sun/star/script/provider/XScriptURIHelper.idl88
-rwxr-xr-xoffapi/com/sun/star/script/provider/makefile.mk68
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBAEventId.idl140
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBAEventProcessor.idl49
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBAMacroResolver.idl49
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl50
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBATextEventProcessor.idl50
-rw-r--r--offapi/com/sun/star/script/vba/XVBACompatibility.idl50
-rwxr-xr-xoffapi/com/sun/star/script/vba/XVBAEventProcessor.idl106
-rwxr-xr-xoffapi/com/sun/star/script/vba/XVBAMacroResolver.idl94
-rw-r--r--offapi/com/sun/star/script/vba/XVBAModuleInfo.idl75
-rwxr-xr-xoffapi/com/sun/star/script/vba/makefile.mk54
-rw-r--r--offapi/com/sun/star/sdb/BooleanComparisonMode.idl74
-rw-r--r--offapi/com/sun/star/sdb/CallableStatement.idl59
-rw-r--r--offapi/com/sun/star/sdb/Column.idl59
-rw-r--r--offapi/com/sun/star/sdb/ColumnDescriptorControl.idl52
-rw-r--r--offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl94
-rw-r--r--offapi/com/sun/star/sdb/ColumnSettings.idl134
-rw-r--r--offapi/com/sun/star/sdb/CommandType.idl61
-rw-r--r--offapi/com/sun/star/sdb/Connection.idl98
-rw-r--r--offapi/com/sun/star/sdb/ContentLoader.idl103
-rw-r--r--offapi/com/sun/star/sdb/DataAccessDescriptor.idl270
-rw-r--r--offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl49
-rw-r--r--offapi/com/sun/star/sdb/DataColumn.idl76
-rw-r--r--offapi/com/sun/star/sdb/DataSettings.idl98
-rw-r--r--offapi/com/sun/star/sdb/DataSource.idl255
-rw-r--r--offapi/com/sun/star/sdb/DataSourceBrowser.idl290
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccess.idl119
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessConnection.idl100
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessContext.idl92
-rw-r--r--offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl79
-rw-r--r--offapi/com/sun/star/sdb/DatabaseContext.idl110
-rw-r--r--offapi/com/sun/star/sdb/DatabaseDocument.idl76
-rw-r--r--offapi/com/sun/star/sdb/DatabaseEnvironment.idl72
-rw-r--r--offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl71
-rw-r--r--offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl61
-rw-r--r--offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl129
-rw-r--r--offapi/com/sun/star/sdb/DefinitionContainer.idl97
-rw-r--r--offapi/com/sun/star/sdb/DefinitionContent.idl76
-rw-r--r--offapi/com/sun/star/sdb/Document.idl64
-rw-r--r--offapi/com/sun/star/sdb/DocumentContainer.idl129
-rw-r--r--offapi/com/sun/star/sdb/DocumentDataSource.idl65
-rw-r--r--offapi/com/sun/star/sdb/DocumentDefinition.idl100
-rw-r--r--offapi/com/sun/star/sdb/DocumentSaveRequest.idl70
-rw-r--r--offapi/com/sun/star/sdb/ErrorCondition.idl180
-rw-r--r--offapi/com/sun/star/sdb/ErrorMessageDialog.idl171
-rw-r--r--offapi/com/sun/star/sdb/Forms.idl55
-rw-r--r--offapi/com/sun/star/sdb/InteractionHandler.idl49
-rw-r--r--offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl250
-rw-r--r--offapi/com/sun/star/sdb/OrderColumn.idl55
-rw-r--r--offapi/com/sun/star/sdb/ParametersRequest.idl78
-rw-r--r--offapi/com/sun/star/sdb/PreparedStatement.idl62
-rw-r--r--offapi/com/sun/star/sdb/Query.idl91
-rw-r--r--offapi/com/sun/star/sdb/QueryDefinition.idl88
-rw-r--r--offapi/com/sun/star/sdb/QueryDescriptor.idl106
-rw-r--r--offapi/com/sun/star/sdb/QueryDesign.idl201
-rw-r--r--offapi/com/sun/star/sdb/RelationDesign.idl93
-rw-r--r--offapi/com/sun/star/sdb/Reports.idl55
-rw-r--r--offapi/com/sun/star/sdb/ResultColumn.idl123
-rw-r--r--offapi/com/sun/star/sdb/ResultSet.idl62
-rw-r--r--offapi/com/sun/star/sdb/RowChangeAction.idl59
-rw-r--r--offapi/com/sun/star/sdb/RowChangeEvent.idl59
-rw-r--r--offapi/com/sun/star/sdb/RowSet.idl400
-rw-r--r--offapi/com/sun/star/sdb/RowSetVetoException.idl51
-rw-r--r--offapi/com/sun/star/sdb/RowsChangeEvent.idl52
-rw-r--r--offapi/com/sun/star/sdb/SQLContext.idl65
-rw-r--r--offapi/com/sun/star/sdb/SQLErrorEvent.idl55
-rw-r--r--offapi/com/sun/star/sdb/SQLFilterOperator.idl78
-rw-r--r--offapi/com/sun/star/sdb/SQLQueryComposer.idl75
-rw-r--r--offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl90
-rw-r--r--offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl73
-rw-r--r--offapi/com/sun/star/sdb/Table.idl67
-rw-r--r--offapi/com/sun/star/sdb/TableDescriptor.idl61
-rw-r--r--offapi/com/sun/star/sdb/TableDesign.idl96
-rw-r--r--offapi/com/sun/star/sdb/XAlterQuery.idl63
-rw-r--r--offapi/com/sun/star/sdb/XBookmarksSupplier.idl68
-rw-r--r--offapi/com/sun/star/sdb/XColumn.idl304
-rw-r--r--offapi/com/sun/star/sdb/XColumnUpdate.idl230
-rw-r--r--offapi/com/sun/star/sdb/XCommandPreparation.idl81
-rw-r--r--offapi/com/sun/star/sdb/XCompletedConnection.idl72
-rw-r--r--offapi/com/sun/star/sdb/XCompletedExecution.idl63
-rw-r--r--offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl64
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseAccess.idl74
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseAccessListener.idl53
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseEnvironment.idl73
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrations.idl159
-rw-r--r--offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl71
-rw-r--r--offapi/com/sun/star/sdb/XDocumentDataSource.idl75
-rw-r--r--offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl61
-rw-r--r--offapi/com/sun/star/sdb/XInteractionDocumentSave.idl65
-rw-r--r--offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl62
-rw-r--r--offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl78
-rw-r--r--offapi/com/sun/star/sdb/XParametersSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdb/XQueriesSupplier.idl63
-rw-r--r--offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl59
-rw-r--r--offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl61
-rw-r--r--offapi/com/sun/star/sdb/XResultSetAccess.idl70
-rw-r--r--offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/sdb/XRowSetApproveListener.idl77
-rw-r--r--offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl63
-rw-r--r--offapi/com/sun/star/sdb/XRowSetChangeListener.idl59
-rw-r--r--offapi/com/sun/star/sdb/XRowSetSupplier.idl73
-rw-r--r--offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/sdb/XRowsChangeListener.idl60
-rw-r--r--offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl70
-rw-r--r--offapi/com/sun/star/sdb/XSQLErrorListener.idl62
-rw-r--r--offapi/com/sun/star/sdb/XSQLQueryComposer.idl175
-rw-r--r--offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl60
-rw-r--r--offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl262
-rw-r--r--offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl274
-rw-r--r--offapi/com/sun/star/sdb/XSubDocument.idl102
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableContinuation.idl69
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableOperation.idl72
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl71
-rw-r--r--offapi/com/sun/star/sdb/application/CopyTableWizard.idl231
-rw-r--r--offapi/com/sun/star/sdb/application/DatabaseObject.idl77
-rw-r--r--offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl104
-rw-r--r--offapi/com/sun/star/sdb/application/DefaultViewController.idl101
-rw-r--r--offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl87
-rw-r--r--offapi/com/sun/star/sdb/application/XCopyTableListener.idl98
-rw-r--r--offapi/com/sun/star/sdb/application/XCopyTableWizard.idl153
-rw-r--r--offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl330
-rw-r--r--offapi/com/sun/star/sdb/application/XTableUIProvider.idl123
-rw-r--r--offapi/com/sun/star/sdb/application/makefile.mk60
-rw-r--r--offapi/com/sun/star/sdb/makefile.mk147
-rw-r--r--offapi/com/sun/star/sdb/tools/CompositionType.idl89
-rw-r--r--offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl67
-rw-r--r--offapi/com/sun/star/sdb/tools/XConnectionTools.idl146
-rw-r--r--offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl53
-rw-r--r--offapi/com/sun/star/sdb/tools/XIndexAlteration.idl96
-rw-r--r--offapi/com/sun/star/sdb/tools/XKeyAlteration.idl96
-rw-r--r--offapi/com/sun/star/sdb/tools/XObjectNames.idl179
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableAlteration.idl115
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableName.idl154
-rw-r--r--offapi/com/sun/star/sdb/tools/XTableRename.idl78
-rw-r--r--offapi/com/sun/star/sdb/tools/XViewAccess.idl88
-rw-r--r--offapi/com/sun/star/sdb/tools/makefile.mk59
-rw-r--r--offapi/com/sun/star/sdbc/BatchUpdateException.idl68
-rw-r--r--offapi/com/sun/star/sdbc/BestRowScope.idl86
-rw-r--r--offapi/com/sun/star/sdbc/BestRowType.idl83
-rw-r--r--offapi/com/sun/star/sdbc/CallableStatement.idl110
-rw-r--r--offapi/com/sun/star/sdbc/ChangeAction.idl61
-rw-r--r--offapi/com/sun/star/sdbc/ChangeEvent.idl53
-rw-r--r--offapi/com/sun/star/sdbc/ColumnSearch.idl107
-rw-r--r--offapi/com/sun/star/sdbc/ColumnType.idl83
-rw-r--r--offapi/com/sun/star/sdbc/ColumnValue.idl57
-rw-r--r--offapi/com/sun/star/sdbc/Connection.idl92
-rw-r--r--offapi/com/sun/star/sdbc/ConnectionPool.idl57
-rw-r--r--offapi/com/sun/star/sdbc/ConnectionProperties.idl71
-rw-r--r--offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl66
-rw-r--r--offapi/com/sun/star/sdbc/DataTruncation.idl92
-rw-r--r--offapi/com/sun/star/sdbc/DataType.idl147
-rw-r--r--offapi/com/sun/star/sdbc/Deferrability.idl77
-rw-r--r--offapi/com/sun/star/sdbc/Driver.idl75
-rw-r--r--offapi/com/sun/star/sdbc/DriverManager.idl76
-rw-r--r--offapi/com/sun/star/sdbc/DriverPropertyInfo.idl87
-rw-r--r--offapi/com/sun/star/sdbc/FILEConnectionProperties.idl69
-rw-r--r--offapi/com/sun/star/sdbc/FLATConnectionProperties.idl86
-rw-r--r--offapi/com/sun/star/sdbc/FetchDirection.idl61
-rw-r--r--offapi/com/sun/star/sdbc/IndexType.idl103
-rw-r--r--offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl119
-rw-r--r--offapi/com/sun/star/sdbc/KeyRule.idl192
-rw-r--r--offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl94
-rw-r--r--offapi/com/sun/star/sdbc/PreparedStatement.idl272
-rw-r--r--offapi/com/sun/star/sdbc/ProcedureColumn.idl116
-rw-r--r--offapi/com/sun/star/sdbc/ProcedureResult.idl89
-rw-r--r--offapi/com/sun/star/sdbc/ResultSet.idl249
-rw-r--r--offapi/com/sun/star/sdbc/ResultSetConcurrency.idl58
-rw-r--r--offapi/com/sun/star/sdbc/ResultSetType.idl67
-rw-r--r--offapi/com/sun/star/sdbc/RowSet.idl188
-rw-r--r--offapi/com/sun/star/sdbc/SQLException.idl81
-rw-r--r--offapi/com/sun/star/sdbc/SQLWarning.idl55
-rw-r--r--offapi/com/sun/star/sdbc/Statement.idl233
-rw-r--r--offapi/com/sun/star/sdbc/TransactionIsolation.idl85
-rw-r--r--offapi/com/sun/star/sdbc/XArray.idl255
-rw-r--r--offapi/com/sun/star/sdbc/XBatchExecution.idl83
-rw-r--r--offapi/com/sun/star/sdbc/XBlob.idl251
-rw-r--r--offapi/com/sun/star/sdbc/XClob.idl210
-rw-r--r--offapi/com/sun/star/sdbc/XCloseable.idl59
-rw-r--r--offapi/com/sun/star/sdbc/XColumnLocate.idl76
-rw-r--r--offapi/com/sun/star/sdbc/XConnection.idl438
-rw-r--r--offapi/com/sun/star/sdbc/XDataSource.idl106
-rw-r--r--offapi/com/sun/star/sdbc/XDatabaseMetaData.idl2610
-rw-r--r--offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl66
-rw-r--r--offapi/com/sun/star/sdbc/XDriver.idl182
-rw-r--r--offapi/com/sun/star/sdbc/XDriverAccess.idl64
-rw-r--r--offapi/com/sun/star/sdbc/XDriverManager.idl126
-rw-r--r--offapi/com/sun/star/sdbc/XGeneratedResultSet.idl71
-rw-r--r--offapi/com/sun/star/sdbc/XIsolatedConnection.idl85
-rw-r--r--offapi/com/sun/star/sdbc/XMultipleResults.idl117
-rw-r--r--offapi/com/sun/star/sdbc/XOutParameters.idl148
-rw-r--r--offapi/com/sun/star/sdbc/XParameters.idl458
-rw-r--r--offapi/com/sun/star/sdbc/XPooledConnection.idl80
-rw-r--r--offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl86
-rw-r--r--offapi/com/sun/star/sdbc/XPreparedStatement.idl117
-rw-r--r--offapi/com/sun/star/sdbc/XRef.idl65
-rw-r--r--offapi/com/sun/star/sdbc/XResultSet.idl345
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetMetaData.idl286
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl73
-rw-r--r--offapi/com/sun/star/sdbc/XResultSetUpdate.idl143
-rw-r--r--offapi/com/sun/star/sdbc/XRow.idl349
-rw-r--r--offapi/com/sun/star/sdbc/XRowSet.idl86
-rw-r--r--offapi/com/sun/star/sdbc/XRowSetListener.idl73
-rw-r--r--offapi/com/sun/star/sdbc/XRowUpdate.idl269
-rw-r--r--offapi/com/sun/star/sdbc/XSQLData.idl146
-rw-r--r--offapi/com/sun/star/sdbc/XSQLInput.idl300
-rw-r--r--offapi/com/sun/star/sdbc/XSQLOutput.idl310
-rw-r--r--offapi/com/sun/star/sdbc/XStatement.idl142
-rw-r--r--offapi/com/sun/star/sdbc/XStruct.idl111
-rw-r--r--offapi/com/sun/star/sdbc/XWarningsSupplier.idl84
-rw-r--r--offapi/com/sun/star/sdbc/makefile.mk118
-rw-r--r--offapi/com/sun/star/sdbcx/CheckOption.idl61
-rw-r--r--offapi/com/sun/star/sdbcx/Column.idl125
-rw-r--r--offapi/com/sun/star/sdbcx/ColumnDescriptor.idl107
-rw-r--r--offapi/com/sun/star/sdbcx/CompareBookmark.idl69
-rw-r--r--offapi/com/sun/star/sdbcx/Container.idl101
-rw-r--r--offapi/com/sun/star/sdbcx/DatabaseDefinition.idl80
-rw-r--r--offapi/com/sun/star/sdbcx/Descriptor.idl67
-rw-r--r--offapi/com/sun/star/sdbcx/Driver.idl78
-rw-r--r--offapi/com/sun/star/sdbcx/Group.idl68
-rw-r--r--offapi/com/sun/star/sdbcx/GroupDescriptor.idl53
-rw-r--r--offapi/com/sun/star/sdbcx/Index.idl97
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumn.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/IndexDescriptor.idl73
-rw-r--r--offapi/com/sun/star/sdbcx/Key.idl93
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumn.idl54
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl57
-rw-r--r--offapi/com/sun/star/sdbcx/KeyDescriptor.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/KeyType.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/PreparedStatement.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/Privilege.idl91
-rw-r--r--offapi/com/sun/star/sdbcx/PrivilegeObject.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/ReferenceColumn.idl57
-rw-r--r--offapi/com/sun/star/sdbcx/ResultSet.idl84
-rw-r--r--offapi/com/sun/star/sdbcx/Statement.idl64
-rw-r--r--offapi/com/sun/star/sdbcx/Table.idl134
-rw-r--r--offapi/com/sun/star/sdbcx/TableDescriptor.idl88
-rw-r--r--offapi/com/sun/star/sdbcx/User.idl68
-rw-r--r--offapi/com/sun/star/sdbcx/UserDescriptor.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/View.idl108
-rw-r--r--offapi/com/sun/star/sdbcx/ViewDescriptor.idl74
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterTable.idl97
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterView.idl67
-rw-r--r--offapi/com/sun/star/sdbcx/XAppend.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/XAuthorizable.idl110
-rw-r--r--offapi/com/sun/star/sdbcx/XColumnsSupplier.idl64
-rw-r--r--offapi/com/sun/star/sdbcx/XCreateCatalog.idl74
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl92
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl58
-rw-r--r--offapi/com/sun/star/sdbcx/XDeleteRows.idl67
-rw-r--r--offapi/com/sun/star/sdbcx/XDrop.idl81
-rw-r--r--offapi/com/sun/star/sdbcx/XDropCatalog.idl76
-rw-r--r--offapi/com/sun/star/sdbcx/XGroupsSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/XIndexesSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/XKeysSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/XRename.idl70
-rw-r--r--offapi/com/sun/star/sdbcx/XRowLocate.idl158
-rw-r--r--offapi/com/sun/star/sdbcx/XTablesSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/XUser.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/XUsersSupplier.idl64
-rw-r--r--offapi/com/sun/star/sdbcx/XViewsSupplier.idl60
-rw-r--r--offapi/com/sun/star/sdbcx/makefile.mk97
-rw-r--r--offapi/com/sun/star/security/CertificateCharacters.idl61
-rw-r--r--offapi/com/sun/star/security/CertificateContainer.idl46
-rw-r--r--offapi/com/sun/star/security/CertificateContainerStatus.idl64
-rw-r--r--offapi/com/sun/star/security/CertificateException.idl54
-rw-r--r--offapi/com/sun/star/security/CertificateValidity.idl133
-rw-r--r--offapi/com/sun/star/security/CryptographyException.idl55
-rw-r--r--offapi/com/sun/star/security/DocumentDigitalSignatures.idl55
-rw-r--r--offapi/com/sun/star/security/DocumentSignatureInformation.idl86
-rw-r--r--offapi/com/sun/star/security/EncryptionException.idl55
-rw-r--r--offapi/com/sun/star/security/KeyException.idl55
-rw-r--r--offapi/com/sun/star/security/KeyUsage.idl49
-rw-r--r--offapi/com/sun/star/security/NoPasswordException.idl55
-rw-r--r--offapi/com/sun/star/security/SecurityInfrastructureException.idl55
-rw-r--r--offapi/com/sun/star/security/SerialNumberAdapter.idl57
-rw-r--r--offapi/com/sun/star/security/SignatureException.idl55
-rw-r--r--offapi/com/sun/star/security/XCertificate.idl137
-rw-r--r--offapi/com/sun/star/security/XCertificateContainer.idl66
-rw-r--r--offapi/com/sun/star/security/XCertificateExtension.idl65
-rw-r--r--offapi/com/sun/star/security/XDocumentDigitalSignatures.idl153
-rw-r--r--offapi/com/sun/star/security/XSerialNumberAdapter.idl59
-rw-r--r--offapi/com/sun/star/security/makefile.mk67
-rw-r--r--offapi/com/sun/star/setup/ActionType.idl67
-rw-r--r--offapi/com/sun/star/setup/BaseAction.idl48
-rw-r--r--offapi/com/sun/star/setup/CopyFileAction.idl64
-rw-r--r--offapi/com/sun/star/setup/DeleteDirAction.idl44
-rw-r--r--offapi/com/sun/star/setup/DeleteFileAction.idl60
-rw-r--r--offapi/com/sun/star/setup/DeleteFolderAction.idl44
-rw-r--r--offapi/com/sun/star/setup/DeleteFolderItemAction.idl47
-rw-r--r--offapi/com/sun/star/setup/DownloadAction.idl50
-rw-r--r--offapi/com/sun/star/setup/FontAction.idl50
-rw-r--r--offapi/com/sun/star/setup/InstallEnvironment.idl116
-rw-r--r--offapi/com/sun/star/setup/InstallResponse.idl62
-rw-r--r--offapi/com/sun/star/setup/InstallType.idl61
-rw-r--r--offapi/com/sun/star/setup/MakeDirAction.idl47
-rw-r--r--offapi/com/sun/star/setup/MakeFolderAction.idl47
-rw-r--r--offapi/com/sun/star/setup/MakeFolderItemAction.idl56
-rw-r--r--offapi/com/sun/star/setup/MakeShortcutAction.idl53
-rw-r--r--offapi/com/sun/star/setup/MirrorEntry.idl46
-rw-r--r--offapi/com/sun/star/setup/ModuleInfo.idl70
-rw-r--r--offapi/com/sun/star/setup/ModuleState.idl46
-rw-r--r--offapi/com/sun/star/setup/OSType.idl74
-rw-r--r--offapi/com/sun/star/setup/ProductRegistration.idl93
-rw-r--r--offapi/com/sun/star/setup/ProfileItemAction.idl56
-rw-r--r--offapi/com/sun/star/setup/Setup.idl49
-rw-r--r--offapi/com/sun/star/setup/SizeInfo.idl49
-rw-r--r--offapi/com/sun/star/setup/UnzipAction.idl70
-rw-r--r--offapi/com/sun/star/setup/UpdateType.idl49
-rw-r--r--offapi/com/sun/star/setup/VersionIdentifier.idl57
-rw-r--r--offapi/com/sun/star/setup/WindowsRegistryAction.idl62
-rw-r--r--offapi/com/sun/star/setup/XSetup.idl108
-rw-r--r--offapi/com/sun/star/setup/makefile.mk74
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCell.idl135
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvCell.idl81
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvRuler.idl80
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvTable.idl91
-rw-r--r--offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl148
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl157
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl166
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl183
-rw-r--r--offapi/com/sun/star/sheet/ActivationEvent.idl64
-rw-r--r--offapi/com/sun/star/sheet/AddIn.idl160
-rw-r--r--offapi/com/sun/star/sheet/AddressConvention.idl70
-rw-r--r--offapi/com/sun/star/sheet/Border.idl72
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotation.idl91
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotationShape.idl57
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotations.idl75
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLink.idl121
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLinks.idl83
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/CellDeleteMode.idl78
-rw-r--r--offapi/com/sun/star/sheet/CellFlags.idl114
-rw-r--r--offapi/com/sun/star/sheet/CellFormatRanges.idl79
-rw-r--r--offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/CellInsertMode.idl78
-rw-r--r--offapi/com/sun/star/sheet/Cells.idl62
-rw-r--r--offapi/com/sun/star/sheet/CellsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/ComplexReference.idl63
-rw-r--r--offapi/com/sun/star/sheet/ConditionOperator.idl108
-rw-r--r--offapi/com/sun/star/sheet/ConsolidationDescriptor.idl61
-rw-r--r--offapi/com/sun/star/sheet/DDEItemInfo.idl65
-rw-r--r--offapi/com/sun/star/sheet/DDELink.idl94
-rw-r--r--offapi/com/sun/star/sheet/DDELinkInfo.idl80
-rw-r--r--offapi/com/sun/star/sheet/DDELinkMode.idl70
-rw-r--r--offapi/com/sun/star/sheet/DDELinks.idl98
-rw-r--r--offapi/com/sun/star/sheet/DDELinksEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataImportMode.idl72
-rw-r--r--offapi/com/sun/star/sheet/DataPilotDescriptor.idl151
-rw-r--r--offapi/com/sun/star/sheet/DataPilotField.idl248
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl83
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldFilter.idl51
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroup.idl133
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl138
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl64
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl164
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl60
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroups.idl127
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl64
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl66
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl86
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl78
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReference.idl91
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl68
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl175
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl64
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl74
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl81
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFields.idl84
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItem.idl90
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItems.idl80
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl72
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSource.idl129
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceDimension.idl174
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl64
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl72
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceLevel.idl110
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceLevels.idl63
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMember.idl99
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMembers.idl63
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTable.idl80
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl79
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionData.idl90
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionType.idl78
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableResultData.idl86
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTables.idl77
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataResult.idl62
-rw-r--r--offapi/com/sun/star/sheet/DataResultFlags.idl69
-rw-r--r--offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl94
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRange.idl172
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRanges.idl83
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/DimensionFlags.idl74
-rw-r--r--offapi/com/sun/star/sheet/DocumentSettings.idl137
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLink.idl54
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLinks.idl52
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkInfo.idl77
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkType.idl64
-rw-r--r--offapi/com/sun/star/sheet/ExternalReference.idl96
-rw-r--r--offapi/com/sun/star/sheet/ExternalSheetCache.idl52
-rw-r--r--offapi/com/sun/star/sheet/FillDateMode.idl75
-rw-r--r--offapi/com/sun/star/sheet/FillDirection.idl73
-rw-r--r--offapi/com/sun/star/sheet/FillMode.idl93
-rw-r--r--offapi/com/sun/star/sheet/FilterConnection.idl61
-rw-r--r--offapi/com/sun/star/sheet/FilterFormulaParser.idl52
-rw-r--r--offapi/com/sun/star/sheet/FilterOperator.idl120
-rw-r--r--offapi/com/sun/star/sheet/FilterOperator2.idl161
-rw-r--r--offapi/com/sun/star/sheet/FormulaLanguage.idl70
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroup.idl77
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl210
-rw-r--r--offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl65
-rw-r--r--offapi/com/sun/star/sheet/FormulaParser.idl118
-rw-r--r--offapi/com/sun/star/sheet/FormulaResult.idl66
-rw-r--r--offapi/com/sun/star/sheet/FormulaToken.idl64
-rw-r--r--offapi/com/sun/star/sheet/FunctionAccess.idl95
-rw-r--r--offapi/com/sun/star/sheet/FunctionArgument.idl69
-rw-r--r--offapi/com/sun/star/sheet/FunctionCategory.idl116
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescription.idl89
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescriptions.idl91
-rw-r--r--offapi/com/sun/star/sheet/GeneralFunction.idl128
-rw-r--r--offapi/com/sun/star/sheet/GlobalSheetSettings.idl192
-rw-r--r--offapi/com/sun/star/sheet/GoalResult.idl58
-rw-r--r--offapi/com/sun/star/sheet/HeaderFooterContent.idl60
-rw-r--r--offapi/com/sun/star/sheet/LabelRange.idl61
-rw-r--r--offapi/com/sun/star/sheet/LabelRanges.idl87
-rw-r--r--offapi/com/sun/star/sheet/LabelRangesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/LocalizedName.idl65
-rw-r--r--offapi/com/sun/star/sheet/MemberResult.idl68
-rw-r--r--offapi/com/sun/star/sheet/MemberResultFlags.idl77
-rw-r--r--offapi/com/sun/star/sheet/MoveDirection.idl73
-rw-r--r--offapi/com/sun/star/sheet/NamedRange.idl112
-rw-r--r--offapi/com/sun/star/sheet/NamedRangeFlag.idl72
-rw-r--r--offapi/com/sun/star/sheet/NamedRanges.idl102
-rw-r--r--offapi/com/sun/star/sheet/NamedRangesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/NoConvergenceException.idl52
-rw-r--r--offapi/com/sun/star/sheet/PasteOperation.idl79
-rw-r--r--offapi/com/sun/star/sheet/RangeSelectionArguments.idl72
-rw-r--r--offapi/com/sun/star/sheet/RangeSelectionEvent.idl57
-rw-r--r--offapi/com/sun/star/sheet/RecentFunctions.idl58
-rw-r--r--offapi/com/sun/star/sheet/ReferenceFlags.idl97
-rw-r--r--offapi/com/sun/star/sheet/ResultEvent.idl63
-rw-r--r--offapi/com/sun/star/sheet/Scenario.idl122
-rw-r--r--offapi/com/sun/star/sheet/Scenarios.idl81
-rw-r--r--offapi/com/sun/star/sheet/ScenariosEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/Shape.idl82
-rw-r--r--offapi/com/sun/star/sheet/SheetCell.idl340
-rw-r--r--offapi/com/sun/star/sheet/SheetCellCursor.idl92
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRange.idl434
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRanges.idl257
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/SheetFilterDescriptor.idl151
-rw-r--r--offapi/com/sun/star/sheet/SheetLink.idl109
-rw-r--r--offapi/com/sun/star/sheet/SheetLinkMode.idl70
-rw-r--r--offapi/com/sun/star/sheet/SheetLinks.idl89
-rw-r--r--offapi/com/sun/star/sheet/SheetLinksEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/SheetRangesQuery.idl68
-rw-r--r--offapi/com/sun/star/sheet/SheetSortDescriptor.idl102
-rw-r--r--offapi/com/sun/star/sheet/SheetSortDescriptor2.idl116
-rw-r--r--offapi/com/sun/star/sheet/SingleReference.idl90
-rw-r--r--offapi/com/sun/star/sheet/Solver.idl50
-rw-r--r--offapi/com/sun/star/sheet/SolverConstraint.idl66
-rw-r--r--offapi/com/sun/star/sheet/SolverConstraintOperator.idl62
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheet.idl279
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDocument.idl288
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl250
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl97
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetView.idl148
-rwxr-xr-xoffapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl61
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewPane.idl71
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl199
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheets.idl95
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/StatusBarFunction.idl91
-rw-r--r--offapi/com/sun/star/sheet/SubTotalColumn.idl66
-rw-r--r--offapi/com/sun/star/sheet/SubTotalDescriptor.idl150
-rw-r--r--offapi/com/sun/star/sheet/SubTotalField.idl63
-rw-r--r--offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormat.idl141
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatField.idl329
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormats.idl85
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/TableCellStyle.idl112
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalEntry.idl70
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl62
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalFormat.idl103
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField.idl90
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField2.idl97
-rw-r--r--offapi/com/sun/star/sheet/TableOperationMode.idl76
-rw-r--r--offapi/com/sun/star/sheet/TablePageBreakData.idl62
-rw-r--r--offapi/com/sun/star/sheet/TablePageStyle.idl221
-rw-r--r--offapi/com/sun/star/sheet/TableValidation.idl148
-rw-r--r--offapi/com/sun/star/sheet/TableValidationVisibility.idl67
-rw-r--r--offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl80
-rw-r--r--offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl63
-rw-r--r--offapi/com/sun/star/sheet/ValidationAlertStyle.idl74
-rw-r--r--offapi/com/sun/star/sheet/ValidationType.idl96
-rw-r--r--offapi/com/sun/star/sheet/VolatileResult.idl64
-rw-r--r--offapi/com/sun/star/sheet/XActivationBroadcaster.idl85
-rw-r--r--offapi/com/sun/star/sheet/XActivationEventListener.idl74
-rw-r--r--offapi/com/sun/star/sheet/XAddIn.idl218
-rw-r--r--offapi/com/sun/star/sheet/XAreaLink.idl89
-rw-r--r--offapi/com/sun/star/sheet/XAreaLinks.idl95
-rw-r--r--offapi/com/sun/star/sheet/XArrayFormulaRange.idl69
-rw-r--r--offapi/com/sun/star/sheet/XArrayFormulaTokens.idl68
-rw-r--r--offapi/com/sun/star/sheet/XCalculatable.idl95
-rw-r--r--offapi/com/sun/star/sheet/XCellAddressable.idl66
-rw-r--r--offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl75
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeAddressable.idl66
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeData.idl69
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeFormula.idl79
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeMovement.idl131
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeReferrer.idl68
-rw-r--r--offapi/com/sun/star/sheet/XCellRangesAccess.idl152
-rw-r--r--offapi/com/sun/star/sheet/XCellRangesQuery.idl172
-rw-r--r--offapi/com/sun/star/sheet/XCellSeries.idl110
-rw-r--r--offapi/com/sun/star/sheet/XCompatibilityNames.idl82
-rw-r--r--offapi/com/sun/star/sheet/XConsolidatable.idl87
-rw-r--r--offapi/com/sun/star/sheet/XConsolidationDescriptor.idl150
-rw-r--r--offapi/com/sun/star/sheet/XDDELink.idl75
-rw-r--r--offapi/com/sun/star/sheet/XDDELinkResults.idl77
-rw-r--r--offapi/com/sun/star/sheet/XDDELinks.idl92
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl74
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotDescriptor.idl150
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotField.idl67
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl174
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotMemberResults.idl70
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotResults.idl70
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTable.idl73
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTable2.idl131
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTables.idl106
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl66
-rw-r--r--offapi/com/sun/star/sheet/XDatabaseRange.idl131
-rw-r--r--offapi/com/sun/star/sheet/XDatabaseRanges.idl72
-rw-r--r--offapi/com/sun/star/sheet/XDimensionsSupplier.idl66
-rw-r--r--offapi/com/sun/star/sheet/XDocumentAuditing.idl62
-rw-r--r--offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl87
-rw-r--r--offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl91
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLink.idl98
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLinks.idl63
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetCache.idl99
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetName.idl82
-rw-r--r--offapi/com/sun/star/sheet/XFillAcrossSheet.idl60
-rw-r--r--offapi/com/sun/star/sheet/XFilterFormulaParser.idl59
-rw-r--r--offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl155
-rw-r--r--offapi/com/sun/star/sheet/XFormulaParser.idl68
-rw-r--r--offapi/com/sun/star/sheet/XFormulaQuery.idl100
-rw-r--r--offapi/com/sun/star/sheet/XFormulaTokens.idl68
-rw-r--r--offapi/com/sun/star/sheet/XFunctionAccess.idl125
-rw-r--r--offapi/com/sun/star/sheet/XFunctionDescriptions.idl83
-rw-r--r--offapi/com/sun/star/sheet/XGoalSeek.idl83
-rw-r--r--offapi/com/sun/star/sheet/XHeaderFooterContent.idl86
-rw-r--r--offapi/com/sun/star/sheet/XHierarchiesSupplier.idl68
-rw-r--r--offapi/com/sun/star/sheet/XLabelRange.idl87
-rw-r--r--offapi/com/sun/star/sheet/XLabelRanges.idl80
-rw-r--r--offapi/com/sun/star/sheet/XLevelsSupplier.idl68
-rw-r--r--offapi/com/sun/star/sheet/XMembersSupplier.idl68
-rw-r--r--offapi/com/sun/star/sheet/XMultiFormulaTokens.idl99
-rw-r--r--offapi/com/sun/star/sheet/XMultipleOperation.idl102
-rw-r--r--offapi/com/sun/star/sheet/XNamedRange.idl111
-rw-r--r--offapi/com/sun/star/sheet/XNamedRanges.idl142
-rw-r--r--offapi/com/sun/star/sheet/XPrintAreas.idl165
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelection.idl94
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl64
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelectionListener.idl67
-rw-r--r--offapi/com/sun/star/sheet/XRecentFunctions.idl83
-rw-r--r--offapi/com/sun/star/sheet/XResultListener.idl64
-rw-r--r--offapi/com/sun/star/sheet/XScenario.idl93
-rw-r--r--offapi/com/sun/star/sheet/XScenarioEnhanced.idl72
-rw-r--r--offapi/com/sun/star/sheet/XScenarios.idl84
-rw-r--r--offapi/com/sun/star/sheet/XScenariosSupplier.idl64
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotation.idl91
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl65
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl66
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotations.idl90
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl64
-rw-r--r--offapi/com/sun/star/sheet/XSheetAuditing.idl124
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellCursor.idl113
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRange.idl70
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl127
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRanges.idl92
-rw-r--r--offapi/com/sun/star/sheet/XSheetCondition.idl132
-rw-r--r--offapi/com/sun/star/sheet/XSheetConditionalEntries.idl102
-rw-r--r--offapi/com/sun/star/sheet/XSheetConditionalEntry.idl69
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl65
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl70
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterable.idl81
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterableEx.idl71
-rw-r--r--offapi/com/sun/star/sheet/XSheetLinkable.idl134
-rw-r--r--offapi/com/sun/star/sheet/XSheetOperation.idl87
-rw-r--r--offapi/com/sun/star/sheet/XSheetOutline.idl141
-rw-r--r--offapi/com/sun/star/sheet/XSheetPageBreak.idl94
-rw-r--r--offapi/com/sun/star/sheet/XSheetPastable.idl100
-rw-r--r--offapi/com/sun/star/sheet/XSolver.idl84
-rw-r--r--offapi/com/sun/star/sheet/XSolverDescription.idl65
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheet.idl76
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheetDocument.idl66
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheetView.idl69
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheets.idl93
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalCalculatable.idl95
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalDescriptor.idl80
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalField.idl87
-rw-r--r--offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl77
-rw-r--r--offapi/com/sun/star/sheet/XUsedAreaCursor.idl78
-rw-r--r--offapi/com/sun/star/sheet/XViewFreezable.idl75
-rw-r--r--offapi/com/sun/star/sheet/XViewPane.idl89
-rw-r--r--offapi/com/sun/star/sheet/XViewPanesSupplier.idl64
-rw-r--r--offapi/com/sun/star/sheet/XViewSplitable.idl102
-rw-r--r--offapi/com/sun/star/sheet/XVolatileResult.idl73
-rw-r--r--offapi/com/sun/star/sheet/_NamedRange.idl73
-rw-r--r--offapi/com/sun/star/sheet/makefile.mk350
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagAction.idl58
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizer.idl60
-rw-r--r--offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl60
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagAction.idl358
-rw-r--r--offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl231
-rw-r--r--offapi/com/sun/star/smarttags/makefile.mk66
-rw-r--r--offapi/com/sun/star/style/BreakType.idl131
-rw-r--r--offapi/com/sun/star/style/CaseMap.idl87
-rw-r--r--offapi/com/sun/star/style/CellStyle.idl60
-rw-r--r--offapi/com/sun/star/style/CharacterProperties.idl450
-rw-r--r--offapi/com/sun/star/style/CharacterPropertiesAsian.idl91
-rw-r--r--offapi/com/sun/star/style/CharacterPropertiesComplex.idl91
-rw-r--r--offapi/com/sun/star/style/CharacterStyle.idl86
-rw-r--r--offapi/com/sun/star/style/DropCapFormat.idl70
-rw-r--r--offapi/com/sun/star/style/GraphicLocation.idl137
-rw-r--r--offapi/com/sun/star/style/HorizontalAlignment.idl76
-rw-r--r--offapi/com/sun/star/style/LineNumberPosition.idl80
-rw-r--r--offapi/com/sun/star/style/LineSpacing.idl63
-rw-r--r--offapi/com/sun/star/style/LineSpacingMode.idl79
-rw-r--r--offapi/com/sun/star/style/NumberingAlignment.idl83
-rw-r--r--offapi/com/sun/star/style/NumberingLevel.idl121
-rw-r--r--offapi/com/sun/star/style/NumberingRule.idl68
-rw-r--r--offapi/com/sun/star/style/NumberingType.idl480
-rw-r--r--offapi/com/sun/star/style/PageProperties.idl502
-rw-r--r--offapi/com/sun/star/style/PageStyle.idl70
-rw-r--r--offapi/com/sun/star/style/PageStyleLayout.idl73
-rw-r--r--offapi/com/sun/star/style/ParagraphAdjust.idl86
-rw-r--r--offapi/com/sun/star/style/ParagraphProperties.idl463
-rw-r--r--offapi/com/sun/star/style/ParagraphPropertiesAsian.idl63
-rw-r--r--offapi/com/sun/star/style/ParagraphPropertiesComplex.idl53
-rw-r--r--offapi/com/sun/star/style/ParagraphStyle.idl163
-rw-r--r--offapi/com/sun/star/style/ParagraphStyleCategory.idl86
-rw-r--r--offapi/com/sun/star/style/Style.idl174
-rw-r--r--offapi/com/sun/star/style/StyleFamilies.idl119
-rw-r--r--offapi/com/sun/star/style/StyleFamily.idl89
-rw-r--r--offapi/com/sun/star/style/TabAlign.idl91
-rw-r--r--offapi/com/sun/star/style/TabStop.idl84
-rw-r--r--offapi/com/sun/star/style/VerticalAlignment.idl76
-rw-r--r--offapi/com/sun/star/style/XAutoStyle.idl74
-rw-r--r--offapi/com/sun/star/style/XAutoStyleFamily.idl65
-rw-r--r--offapi/com/sun/star/style/XAutoStyles.idl64
-rw-r--r--offapi/com/sun/star/style/XAutoStylesSupplier.idl66
-rw-r--r--offapi/com/sun/star/style/XDefaultsSupplier.idl62
-rw-r--r--offapi/com/sun/star/style/XStyle.idl85
-rw-r--r--offapi/com/sun/star/style/XStyleCondition.idl70
-rw-r--r--offapi/com/sun/star/style/XStyleFamiliesSupplier.idl68
-rw-r--r--offapi/com/sun/star/style/XStyleLoader.idl97
-rw-r--r--offapi/com/sun/star/style/makefile.mk87
-rw-r--r--offapi/com/sun/star/svg/XSVGPrinter.idl61
-rw-r--r--offapi/com/sun/star/svg/XSVGWriter.idl52
-rw-r--r--offapi/com/sun/star/svg/makefile.mk48
-rw-r--r--offapi/com/sun/star/sync/SyncAction.idl62
-rw-r--r--offapi/com/sun/star/sync/SyncCollector.idl49
-rw-r--r--offapi/com/sun/star/sync/SyncElement.idl72
-rw-r--r--offapi/com/sun/star/sync/SyncEvent.idl56
-rw-r--r--offapi/com/sun/star/sync/SyncInfo.idl61
-rw-r--r--offapi/com/sun/star/sync/SyncMode.idl54
-rw-r--r--offapi/com/sun/star/sync/SyncOptions.idl60
-rw-r--r--offapi/com/sun/star/sync/SyncScheme.idl56
-rw-r--r--offapi/com/sun/star/sync/SyncType.idl59
-rw-r--r--offapi/com/sun/star/sync/Synchronizer.idl49
-rw-r--r--offapi/com/sun/star/sync/XSyncCollector.idl88
-rw-r--r--offapi/com/sun/star/sync/XSynchronizer.idl61
-rw-r--r--offapi/com/sun/star/sync/makefile.mk57
-rw-r--r--offapi/com/sun/star/sync2/BadPartnershipException.idl54
-rw-r--r--offapi/com/sun/star/sync2/makefile.mk39
-rw-r--r--offapi/com/sun/star/system/ProxySettings.idl78
-rw-r--r--offapi/com/sun/star/system/SOffice52ProxySettings.idl65
-rw-r--r--offapi/com/sun/star/system/SimpleCommandMail.idl82
-rw-r--r--offapi/com/sun/star/system/SimpleMailClientFlags.idl72
-rw-r--r--offapi/com/sun/star/system/SimpleSystemMail.idl77
-rw-r--r--offapi/com/sun/star/system/SystemProxySettings.idl63
-rw-r--r--offapi/com/sun/star/system/SystemShellExecute.idl76
-rw-r--r--offapi/com/sun/star/system/SystemShellExecuteException.idl62
-rw-r--r--offapi/com/sun/star/system/SystemShellExecuteFlags.idl56
-rw-r--r--offapi/com/sun/star/system/XProxySettings.idl144
-rw-r--r--offapi/com/sun/star/system/XSimpleMailClient.idl105
-rw-r--r--offapi/com/sun/star/system/XSimpleMailClientSupplier.idl77
-rw-r--r--offapi/com/sun/star/system/XSimpleMailMessage.idl165
-rw-r--r--offapi/com/sun/star/system/XSystemShellExecute.idl94
-rw-r--r--offapi/com/sun/star/system/makefile.mk59
-rw-r--r--offapi/com/sun/star/table/AccessibleCellView.idl157
-rw-r--r--offapi/com/sun/star/table/AccessibleTableView.idl161
-rw-r--r--offapi/com/sun/star/table/BorderLine.idl82
-rw-r--r--offapi/com/sun/star/table/Cell.idl78
-rw-r--r--offapi/com/sun/star/table/CellAddress.idl66
-rw-r--r--offapi/com/sun/star/table/CellContentType.idl72
-rw-r--r--offapi/com/sun/star/table/CellCursor.idl61
-rw-r--r--offapi/com/sun/star/table/CellHoriJustify.idl84
-rw-r--r--offapi/com/sun/star/table/CellOrientation.idl73
-rw-r--r--offapi/com/sun/star/table/CellProperties.idl265
-rw-r--r--offapi/com/sun/star/table/CellRange.idl68
-rw-r--r--offapi/com/sun/star/table/CellRangeAddress.idl78
-rw-r--r--offapi/com/sun/star/table/CellRangeListSource.idl93
-rw-r--r--offapi/com/sun/star/table/CellValueBinding.idl106
-rw-r--r--offapi/com/sun/star/table/CellVertJustify.idl72
-rw-r--r--offapi/com/sun/star/table/ListPositionCellBinding.idl61
-rw-r--r--offapi/com/sun/star/table/ShadowFormat.idl80
-rw-r--r--offapi/com/sun/star/table/ShadowLocation.idl78
-rw-r--r--offapi/com/sun/star/table/TableBorder.idl154
-rw-r--r--offapi/com/sun/star/table/TableBorderDistances.idl109
-rw-r--r--offapi/com/sun/star/table/TableChart.idl83
-rw-r--r--offapi/com/sun/star/table/TableCharts.idl82
-rw-r--r--offapi/com/sun/star/table/TableChartsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/table/TableColumn.idl112
-rw-r--r--offapi/com/sun/star/table/TableColumns.idl85
-rw-r--r--offapi/com/sun/star/table/TableColumnsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/table/TableOrientation.idl60
-rw-r--r--offapi/com/sun/star/table/TableRow.idl100
-rw-r--r--offapi/com/sun/star/table/TableRows.idl72
-rw-r--r--offapi/com/sun/star/table/TableRowsEnumeration.idl62
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor.idl104
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor2.idl87
-rw-r--r--offapi/com/sun/star/table/TableSortField.idl107
-rw-r--r--offapi/com/sun/star/table/TableSortFieldType.idl65
-rw-r--r--offapi/com/sun/star/table/XAutoFormattable.idl69
-rw-r--r--offapi/com/sun/star/table/XCell.idl116
-rw-r--r--offapi/com/sun/star/table/XCellCursor.idl100
-rw-r--r--offapi/com/sun/star/table/XCellRange.idl135
-rw-r--r--offapi/com/sun/star/table/XColumnRowRange.idl79
-rw-r--r--offapi/com/sun/star/table/XMergeableCell.idl76
-rw-r--r--offapi/com/sun/star/table/XMergeableCellRange.idl97
-rw-r--r--offapi/com/sun/star/table/XTable.idl147
-rw-r--r--offapi/com/sun/star/table/XTableChart.idl100
-rw-r--r--offapi/com/sun/star/table/XTableCharts.idl102
-rw-r--r--offapi/com/sun/star/table/XTableChartsSupplier.idl65
-rw-r--r--offapi/com/sun/star/table/XTableColumns.idl85
-rw-r--r--offapi/com/sun/star/table/XTableRows.idl84
-rw-r--r--offapi/com/sun/star/table/makefile.mk92
-rw-r--r--offapi/com/sun/star/task/AsyncJob.idl66
-rw-r--r--offapi/com/sun/star/task/ClassifiedInteractionRequest.idl63
-rw-r--r--offapi/com/sun/star/task/DocumentMSPasswordRequest.idl64
-rwxr-xr-xoffapi/com/sun/star/task/DocumentMSPasswordRequest2.idl68
-rw-r--r--offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl79
-rw-r--r--offapi/com/sun/star/task/DocumentPasswordRequest.idl63
-rwxr-xr-xoffapi/com/sun/star/task/DocumentPasswordRequest2.idl67
-rw-r--r--offapi/com/sun/star/task/ErrorCodeIOException.idl56
-rw-r--r--offapi/com/sun/star/task/ErrorCodeRequest.idl56
-rw-r--r--offapi/com/sun/star/task/FutureDocumentVersionProductUpdateRequest.idl65
-rw-r--r--offapi/com/sun/star/task/InteractionClassification.idl86
-rw-r--r--offapi/com/sun/star/task/InteractionHandler.idl187
-rw-r--r--offapi/com/sun/star/task/InteractionRequestStringResolver.idl46
-rw-r--r--offapi/com/sun/star/task/Job.idl66
-rw-r--r--offapi/com/sun/star/task/JobExecutor.idl63
-rw-r--r--offapi/com/sun/star/task/MasterPasswordRequest.idl58
-rw-r--r--offapi/com/sun/star/task/NoMasterException.idl59
-rw-r--r--offapi/com/sun/star/task/OfficeRestartManager.idl53
-rw-r--r--offapi/com/sun/star/task/PDFExportException.idl52
-rw-r--r--offapi/com/sun/star/task/PasswordContainer.idl82
-rw-r--r--offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl57
-rw-r--r--offapi/com/sun/star/task/PasswordRequest.idl67
-rw-r--r--offapi/com/sun/star/task/PasswordRequestMode.idl79
-rw-r--r--offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl63
-rw-r--r--offapi/com/sun/star/task/UrlRecord.idl54
-rw-r--r--offapi/com/sun/star/task/UserRecord.idl50
-rw-r--r--offapi/com/sun/star/task/XAbortChannel.idl49
-rw-r--r--offapi/com/sun/star/task/XAsyncJob.idl92
-rw-r--r--offapi/com/sun/star/task/XInteractionApprove.idl52
-rw-r--r--offapi/com/sun/star/task/XInteractionAskLater.idl51
-rw-r--r--offapi/com/sun/star/task/XInteractionDisapprove.idl52
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword.idl66
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword2.idl80
-rw-r--r--offapi/com/sun/star/task/XInteractionRequestStringResolver.idl82
-rw-r--r--offapi/com/sun/star/task/XJob.idl96
-rw-r--r--offapi/com/sun/star/task/XJobExecutor.idl74
-rw-r--r--offapi/com/sun/star/task/XJobListener.idl73
-rw-r--r--offapi/com/sun/star/task/XMasterPasswordHandling.idl112
-rw-r--r--offapi/com/sun/star/task/XMasterPasswordHandling2.idl70
-rw-r--r--offapi/com/sun/star/task/XPasswordContainer.idl147
-rw-r--r--offapi/com/sun/star/task/XRestartManager.idl99
-rw-r--r--offapi/com/sun/star/task/XStatusIndicator.idl130
-rw-r--r--offapi/com/sun/star/task/XStatusIndicatorFactory.idl65
-rw-r--r--offapi/com/sun/star/task/XStatusIndicatorSupplier.idl61
-rw-r--r--offapi/com/sun/star/task/XUrlContainer.idl91
-rw-r--r--offapi/com/sun/star/task/makefile.mk91
-rw-r--r--offapi/com/sun/star/text/AccessibleEndnoteView.idl138
-rw-r--r--offapi/com/sun/star/text/AccessibleFootnoteView.idl138
-rw-r--r--offapi/com/sun/star/text/AccessibleHeaderFooterView.idl143
-rw-r--r--offapi/com/sun/star/text/AccessiblePageView.idl214
-rw-r--r--offapi/com/sun/star/text/AccessibleParagraphView.idl212
-rw-r--r--offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl116
-rw-r--r--offapi/com/sun/star/text/AccessibleTextDocumentView.idl218
-rw-r--r--offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl136
-rw-r--r--offapi/com/sun/star/text/AccessibleTextFrameView.idl149
-rw-r--r--offapi/com/sun/star/text/AccessibleTextGraphicObject.idl130
-rw-r--r--offapi/com/sun/star/text/AdvancedTextDocument.idl162
-rw-r--r--offapi/com/sun/star/text/AuthorDisplayFormat.idl72
-rw-r--r--offapi/com/sun/star/text/AutoTextContainer.idl61
-rw-r--r--offapi/com/sun/star/text/AutoTextEntry.idl68
-rw-r--r--offapi/com/sun/star/text/AutoTextGroup.idl72
-rw-r--r--offapi/com/sun/star/text/BaseFrame.idl118
-rw-r--r--offapi/com/sun/star/text/BaseFrameProperties.idl380
-rw-r--r--offapi/com/sun/star/text/BaseIndex.idl188
-rw-r--r--offapi/com/sun/star/text/BaseIndexMark.idl61
-rw-r--r--offapi/com/sun/star/text/Bibliography.idl62
-rw-r--r--offapi/com/sun/star/text/BibliographyDataField.idl208
-rw-r--r--offapi/com/sun/star/text/BibliographyDataType.idl157
-rw-r--r--offapi/com/sun/star/text/Bookmark.idl66
-rw-r--r--offapi/com/sun/star/text/Bookmarks.idl69
-rw-r--r--offapi/com/sun/star/text/Cell.idl119
-rw-r--r--offapi/com/sun/star/text/CellProperties.idl176
-rw-r--r--offapi/com/sun/star/text/CellRange.idl160
-rw-r--r--offapi/com/sun/star/text/ChainedTextFrame.idl73
-rw-r--r--offapi/com/sun/star/text/ChapterFormat.idl84
-rw-r--r--offapi/com/sun/star/text/ChapterNumberingRule.idl87
-rw-r--r--offapi/com/sun/star/text/CharacterCompressionType.idl61
-rw-r--r--offapi/com/sun/star/text/ContentIndex.idl74
-rw-r--r--offapi/com/sun/star/text/ContentIndexMark.idl65
-rw-r--r--offapi/com/sun/star/text/ControlCharacter.idl94
-rw-r--r--offapi/com/sun/star/text/DateDisplayFormat.idl96
-rw-r--r--offapi/com/sun/star/text/DefaultNumberingProvider.idl50
-rw-r--r--offapi/com/sun/star/text/Defaults.idl89
-rw-r--r--offapi/com/sun/star/text/DependentTextField.idl68
-rw-r--r--offapi/com/sun/star/text/DocumentIndex.idl102
-rw-r--r--offapi/com/sun/star/text/DocumentIndexFormat.idl86
-rw-r--r--offapi/com/sun/star/text/DocumentIndexLevelFormat.idl156
-rw-r--r--offapi/com/sun/star/text/DocumentIndexMark.idl73
-rw-r--r--offapi/com/sun/star/text/DocumentIndexMarkAsian.idl70
-rw-r--r--offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl63
-rw-r--r--offapi/com/sun/star/text/DocumentIndexes.idl73
-rw-r--r--offapi/com/sun/star/text/DocumentSettings.idl214
-rw-r--r--offapi/com/sun/star/text/DocumentStatistic.idl73
-rw-r--r--offapi/com/sun/star/text/Endnote.idl52
-rw-r--r--offapi/com/sun/star/text/EndnoteSettings.idl52
-rw-r--r--offapi/com/sun/star/text/FilenameDisplayFormat.idl77
-rw-r--r--offapi/com/sun/star/text/FontEmphasis.idl85
-rw-r--r--offapi/com/sun/star/text/FontRelief.idl60
-rw-r--r--offapi/com/sun/star/text/Footnote.idl71
-rw-r--r--offapi/com/sun/star/text/FootnoteNumbering.idl70
-rw-r--r--offapi/com/sun/star/text/FootnoteSettings.idl139
-rw-r--r--offapi/com/sun/star/text/Footnotes.idl60
-rw-r--r--offapi/com/sun/star/text/GenericTextDocument.idl273
-rw-r--r--offapi/com/sun/star/text/GlobalDocument.idl52
-rw-r--r--offapi/com/sun/star/text/GlobalSettings.idl64
-rw-r--r--offapi/com/sun/star/text/GraphicCrop.idl88
-rw-r--r--offapi/com/sun/star/text/HoriOrientation.idl112
-rw-r--r--offapi/com/sun/star/text/HoriOrientationFormat.idl87
-rw-r--r--offapi/com/sun/star/text/HorizontalAdjust.idl69
-rw-r--r--offapi/com/sun/star/text/HypertextDocument.idl81
-rw-r--r--offapi/com/sun/star/text/IllustrationsIndex.idl61
-rwxr-xr-xoffapi/com/sun/star/text/InContentMetadata.idl88
-rw-r--r--offapi/com/sun/star/text/InvalidTextContentException.idl66
-rw-r--r--offapi/com/sun/star/text/LabelFollow.idl66
-rw-r--r--offapi/com/sun/star/text/LineNumberingProperties.idl117
-rw-r--r--offapi/com/sun/star/text/LineNumberingSettings.idl111
-rw-r--r--offapi/com/sun/star/text/MailMerge.idl412
-rw-r--r--offapi/com/sun/star/text/MailMergeEvent.idl67
-rw-r--r--offapi/com/sun/star/text/MailMergeType.idl67
-rw-r--r--offapi/com/sun/star/text/NotePrintMode.idl78
-rw-r--r--offapi/com/sun/star/text/NumberingLevel.idl267
-rw-r--r--offapi/com/sun/star/text/NumberingRules.idl107
-rw-r--r--offapi/com/sun/star/text/NumberingStyle.idl59
-rw-r--r--offapi/com/sun/star/text/ObjectIndex.idl82
-rw-r--r--offapi/com/sun/star/text/PageFootnoteInfo.idl106
-rw-r--r--offapi/com/sun/star/text/PageNumberType.idl65
-rw-r--r--offapi/com/sun/star/text/PagePrintSettings.idl112
-rw-r--r--offapi/com/sun/star/text/Paragraph.idl154
-rw-r--r--offapi/com/sun/star/text/ParagraphEnumeration.idl60
-rw-r--r--offapi/com/sun/star/text/ParagraphVertAlign.idl69
-rw-r--r--offapi/com/sun/star/text/PlaceholderType.idl83
-rw-r--r--offapi/com/sun/star/text/PositionAndSpaceMode.idl61
-rw-r--r--offapi/com/sun/star/text/PositionLayoutDir.idl64
-rw-r--r--offapi/com/sun/star/text/PrintPreviewSettings.idl82
-rw-r--r--offapi/com/sun/star/text/PrintSettings.idl154
-rw-r--r--offapi/com/sun/star/text/RedlinePortion.idl98
-rw-r--r--offapi/com/sun/star/text/ReferenceFieldPart.idl136
-rw-r--r--offapi/com/sun/star/text/ReferenceFieldSource.idl69
-rw-r--r--offapi/com/sun/star/text/ReferenceMark.idl57
-rw-r--r--offapi/com/sun/star/text/ReferenceMarks.idl57
-rw-r--r--offapi/com/sun/star/text/RelOrientation.idl121
-rw-r--r--offapi/com/sun/star/text/RubyAdjust.idl67
-rw-r--r--offapi/com/sun/star/text/SectionFileLink.idl76
-rw-r--r--offapi/com/sun/star/text/SetVariableType.idl72
-rw-r--r--offapi/com/sun/star/text/Shape.idl242
-rw-r--r--offapi/com/sun/star/text/SizeType.idl75
-rw-r--r--offapi/com/sun/star/text/TableColumnSeparator.idl86
-rw-r--r--offapi/com/sun/star/text/TableColumns.idl71
-rw-r--r--offapi/com/sun/star/text/TableIndex.idl71
-rw-r--r--offapi/com/sun/star/text/TableRows.idl67
-rw-r--r--offapi/com/sun/star/text/TemplateDisplayFormat.idl91
-rw-r--r--offapi/com/sun/star/text/Text.idl149
-rw-r--r--offapi/com/sun/star/text/TextColumn.idl78
-rw-r--r--offapi/com/sun/star/text/TextColumnSequence.idl47
-rw-r--r--offapi/com/sun/star/text/TextColumns.idl93
-rw-r--r--offapi/com/sun/star/text/TextContent.idl98
-rw-r--r--offapi/com/sun/star/text/TextContentAnchorType.idl98
-rw-r--r--offapi/com/sun/star/text/TextContentCollection.idl71
-rw-r--r--offapi/com/sun/star/text/TextCursor.idl136
-rw-r--r--offapi/com/sun/star/text/TextDocument.idl52
-rw-r--r--offapi/com/sun/star/text/TextDocumentView.idl120
-rw-r--r--offapi/com/sun/star/text/TextEmbeddedObject.idl85
-rw-r--r--offapi/com/sun/star/text/TextEmbeddedObjects.idl71
-rw-r--r--offapi/com/sun/star/text/TextField.idl98
-rw-r--r--offapi/com/sun/star/text/TextFieldEnumeration.idl55
-rw-r--r--offapi/com/sun/star/text/TextFieldMaster.idl74
-rw-r--r--offapi/com/sun/star/text/TextFieldMasters.idl62
-rw-r--r--offapi/com/sun/star/text/TextFields.idl69
-rwxr-xr-xoffapi/com/sun/star/text/TextFrame.idl172
-rw-r--r--offapi/com/sun/star/text/TextFrames.idl86
-rw-r--r--offapi/com/sun/star/text/TextGraphicObject.idl179
-rw-r--r--offapi/com/sun/star/text/TextGraphicObjects.idl72
-rw-r--r--offapi/com/sun/star/text/TextGridMode.idl62
-rw-r--r--offapi/com/sun/star/text/TextLayoutCursor.idl63
-rw-r--r--offapi/com/sun/star/text/TextMarkupDescriptor.idl70
-rw-r--r--offapi/com/sun/star/text/TextMarkupType.idl75
-rw-r--r--offapi/com/sun/star/text/TextPageStyle.idl200
-rw-r--r--offapi/com/sun/star/text/TextPortion.idl178
-rw-r--r--offapi/com/sun/star/text/TextPortionEnumeration.idl56
-rw-r--r--offapi/com/sun/star/text/TextRange.idl112
-rw-r--r--offapi/com/sun/star/text/TextRangeContentProperties.idl133
-rw-r--r--offapi/com/sun/star/text/TextRanges.idl55
-rw-r--r--offapi/com/sun/star/text/TextSection.idl254
-rw-r--r--offapi/com/sun/star/text/TextSections.idl62
-rw-r--r--offapi/com/sun/star/text/TextSortDescriptor.idl143
-rw-r--r--offapi/com/sun/star/text/TextSortDescriptor2.idl77
-rw-r--r--offapi/com/sun/star/text/TextSortable.idl67
-rw-r--r--offapi/com/sun/star/text/TextTable.idl295
-rw-r--r--offapi/com/sun/star/text/TextTableCursor.idl90
-rw-r--r--offapi/com/sun/star/text/TextTableRow.idl126
-rw-r--r--offapi/com/sun/star/text/TextTables.idl62
-rw-r--r--offapi/com/sun/star/text/TextViewCursor.idl64
-rw-r--r--offapi/com/sun/star/text/TimeDisplayFormat.idl91
-rw-r--r--offapi/com/sun/star/text/UserDataPart.idl154
-rw-r--r--offapi/com/sun/star/text/UserDefinedIndex.idl89
-rw-r--r--offapi/com/sun/star/text/UserFieldFormat.idl70
-rw-r--r--offapi/com/sun/star/text/UserIndex.idl84
-rw-r--r--offapi/com/sun/star/text/UserIndexMark.idl63
-rw-r--r--offapi/com/sun/star/text/VertOrientation.idl121
-rw-r--r--offapi/com/sun/star/text/VertOrientationFormat.idl77
-rw-r--r--offapi/com/sun/star/text/ViewSettings.idl362
-rw-r--r--offapi/com/sun/star/text/WebDocument.idl52
-rw-r--r--offapi/com/sun/star/text/WrapInfluenceOnPosition.idl70
-rw-r--r--offapi/com/sun/star/text/WrapTextMode.idl91
-rw-r--r--offapi/com/sun/star/text/WritingMode.idl77
-rw-r--r--offapi/com/sun/star/text/WritingMode2.idl100
-rw-r--r--offapi/com/sun/star/text/XAutoTextContainer.idl107
-rw-r--r--offapi/com/sun/star/text/XAutoTextEntry.idl78
-rw-r--r--offapi/com/sun/star/text/XAutoTextGroup.idl121
-rw-r--r--offapi/com/sun/star/text/XBookmarkInsertTool.idl69
-rw-r--r--offapi/com/sun/star/text/XBookmarksSupplier.idl66
-rw-r--r--offapi/com/sun/star/text/XChapterNumberingSupplier.idl69
-rw-r--r--offapi/com/sun/star/text/XDefaultNumberingProvider.idl79
-rw-r--r--offapi/com/sun/star/text/XDependentTextField.idl101
-rw-r--r--offapi/com/sun/star/text/XDocumentIndex.idl82
-rw-r--r--offapi/com/sun/star/text/XDocumentIndexMark.idl76
-rw-r--r--offapi/com/sun/star/text/XDocumentIndexesSupplier.idl69
-rw-r--r--offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl68
-rw-r--r--offapi/com/sun/star/text/XEndnotesSupplier.idl80
-rw-r--r--offapi/com/sun/star/text/XFlatParagraph.idl201
-rw-r--r--offapi/com/sun/star/text/XFlatParagraphIterator.idl118
-rw-r--r--offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl87
-rw-r--r--offapi/com/sun/star/text/XFootnote.idl71
-rw-r--r--offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl66
-rw-r--r--offapi/com/sun/star/text/XFootnotesSupplier.idl76
-rw-r--r--offapi/com/sun/star/text/XFormField.idl20
-rw-r--r--offapi/com/sun/star/text/XHeaderFooter.idl73
-rw-r--r--offapi/com/sun/star/text/XHeaderFooterPageStyle.idl74
-rw-r--r--offapi/com/sun/star/text/XLineNumberingProperties.idl60
-rw-r--r--offapi/com/sun/star/text/XLineNumberingSupplier.idl77
-rw-r--r--offapi/com/sun/star/text/XMailMergeBroadcaster.idl83
-rw-r--r--offapi/com/sun/star/text/XMailMergeListener.idl72
-rw-r--r--offapi/com/sun/star/text/XModule.idl53
-rw-r--r--offapi/com/sun/star/text/XMultiTextMarkup.idl79
-rw-r--r--offapi/com/sun/star/text/XNumberingFormatter.idl65
-rw-r--r--offapi/com/sun/star/text/XNumberingRulesSupplier.idl62
-rw-r--r--offapi/com/sun/star/text/XNumberingTypeInfo.idl63
-rw-r--r--offapi/com/sun/star/text/XPageCursor.idl115
-rw-r--r--offapi/com/sun/star/text/XPagePrintable.idl96
-rw-r--r--offapi/com/sun/star/text/XParagraphAppend.idl94
-rw-r--r--offapi/com/sun/star/text/XParagraphCursor.idl105
-rw-r--r--offapi/com/sun/star/text/XRedline.idl73
-rw-r--r--offapi/com/sun/star/text/XReferenceMarksSupplier.idl72
-rw-r--r--offapi/com/sun/star/text/XRelativeTextContentInsert.idl86
-rw-r--r--offapi/com/sun/star/text/XRelativeTextContentRemove.idl82
-rw-r--r--offapi/com/sun/star/text/XRubySelection.idl75
-rw-r--r--offapi/com/sun/star/text/XSentenceCursor.idl105
-rw-r--r--offapi/com/sun/star/text/XSimpleText.idl151
-rw-r--r--offapi/com/sun/star/text/XText.idl105
-rw-r--r--offapi/com/sun/star/text/XTextAppend.idl60
-rw-r--r--offapi/com/sun/star/text/XTextAppendAndConvert.idl61
-rw-r--r--offapi/com/sun/star/text/XTextColumns.idl115
-rw-r--r--offapi/com/sun/star/text/XTextContent.idl100
-rw-r--r--offapi/com/sun/star/text/XTextContentAppend.idl88
-rw-r--r--offapi/com/sun/star/text/XTextConvert.idl117
-rw-r--r--offapi/com/sun/star/text/XTextCopy.idl59
-rw-r--r--offapi/com/sun/star/text/XTextCursor.idl134
-rw-r--r--offapi/com/sun/star/text/XTextDocument.idl76
-rw-r--r--offapi/com/sun/star/text/XTextEmbeddedObject.idl77
-rw-r--r--offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl65
-rw-r--r--offapi/com/sun/star/text/XTextField.idl69
-rw-r--r--offapi/com/sun/star/text/XTextFieldsSupplier.idl80
-rw-r--r--offapi/com/sun/star/text/XTextFrame.idl66
-rw-r--r--offapi/com/sun/star/text/XTextFramesSupplier.idl64
-rw-r--r--offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl65
-rw-r--r--offapi/com/sun/star/text/XTextMarkup.idl90
-rw-r--r--offapi/com/sun/star/text/XTextPortionAppend.idl86
-rw-r--r--offapi/com/sun/star/text/XTextRange.idl104
-rw-r--r--offapi/com/sun/star/text/XTextRangeCompare.idl94
-rw-r--r--offapi/com/sun/star/text/XTextRangeMover.idl73
-rw-r--r--offapi/com/sun/star/text/XTextSection.idl68
-rw-r--r--offapi/com/sun/star/text/XTextSectionsSupplier.idl64
-rw-r--r--offapi/com/sun/star/text/XTextShapesSupplier.idl65
-rw-r--r--offapi/com/sun/star/text/XTextTable.idl143
-rw-r--r--offapi/com/sun/star/text/XTextTableCursor.idl179
-rw-r--r--offapi/com/sun/star/text/XTextTablesSupplier.idl64
-rw-r--r--offapi/com/sun/star/text/XTextViewCursor.idl80
-rw-r--r--offapi/com/sun/star/text/XTextViewCursorSupplier.idl71
-rw-r--r--offapi/com/sun/star/text/XWordCursor.idl113
-rw-r--r--offapi/com/sun/star/text/fieldmaster/Bibliography.idl100
-rw-r--r--offapi/com/sun/star/text/fieldmaster/DDE.idl73
-rw-r--r--offapi/com/sun/star/text/fieldmaster/Database.idl96
-rw-r--r--offapi/com/sun/star/text/fieldmaster/SetExpression.idl67
-rw-r--r--offapi/com/sun/star/text/fieldmaster/User.idl65
-rw-r--r--offapi/com/sun/star/text/fieldmaster/makefile.mk50
-rw-r--r--offapi/com/sun/star/text/makefile.mk278
-rw-r--r--offapi/com/sun/star/text/textfield/Annotation.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/Author.idl74
-rw-r--r--offapi/com/sun/star/text/textfield/Bibliography.idl58
-rw-r--r--offapi/com/sun/star/text/textfield/Chapter.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/CharacterCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/CombinedCharacters.idl55
-rw-r--r--offapi/com/sun/star/text/textfield/ConditionalText.idl70
-rw-r--r--offapi/com/sun/star/text/textfield/DDE.idl54
-rw-r--r--offapi/com/sun/star/text/textfield/Database.idl69
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseName.idl81
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNextSet.idl85
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl90
-rw-r--r--offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl91
-rw-r--r--offapi/com/sun/star/text/textfield/DateTime.idl98
-rw-r--r--offapi/com/sun/star/text/textfield/DropDown.idl70
-rw-r--r--offapi/com/sun/star/text/textfield/EmbeddedObjectCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/ExtendedUser.idl67
-rw-r--r--offapi/com/sun/star/text/textfield/FileName.idl63
-rw-r--r--offapi/com/sun/star/text/textfield/GetExpression.idl85
-rw-r--r--offapi/com/sun/star/text/textfield/GetReference.idl74
-rw-r--r--offapi/com/sun/star/text/textfield/GraphicObjectCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/HiddenParagraph.idl60
-rw-r--r--offapi/com/sun/star/text/textfield/HiddenText.idl64
-rw-r--r--offapi/com/sun/star/text/textfield/Input.idl73
-rw-r--r--offapi/com/sun/star/text/textfield/InputUser.idl63
-rw-r--r--offapi/com/sun/star/text/textfield/JumpEdit.idl62
-rw-r--r--offapi/com/sun/star/text/textfield/Macro.idl61
-rwxr-xr-xoffapi/com/sun/star/text/textfield/MetadataField.idl111
-rw-r--r--offapi/com/sun/star/text/textfield/PageCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/PageNumber.idl70
-rw-r--r--offapi/com/sun/star/text/textfield/ParagraphCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/ReferencePageGet.idl58
-rw-r--r--offapi/com/sun/star/text/textfield/ReferencePageSet.idl59
-rw-r--r--offapi/com/sun/star/text/textfield/Script.idl62
-rw-r--r--offapi/com/sun/star/text/textfield/SetExpression.idl101
-rw-r--r--offapi/com/sun/star/text/textfield/TableCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/TableFormula.idl68
-rw-r--r--offapi/com/sun/star/text/textfield/TemplateName.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/URL.idl70
-rw-r--r--offapi/com/sun/star/text/textfield/User.idl72
-rw-r--r--offapi/com/sun/star/text/textfield/WordCount.idl57
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.idl66
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.idl83
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.idl66
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.idl83
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Custom.idl70
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Description.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/EditTime.idl78
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Info0.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Info1.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Info2.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Info3.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Keywords.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.idl66
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.idl83
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Revision.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Subject.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/Title.idl65
-rw-r--r--offapi/com/sun/star/text/textfield/docinfo/makefile.mk63
-rw-r--r--offapi/com/sun/star/text/textfield/makefile.mk86
-rw-r--r--offapi/com/sun/star/ucb/AlreadyInitializedException.idl54
-rw-r--r--offapi/com/sun/star/ucb/AnyCompareFactory.idl57
-rw-r--r--offapi/com/sun/star/ucb/AuthenticationRequest.idl114
-rw-r--r--offapi/com/sun/star/ucb/CHAOSProgressStart.idl69
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSet.idl84
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl55
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStub.idl76
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl55
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSet.idl83
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl56
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl84
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl56
-rwxr-xr-xoffapi/com/sun/star/ucb/CertificateValidationRequest.idl65
-rw-r--r--offapi/com/sun/star/ucb/Command.idl70
-rw-r--r--offapi/com/sun/star/ucb/CommandAbortedException.idl55
-rw-r--r--offapi/com/sun/star/ucb/CommandEnvironment.idl64
-rw-r--r--offapi/com/sun/star/ucb/CommandFailedException.idl65
-rw-r--r--offapi/com/sun/star/ucb/CommandInfo.idl68
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChange.idl58
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl71
-rw-r--r--offapi/com/sun/star/ucb/ConnectionMode.idl59
-rw-r--r--offapi/com/sun/star/ucb/Content.idl756
-rw-r--r--offapi/com/sun/star/ucb/ContentAction.idl161
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationError.idl75
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationException.idl60
-rw-r--r--offapi/com/sun/star/ucb/ContentEvent.idl114
-rw-r--r--offapi/com/sun/star/ucb/ContentInfo.idl108
-rw-r--r--offapi/com/sun/star/ucb/ContentInfoAttribute.idl78
-rw-r--r--offapi/com/sun/star/ucb/ContentProvider.idl88
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderInfo.idl62
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxy.idl95
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl55
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSet.idl233
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSetCapability.idl53
-rw-r--r--offapi/com/sun/star/ucb/ContentTransmitter.idl60
-rw-r--r--offapi/com/sun/star/ucb/Cookie.idl89
-rw-r--r--offapi/com/sun/star/ucb/CookiePolicy.idl61
-rw-r--r--offapi/com/sun/star/ucb/CookieRequest.idl56
-rw-r--r--offapi/com/sun/star/ucb/CrossReference.idl61
-rw-r--r--offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl64
-rw-r--r--offapi/com/sun/star/ucb/DocumentHeaderField.idl57
-rw-r--r--offapi/com/sun/star/ucb/DocumentStoreMode.idl59
-rw-r--r--offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl60
-rw-r--r--offapi/com/sun/star/ucb/DuplicateProviderException.idl55
-rw-r--r--offapi/com/sun/star/ucb/DynamicResultSet.idl62
-rw-r--r--offapi/com/sun/star/ucb/Error.idl444
-rw-r--r--offapi/com/sun/star/ucb/ExpandContentProvider.idl55
-rw-r--r--offapi/com/sun/star/ucb/ExportStreamInfo.idl61
-rw-r--r--offapi/com/sun/star/ucb/FTPContent.idl233
-rw-r--r--offapi/com/sun/star/ucb/FTPContentProvider.idl69
-rw-r--r--offapi/com/sun/star/ucb/FetchError.idl71
-rw-r--r--offapi/com/sun/star/ucb/FetchResult.idl86
-rw-r--r--offapi/com/sun/star/ucb/FileContent.idl268
-rw-r--r--offapi/com/sun/star/ucb/FileContentProvider.idl115
-rw-r--r--offapi/com/sun/star/ucb/FileSystemNotation.idl70
-rw-r--r--offapi/com/sun/star/ucb/FolderList.idl64
-rw-r--r--offapi/com/sun/star/ucb/FolderListCommand.idl62
-rw-r--r--offapi/com/sun/star/ucb/FolderListEntry.idl78
-rw-r--r--offapi/com/sun/star/ucb/GIOContentProvider.idl15
-rw-r--r--offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl84
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl21
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl97
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl109
-rw-r--r--offapi/com/sun/star/ucb/HandleCookiesRequest.idl73
-rw-r--r--offapi/com/sun/star/ucb/HelpContent.idl215
-rw-r--r--offapi/com/sun/star/ucb/HelpContentProvider.idl66
-rw-r--r--offapi/com/sun/star/ucb/HierarchyContentProvider.idl112
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl171
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl105
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataSource.idl119
-rw-r--r--offapi/com/sun/star/ucb/HierarchyFolderContent.idl228
-rw-r--r--offapi/com/sun/star/ucb/HierarchyLinkContent.idl191
-rw-r--r--offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl226
-rw-r--r--offapi/com/sun/star/ucb/IOErrorCode.idl233
-rw-r--r--offapi/com/sun/star/ucb/IllegalIdentifierException.idl55
-rw-r--r--offapi/com/sun/star/ucb/InsertCommandArgument.idl72
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAppException.idl60
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl57
-rw-r--r--offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl53
-rw-r--r--offapi/com/sun/star/ucb/InteractiveCHAOSException.idl68
-rw-r--r--offapi/com/sun/star/ucb/InteractiveFileIOException.idl63
-rw-r--r--offapi/com/sun/star/ucb/InteractiveIOException.idl58
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingException.idl58
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl53
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl59
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl56
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl55
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkException.idl52
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl50
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl50
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl56
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl55
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl56
-rw-r--r--offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl55
-rw-r--r--offapi/com/sun/star/ucb/Link.idl56
-rw-r--r--offapi/com/sun/star/ucb/ListAction.idl122
-rw-r--r--offapi/com/sun/star/ucb/ListActionType.idl191
-rw-r--r--offapi/com/sun/star/ucb/ListEvent.idl60
-rw-r--r--offapi/com/sun/star/ucb/ListenerAlreadySetException.idl54
-rw-r--r--offapi/com/sun/star/ucb/Lock.idl83
-rw-r--r--offapi/com/sun/star/ucb/LockDepth.idl61
-rw-r--r--offapi/com/sun/star/ucb/LockEntry.idl61
-rw-r--r--offapi/com/sun/star/ucb/LockScope.idl57
-rw-r--r--offapi/com/sun/star/ucb/LockType.idl63
-rw-r--r--offapi/com/sun/star/ucb/MissingInputStreamException.idl59
-rw-r--r--offapi/com/sun/star/ucb/MissingPropertiesException.idl62
-rw-r--r--offapi/com/sun/star/ucb/NameClash.idl78
-rw-r--r--offapi/com/sun/star/ucb/NameClashException.idl53
-rw-r--r--offapi/com/sun/star/ucb/NameClashResolveRequest.idl83
-rw-r--r--offapi/com/sun/star/ucb/NumberedSortingInfo.idl58
-rw-r--r--offapi/com/sun/star/ucb/ODMAContent.idl211
-rw-r--r--offapi/com/sun/star/ucb/ODMAContentProvider.idl90
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument.idl93
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument2.idl67
-rw-r--r--offapi/com/sun/star/ucb/OpenMode.idl94
-rw-r--r--offapi/com/sun/star/ucb/OutgoingMessageState.idl88
-rw-r--r--offapi/com/sun/star/ucb/PackageContentProvider.idl132
-rw-r--r--offapi/com/sun/star/ucb/PackageFolderContent.idl256
-rw-r--r--offapi/com/sun/star/ucb/PackageStreamContent.idl206
-rw-r--r--offapi/com/sun/star/ucb/PersistentPropertySet.idl78
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument.idl63
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument2.idl62
-rw-r--r--offapi/com/sun/star/ucb/Priority.idl74
-rw-r--r--offapi/com/sun/star/ucb/PropertiesManager.idl59
-rw-r--r--offapi/com/sun/star/ucb/PropertySetRegistry.idl62
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueInfo.idl60
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueState.idl71
-rw-r--r--offapi/com/sun/star/ucb/RecipientInfo.idl129
-rw-r--r--offapi/com/sun/star/ucb/RememberAuthentication.idl63
-rw-r--r--offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl75
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl62
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl58
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl65
-rw-r--r--offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl77
-rw-r--r--offapi/com/sun/star/ucb/ResultSetException.idl54
-rw-r--r--offapi/com/sun/star/ucb/Rule.idl91
-rw-r--r--offapi/com/sun/star/ucb/RuleAction.idl112
-rw-r--r--offapi/com/sun/star/ucb/RuleOperator.idl92
-rw-r--r--offapi/com/sun/star/ucb/RuleSet.idl65
-rw-r--r--offapi/com/sun/star/ucb/RuleTerm.idl79
-rw-r--r--offapi/com/sun/star/ucb/SearchCommandArgument.idl69
-rw-r--r--offapi/com/sun/star/ucb/SearchCriterium.idl56
-rw-r--r--offapi/com/sun/star/ucb/SearchInfo.idl90
-rw-r--r--offapi/com/sun/star/ucb/SearchRecursion.idl64
-rw-r--r--offapi/com/sun/star/ucb/SendInfo.idl59
-rw-r--r--offapi/com/sun/star/ucb/SendMediaTypes.idl58
-rw-r--r--offapi/com/sun/star/ucb/ServiceNotFoundException.idl50
-rw-r--r--offapi/com/sun/star/ucb/SimpleFileAccess.idl56
-rw-r--r--offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl56
-rw-r--r--offapi/com/sun/star/ucb/SortingInfo.idl56
-rw-r--r--offapi/com/sun/star/ucb/Store.idl54
-rw-r--r--offapi/com/sun/star/ucb/SynchronizePolicy.idl64
-rw-r--r--offapi/com/sun/star/ucb/TransferCommandOperation.idl59
-rw-r--r--offapi/com/sun/star/ucb/TransferInfo.idl87
-rw-r--r--offapi/com/sun/star/ucb/TransferResult.idl60
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl158
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl230
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl240
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl190
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl197
-rw-r--r--offapi/com/sun/star/ucb/URLAuthenticationRequest.idl57
-rw-r--r--offapi/com/sun/star/ucb/UniversalContentBroker.idl200
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedCommandException.idl55
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl65
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedNameClashException.idl73
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl62
-rw-r--r--offapi/com/sun/star/ucb/VerificationMode.idl64
-rw-r--r--offapi/com/sun/star/ucb/WebDAVContentProvider.idl117
-rw-r--r--offapi/com/sun/star/ucb/WebDAVDocumentContent.idl211
-rw-r--r--offapi/com/sun/star/ucb/WebDAVFolderContent.idl243
-rw-r--r--offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl66
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompare.idl74
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompareFactory.idl69
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl76
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl66
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl86
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl127
-rw-r--r--offapi/com/sun/star/ucb/XCommandEnvironment.idl83
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfo.idl123
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl66
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl74
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor.idl153
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor2.idl69
-rw-r--r--offapi/com/sun/star/ucb/XContent.idl103
-rw-r--r--offapi/com/sun/star/ucb/XContentAccess.idl90
-rw-r--r--offapi/com/sun/star/ucb/XContentCreator.idl97
-rw-r--r--offapi/com/sun/star/ucb/XContentEventListener.idl65
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifier.idl88
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierFactory.idl69
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierMapping.idl125
-rw-r--r--offapi/com/sun/star/ucb/XContentProvider.idl103
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderFactory.idl68
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderManager.idl184
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderSupplier.idl64
-rw-r--r--offapi/com/sun/star/ucb/XContentTransmitter.idl65
-rw-r--r--offapi/com/sun/star/ucb/XDataContainer.idl104
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSet.idl207
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSetListener.idl80
-rw-r--r--offapi/com/sun/star/ucb/XFetchProvider.idl76
-rw-r--r--offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl125
-rw-r--r--offapi/com/sun/star/ucb/XFileIdentifierConverter.idl100
-rw-r--r--offapi/com/sun/star/ucb/XInteractionCookieHandling.idl90
-rw-r--r--offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl65
-rw-r--r--offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl57
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl177
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl78
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyName.idl63
-rw-r--r--offapi/com/sun/star/ucb/XParameterizedContentProvider.idl118
-rw-r--r--offapi/com/sun/star/ucb/XPersistentPropertySet.idl71
-rw-r--r--offapi/com/sun/star/ucb/XProgressHandler.idl83
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcher.idl74
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl68
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistry.idl80
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl68
-rw-r--r--offapi/com/sun/star/ucb/XRecycler.idl77
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl105
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl74
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl64
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl74
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl79
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl106
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl64
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl69
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess.idl292
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess2.idl74
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess3.idl83
-rw-r--r--offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl81
-rw-r--r--offapi/com/sun/star/ucb/XSourceInitialization.idl77
-rw-r--r--offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl77
-rw-r--r--offapi/com/sun/star/ucb/makefile.mk274
-rw-r--r--offapi/com/sun/star/ucb/smart/makefile.mk49
-rw-r--r--offapi/com/sun/star/ui/ActionTrigger.idl68
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerContainer.idl97
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparator.idl45
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl52
-rw-r--r--offapi/com/sun/star/ui/ConfigurableUIElement.idl128
-rw-r--r--offapi/com/sun/star/ui/ConfigurationEvent.idl59
-rw-r--r--offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl66
-rw-r--r--offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl58
-rw-r--r--offapi/com/sun/star/ui/DockingArea.idl76
-rw-r--r--offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl50
-rw-r--r--offapi/com/sun/star/ui/ImageType.idl64
-rw-r--r--offapi/com/sun/star/ui/ItemDescriptor.idl102
-rw-r--r--offapi/com/sun/star/ui/ItemStyle.idl158
-rw-r--r--offapi/com/sun/star/ui/ItemType.idl59
-rw-r--r--offapi/com/sun/star/ui/ModuleUICategoryDescription.idl77
-rw-r--r--offapi/com/sun/star/ui/ModuleUICommandDescription.idl84
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl117
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl66
-rw-r--r--offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl98
-rw-r--r--offapi/com/sun/star/ui/UICategoryDescription.idl77
-rw-r--r--offapi/com/sun/star/ui/UICommandDescription.idl71
-rw-r--r--offapi/com/sun/star/ui/UIConfigurationManager.idl94
-rw-r--r--offapi/com/sun/star/ui/UIElement.idl112
-rw-r--r--offapi/com/sun/star/ui/UIElementFactory.idl67
-rw-r--r--offapi/com/sun/star/ui/UIElementFactoryManager.idl76
-rw-r--r--offapi/com/sun/star/ui/UIElementSettings.idl94
-rw-r--r--offapi/com/sun/star/ui/UIElementType.idl96
-rw-r--r--offapi/com/sun/star/ui/WindowContentFactory.idl59
-rw-r--r--offapi/com/sun/star/ui/WindowStateConfiguration.idl74
-rw-r--r--offapi/com/sun/star/ui/XAcceleratorConfiguration.idl304
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterception.idl57
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterceptor.idl57
-rw-r--r--offapi/com/sun/star/ui/XDockingAreaAcceptor.idl119
-rw-r--r--offapi/com/sun/star/ui/XImageManager.idl256
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl113
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl71
-rw-r--r--offapi/com/sun/star/ui/XToolPanel.idl64
-rw-r--r--offapi/com/sun/star/ui/XUIConfiguration.idl85
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationListener.idl87
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManager.idl274
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl61
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationPersistence.idl105
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationStorage.idl86
-rw-r--r--offapi/com/sun/star/ui/XUIElement.idl97
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactory.idl130
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl182
-rw-r--r--offapi/com/sun/star/ui/XUIElementSettings.idl102
-rw-r--r--offapi/com/sun/star/ui/XUIFunctionListener.idl64
-rw-r--r--offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl86
-rw-r--r--offapi/com/sun/star/ui/dialogs/ControlActions.idl111
-rw-r--r--offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl65
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl54
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl58
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl127
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePicker.idl165
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl62
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl53
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl89
-rw-r--r--offapi/com/sun/star/ui/dialogs/FolderPicker.idl88
-rw-r--r--offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl91
-rw-r--r--offapi/com/sun/star/ui/dialogs/TemplateDescription.idl143
-rw-r--r--offapi/com/sun/star/ui/dialogs/Wizard.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardButton.idl60
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardTravelType.idl54
-rw-r--r--offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl72
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlAccess.idl105
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlInformation.idl111
-rw-r--r--offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl68
-rw-r--r--offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker.idl145
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker2.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl153
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl120
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePreview.idl144
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl80
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterManager.idl97
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker.idl100
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizard.idl228
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardController.idl85
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardPage.idl86
-rw-r--r--offapi/com/sun/star/ui/dialogs/makefile.mk79
-rw-r--r--offapi/com/sun/star/ui/makefile.mk93
-rw-r--r--offapi/com/sun/star/util/AliasProgrammaticPair.idl56
-rw-r--r--offapi/com/sun/star/util/AtomClassRequest.idl61
-rw-r--r--offapi/com/sun/star/util/AtomDescription.idl60
-rw-r--r--offapi/com/sun/star/util/CellProtection.idl66
-rw-r--r--offapi/com/sun/star/util/ChangesEvent.idl77
-rw-r--r--offapi/com/sun/star/util/ChangesSet.idl61
-rw-r--r--offapi/com/sun/star/util/CloseVetoException.idl52
-rw-r--r--offapi/com/sun/star/util/Color.idl52
-rw-r--r--offapi/com/sun/star/util/DataEditorEvent.idl55
-rw-r--r--offapi/com/sun/star/util/DataEditorEventType.idl51
-rw-r--r--offapi/com/sun/star/util/Date.idl63
-rw-r--r--offapi/com/sun/star/util/DateTime.idl87
-rw-r--r--offapi/com/sun/star/util/DateTimeRange.idl116
-rw-r--r--offapi/com/sun/star/util/DiskFullException.idl51
-rw-r--r--offapi/com/sun/star/util/Duration.idl101
-rw-r--r--offapi/com/sun/star/util/ElementChange.idl65
-rw-r--r--offapi/com/sun/star/util/Endianness.idl64
-rw-r--r--offapi/com/sun/star/util/FileIOException.idl51
-rw-r--r--offapi/com/sun/star/util/InvalidStateException.idl50
-rw-r--r--offapi/com/sun/star/util/JobManager.idl46
-rw-r--r--offapi/com/sun/star/util/Language.idl44
-rw-r--r--offapi/com/sun/star/util/MalformedNumberFormatException.idl60
-rw-r--r--offapi/com/sun/star/util/MeasureUnit.idl106
-rw-r--r--offapi/com/sun/star/util/ModeChangeEvent.idl63
-rwxr-xr-xoffapi/com/sun/star/util/NotLockedException.idl50
-rw-r--r--offapi/com/sun/star/util/NotNumericException.idl51
-rw-r--r--offapi/com/sun/star/util/NumberFormat.idl126
-rw-r--r--offapi/com/sun/star/util/NumberFormatProperties.idl81
-rw-r--r--offapi/com/sun/star/util/NumberFormatSettings.idl88
-rw-r--r--offapi/com/sun/star/util/NumberFormats.idl64
-rw-r--r--offapi/com/sun/star/util/NumberFormatsSupplier.idl77
-rw-r--r--offapi/com/sun/star/util/NumberFormatter.idl69
-rw-r--r--offapi/com/sun/star/util/OfficeInstallationDirectories.idl79
-rw-r--r--offapi/com/sun/star/util/PathSettings.idl173
-rw-r--r--offapi/com/sun/star/util/PathSubstitution.idl108
-rw-r--r--offapi/com/sun/star/util/ReplaceDescriptor.idl59
-rw-r--r--offapi/com/sun/star/util/RevisionTag.idl71
-rw-r--r--offapi/com/sun/star/util/SearchDescriptor.idl140
-rw-r--r--offapi/com/sun/star/util/SortDescriptor.idl111
-rw-r--r--offapi/com/sun/star/util/SortDescriptor2.idl57
-rw-r--r--offapi/com/sun/star/util/SortField.idl67
-rw-r--r--offapi/com/sun/star/util/SortFieldType.idl64
-rw-r--r--offapi/com/sun/star/util/Sortable.idl67
-rw-r--r--offapi/com/sun/star/util/TextSearch.idl53
-rw-r--r--offapi/com/sun/star/util/Time.idl66
-rw-r--r--offapi/com/sun/star/util/TriState.idl66
-rw-r--r--offapi/com/sun/star/util/URL.idl131
-rw-r--r--offapi/com/sun/star/util/URLTransformer.idl54
-rw-r--r--offapi/com/sun/star/util/UriAbbreviation.idl48
-rw-r--r--offapi/com/sun/star/util/VetoException.idl54
-rw-r--r--offapi/com/sun/star/util/XArchiver.idl80
-rw-r--r--offapi/com/sun/star/util/XAtomServer.idl146
-rw-r--r--offapi/com/sun/star/util/XBroadcaster.idl84
-rw-r--r--offapi/com/sun/star/util/XCancelManager.idl67
-rw-r--r--offapi/com/sun/star/util/XCancellable.idl58
-rw-r--r--offapi/com/sun/star/util/XChainable.idl83
-rw-r--r--offapi/com/sun/star/util/XChangesBatch.idl86
-rw-r--r--offapi/com/sun/star/util/XChangesListener.idl64
-rw-r--r--offapi/com/sun/star/util/XChangesNotifier.idl64
-rw-r--r--offapi/com/sun/star/util/XChangesSet.idl73
-rw-r--r--offapi/com/sun/star/util/XCloneable.idl56
-rw-r--r--offapi/com/sun/star/util/XCloseBroadcaster.idl80
-rw-r--r--offapi/com/sun/star/util/XCloseListener.idl139
-rw-r--r--offapi/com/sun/star/util/XCloseable.idl135
-rw-r--r--offapi/com/sun/star/util/XDataEditor.idl76
-rw-r--r--offapi/com/sun/star/util/XDataEditorListener.idl56
-rw-r--r--offapi/com/sun/star/util/XFlushListener.idl60
-rw-r--r--offapi/com/sun/star/util/XFlushable.idl70
-rw-r--r--offapi/com/sun/star/util/XImportable.idl71
-rw-r--r--offapi/com/sun/star/util/XIndent.idl60
-rw-r--r--offapi/com/sun/star/util/XJobManager.idl65
-rw-r--r--offapi/com/sun/star/util/XLinkUpdate.idl59
-rw-r--r--offapi/com/sun/star/util/XLocalizedAliases.idl117
-rwxr-xr-xoffapi/com/sun/star/util/XLockable.idl79
-rw-r--r--offapi/com/sun/star/util/XMergeable.idl63
-rw-r--r--offapi/com/sun/star/util/XModeChangeApproveListener.idl74
-rw-r--r--offapi/com/sun/star/util/XModeChangeBroadcaster.idl97
-rw-r--r--offapi/com/sun/star/util/XModeChangeListener.idl63
-rw-r--r--offapi/com/sun/star/util/XModeSelector.idl78
-rw-r--r--offapi/com/sun/star/util/XModifiable.idl74
-rw-r--r--offapi/com/sun/star/util/XModifiable2.idl88
-rw-r--r--offapi/com/sun/star/util/XModifyBroadcaster.idl69
-rw-r--r--offapi/com/sun/star/util/XModifyListener.idl66
-rw-r--r--offapi/com/sun/star/util/XNumberFormatPreviewer.idl137
-rw-r--r--offapi/com/sun/star/util/XNumberFormatTypes.idl111
-rw-r--r--offapi/com/sun/star/util/XNumberFormats.idl136
-rw-r--r--offapi/com/sun/star/util/XNumberFormatsSupplier.idl75
-rw-r--r--offapi/com/sun/star/util/XNumberFormatter.idl149
-rw-r--r--offapi/com/sun/star/util/XOfficeInstallationDirectories.idl115
-rw-r--r--offapi/com/sun/star/util/XPropertyReplace.idl101
-rw-r--r--offapi/com/sun/star/util/XProtectable.idl72
-rw-r--r--offapi/com/sun/star/util/XRefreshListener.idl60
-rw-r--r--offapi/com/sun/star/util/XRefreshable.idl70
-rw-r--r--offapi/com/sun/star/util/XReplaceDescriptor.idl62
-rw-r--r--offapi/com/sun/star/util/XReplaceable.idl80
-rw-r--r--offapi/com/sun/star/util/XSearchDescriptor.idl62
-rw-r--r--offapi/com/sun/star/util/XSearchable.idl112
-rw-r--r--offapi/com/sun/star/util/XSimpleErrorHandler.idl54
-rw-r--r--offapi/com/sun/star/util/XSortable.idl113
-rw-r--r--offapi/com/sun/star/util/XStringAbbreviation.idl83
-rw-r--r--offapi/com/sun/star/util/XStringEscape.idl83
-rw-r--r--offapi/com/sun/star/util/XStringMapping.idl55
-rw-r--r--offapi/com/sun/star/util/XStringSubstitution.idl134
-rw-r--r--offapi/com/sun/star/util/XStringWidth.idl63
-rw-r--r--offapi/com/sun/star/util/XTextSearch.idl190
-rw-r--r--offapi/com/sun/star/util/XTimeStamped.idl73
-rw-r--r--offapi/com/sun/star/util/XURLTransformer.idl146
-rw-r--r--offapi/com/sun/star/util/XUniqueIDFactory.idl51
-rw-r--r--offapi/com/sun/star/util/XUpdatable.idl58
-rw-r--r--offapi/com/sun/star/util/makefile.mk154
-rw-r--r--offapi/com/sun/star/view/DocumentZoomType.idl72
-rw-r--r--offapi/com/sun/star/view/DuplexMode.idl66
-rw-r--r--offapi/com/sun/star/view/OfficeDocumentView.idl80
-rw-r--r--offapi/com/sun/star/view/PaperFormat.idl92
-rw-r--r--offapi/com/sun/star/view/PaperOrientation.idl57
-rw-r--r--offapi/com/sun/star/view/PrintJobEvent.idl62
-rw-r--r--offapi/com/sun/star/view/PrintOptions.idl98
-rw-r--r--offapi/com/sun/star/view/PrintSettings.idl111
-rw-r--r--offapi/com/sun/star/view/PrintableState.idl78
-rw-r--r--offapi/com/sun/star/view/PrintableStateEvent.idl60
-rw-r--r--offapi/com/sun/star/view/PrinterDescriptor.idl117
-rw-r--r--offapi/com/sun/star/view/RenderDescriptor.idl59
-rw-r--r--offapi/com/sun/star/view/RenderOptions.idl112
-rw-r--r--offapi/com/sun/star/view/SelectionType.idl72
-rw-r--r--offapi/com/sun/star/view/ViewSettings.idl76
-rw-r--r--offapi/com/sun/star/view/XControlAccess.idl71
-rw-r--r--offapi/com/sun/star/view/XFormLayerAccess.idl109
-rw-r--r--offapi/com/sun/star/view/XLineCursor.idl83
-rw-r--r--offapi/com/sun/star/view/XMultiSelectionSupplier.idl131
-rw-r--r--offapi/com/sun/star/view/XPrintJob.idl77
-rw-r--r--offapi/com/sun/star/view/XPrintJobBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/view/XPrintJobListener.idl64
-rw-r--r--offapi/com/sun/star/view/XPrintPreview.idl57
-rw-r--r--offapi/com/sun/star/view/XPrintSettingsSupplier.idl65
-rw-r--r--offapi/com/sun/star/view/XPrintable.idl91
-rw-r--r--offapi/com/sun/star/view/XPrintableBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/view/XPrintableListener.idl66
-rw-r--r--offapi/com/sun/star/view/XRenderable.idl110
-rw-r--r--offapi/com/sun/star/view/XScreenCursor.idl61
-rw-r--r--offapi/com/sun/star/view/XSelectionChangeListener.idl67
-rw-r--r--offapi/com/sun/star/view/XSelectionSupplier.idl89
-rw-r--r--offapi/com/sun/star/view/XViewCursor.idl116
-rw-r--r--offapi/com/sun/star/view/XViewSettingsSupplier.idl64
-rw-r--r--offapi/com/sun/star/view/makefile.mk78
-rw-r--r--offapi/com/sun/star/xforms/Binding.idl94
-rw-r--r--offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl57
-rw-r--r--offapi/com/sun/star/xforms/XDataTypeRepository.idl120
-rw-r--r--offapi/com/sun/star/xforms/XFormsEvent.idl43
-rw-r--r--offapi/com/sun/star/xforms/XFormsSupplier.idl65
-rw-r--r--offapi/com/sun/star/xforms/XFormsUIHelper1.idl165
-rw-r--r--offapi/com/sun/star/xforms/XModel.idl238
-rw-r--r--offapi/com/sun/star/xforms/XSubmission.idl76
-rw-r--r--offapi/com/sun/star/xforms/makefile.mk55
-rw-r--r--offapi/com/sun/star/xml/Attribute.idl61
-rw-r--r--offapi/com/sun/star/xml/AttributeContainer.idl56
-rw-r--r--offapi/com/sun/star/xml/AttributeData.idl65
-rw-r--r--offapi/com/sun/star/xml/ExportFilter.idl65
-rw-r--r--offapi/com/sun/star/xml/FastAttribute.idl56
-rw-r--r--offapi/com/sun/star/xml/ImportFilter.idl49
-rw-r--r--offapi/com/sun/star/xml/NamespaceContainer.idl52
-rw-r--r--offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl71
-rw-r--r--offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl62
-rw-r--r--offapi/com/sun/star/xml/XExportFilter.idl77
-rw-r--r--offapi/com/sun/star/xml/XImportFilter.idl81
-rw-r--r--offapi/com/sun/star/xml/XMLExportFilter.idl60
-rw-r--r--offapi/com/sun/star/xml/XMLImportFilter.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/SEInitializer.idl56
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl150
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryption.idl57
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignature.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignatureException.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl58
-rw-r--r--offapi/com/sun/star/xml/crypto/XSEInitializer.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl122
-rw-r--r--offapi/com/sun/star/xml/crypto/XUriBinding.idl72
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryption.idl87
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl97
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl87
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl89
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignature.idl88
-rw-r--r--offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl85
-rw-r--r--offapi/com/sun/star/xml/crypto/makefile.mk66
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/Decryptor.idl66
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/Encryptor.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl67
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl68
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl75
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl94
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl75
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl60
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl70
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl82
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl61
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl147
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl78
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl55
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl133
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl64
-rw-r--r--offapi/com/sun/star/xml/crypto/sax/makefile.mk72
-rw-r--r--offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl96
-rw-r--r--offapi/com/sun/star/xml/csax/makefile.mk48
-rw-r--r--offapi/com/sun/star/xml/dom/DOMException.idl54
-rw-r--r--offapi/com/sun/star/xml/dom/DOMExceptionType.idl54
-rw-r--r--offapi/com/sun/star/xml/dom/DocumentBuilder.idl14
-rw-r--r--offapi/com/sun/star/xml/dom/NodeType.idl51
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl19
-rw-r--r--offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl44
-rw-r--r--offapi/com/sun/star/xml/dom/XAttr.idl73
-rw-r--r--offapi/com/sun/star/xml/dom/XCDATASection.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XCharacterData.idl112
-rw-r--r--offapi/com/sun/star/xml/dom/XComment.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/XDOMImplementation.idl88
-rw-r--r--offapi/com/sun/star/xml/dom/XDocument.idl195
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentBuilder.idl126
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentFragment.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XDocumentType.idl78
-rw-r--r--offapi/com/sun/star/xml/dom/XElement.idl156
-rw-r--r--offapi/com/sun/star/xml/dom/XEntity.idl57
-rw-r--r--offapi/com/sun/star/xml/dom/XEntityReference.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/XNamedNodeMap.idl104
-rw-r--r--offapi/com/sun/star/xml/dom/XNode.idl282
-rw-r--r--offapi/com/sun/star/xml/dom/XNodeList.idl53
-rw-r--r--offapi/com/sun/star/xml/dom/XNotation.idl52
-rw-r--r--offapi/com/sun/star/xml/dom/XProcessingInstruction.idl61
-rw-r--r--offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl65
-rw-r--r--offapi/com/sun/star/xml/dom/XText.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/AttrChangeType.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventException.idl43
-rw-r--r--offapi/com/sun/star/xml/dom/events/EventType.idl174
-rw-r--r--offapi/com/sun/star/xml/dom/events/PhaseType.idl40
-rw-r--r--offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEvent.idl66
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventListener.idl42
-rw-r--r--offapi/com/sun/star/xml/dom/events/XEventTarget.idl55
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMouseEvent.idl69
-rw-r--r--offapi/com/sun/star/xml/dom/events/XMutationEvent.idl60
-rw-r--r--offapi/com/sun/star/xml/dom/events/XUIEvent.idl49
-rw-r--r--offapi/com/sun/star/xml/dom/events/makefile.mk62
-rw-r--r--offapi/com/sun/star/xml/dom/makefile.mk75
-rw-r--r--offapi/com/sun/star/xml/dom/views/XAbstractView.idl41
-rw-r--r--offapi/com/sun/star/xml/dom/views/XDocumentView.idl39
-rw-r--r--offapi/com/sun/star/xml/dom/views/makefile.mk53
-rw-r--r--offapi/com/sun/star/xml/input/SaxDocumentHandler.idl56
-rw-r--r--offapi/com/sun/star/xml/input/XAttributes.idl127
-rw-r--r--offapi/com/sun/star/xml/input/XElement.idl120
-rw-r--r--offapi/com/sun/star/xml/input/XNamespaceMapping.idl65
-rw-r--r--offapi/com/sun/star/xml/input/XRoot.idl97
-rw-r--r--offapi/com/sun/star/xml/input/makefile.mk51
-rw-r--r--offapi/com/sun/star/xml/makefile.mk60
-rw-r--r--offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl45
-rw-r--r--offapi/com/sun/star/xml/sax/FastToken.idl59
-rw-r--r--offapi/com/sun/star/xml/sax/FastTokenHandler.idl43
-rw-r--r--offapi/com/sun/star/xml/sax/InputSource.idl88
-rw-r--r--offapi/com/sun/star/xml/sax/SAXException.idl66
-rw-r--r--offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl54
-rw-r--r--offapi/com/sun/star/xml/sax/SAXParseException.idl78
-rw-r--r--offapi/com/sun/star/xml/sax/XAttributeList.idl102
-rw-r--r--offapi/com/sun/star/xml/sax/XDTDHandler.idl79
-rw-r--r--offapi/com/sun/star/xml/sax/XDocumentHandler.idl125
-rw-r--r--offapi/com/sun/star/xml/sax/XEntityResolver.idl71
-rw-r--r--offapi/com/sun/star/xml/sax/XErrorHandler.idl84
-rw-r--r--offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl95
-rw-r--r--offapi/com/sun/star/xml/sax/XFastAttributeList.idl180
-rw-r--r--offapi/com/sun/star/xml/sax/XFastContextHandler.idl161
-rw-r--r--offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl89
-rw-r--r--offapi/com/sun/star/xml/sax/XFastParser.idl196
-rw-r--r--offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl99
-rw-r--r--offapi/com/sun/star/xml/sax/XFastSerializer.idl191
-rw-r--r--offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl62
-rw-r--r--offapi/com/sun/star/xml/sax/XFastTokenHandler.idl93
-rw-r--r--offapi/com/sun/star/xml/sax/XLocator.idl77
-rw-r--r--offapi/com/sun/star/xml/sax/XParser.idl126
-rw-r--r--offapi/com/sun/star/xml/sax/XSAXSerializable.idl82
-rw-r--r--offapi/com/sun/star/xml/sax/makefile.mk69
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl58
-rw-r--r--offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl60
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl176
-rw-r--r--offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl55
-rw-r--r--offapi/com/sun/star/xml/wrapper/makefile.mk51
-rw-r--r--offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl49
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathAPI.idl14
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathException.idl50
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathExtension.idl14
-rw-r--r--offapi/com/sun/star/xml/xpath/XPathObjectType.idl51
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathAPI.idl207
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathExtension.idl47
-rw-r--r--offapi/com/sun/star/xml/xpath/XXPathObject.idl102
-rw-r--r--offapi/com/sun/star/xml/xpath/makefile.mk60
-rw-r--r--offapi/com/sun/star/xsd/Boolean.idl53
-rw-r--r--offapi/com/sun/star/xsd/DataTypeClass.idl125
-rw-r--r--offapi/com/sun/star/xsd/Date.idl75
-rw-r--r--offapi/com/sun/star/xsd/DateTime.idl75
-rw-r--r--offapi/com/sun/star/xsd/Day.idl73
-rw-r--r--offapi/com/sun/star/xsd/Decimal.idl90
-rw-r--r--offapi/com/sun/star/xsd/Month.idl73
-rw-r--r--offapi/com/sun/star/xsd/String.idl73
-rw-r--r--offapi/com/sun/star/xsd/Time.idl75
-rw-r--r--offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl59
-rw-r--r--offapi/com/sun/star/xsd/XDataType.idl102
-rw-r--r--offapi/com/sun/star/xsd/Year.idl73
-rw-r--r--offapi/com/sun/star/xsd/makefile.mk58
3815 files changed, 365267 insertions, 0 deletions
diff --git a/offapi/com/sun/star/accessibility/AccessBridge.idl b/offapi/com/sun/star/accessibility/AccessBridge.idl
new file mode 100644
index 000000000000..39dc60791337
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessBridge.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_accessibility_AccessBridge_idl__
+#define __com_sun_star_accessibility_AccessBridge_idl__
+
+module com { module sun { module star { module lang {
+ published interface XInitialization;
+}; }; }; };
+
+module com { module sun { module star { module accessibility {
+
+/** The UNO <-> Java Access Bridge allows any native frame window
+ to become accessible by implementing the XAccessible interface.
+
+ <p>Therefor the UNO <-> Java Access Bridge utilizes the Java <-> Windows
+ and Java <-> GNOME access bridge by registering the native frames as
+ Java windows.</p>
+
+ @since OOo 1.1.2
+*/
+
+published service AccessBridge
+{
+ /** Expects and instance of XExtendedToolkit as first parameter */
+ interface ::com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/Accessible.idl b/offapi/com/sun/star/accessibility/Accessible.idl
new file mode 100644
index 000000000000..ebc35965e8e1
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/Accessible.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Every class has to support this service in order to be accessible.
+
+ <p>It provides the means to derive a <type>XAccessibleContext</type>
+ object--which may but usually is not the same object as the object that
+ supports the <type>XAccessible</type> 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 documention for more
+ information.</p>
+
+ @see XAccessible
+
+ @since OOo 1.1.2
+*/
+published service Accessible
+{
+ interface XAccessible;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleContext.idl b/offapi/com/sun/star/accessibility/AccessibleContext.idl
new file mode 100644
index 000000000000..f9ccf67ec324
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleContext.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#define __com_sun_star_accessibility_AccessibleContext_idl__
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleContext;
+ published 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
+ <type>XAccessibleContext</type> 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
+*/
+published service AccessibleContext
+{
+ interface XAccessibleContext;
+
+ /** is implemented by accessible contexts that supports broadcasting of
+ accessible events.
+
+ @see AccessibleEventObject
+ @see AccessibleEventId
+ */
+ [optional] interface XAccessibleEventBroadcaster;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventId.idl b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
new file mode 100644
index 000000000000..e341cdb101d1
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
@@ -0,0 +1,387 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>AccessibleEventObject</type>
+ objects.
+
+ <p>The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+*/
+published constants AccessibleEventId
+{
+ /** Use this event type to indicate a change of the name string
+ of an accessible object. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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 <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new value respectively. To set a state put the state id
+ into the <member>AccessibleEventObject::NewValue</member> field and
+ leave <member>AccessibleEventObject::OldValue</member> empty. To
+ reset a state put the state id into the
+ <member>AccessibleEventObject::OldValue</member> field and leave
+ <member>AccessibleEventObject::NewValue</member> 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 <member>AccessibleEventObject::NewValue</member>
+ contains the now active object. The
+ <member>AccessibleEventObject::OldValue</member> 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 its is not necessary to send an event.
+
+ <p>Use this event rather than the
+ <const>VISIBLE_DATA_EVENT</const> 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 <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> remain empty. Use
+ a call to the <member>XAccessibleComponent::getBounds()</member>
+ 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields determines
+ which of both has taken place.
+
+ <p>If a new child has been added then
+ the <member>AccessibleEventObject::NewValue</member> contains a
+ reference to this new object and
+ <member>AccessibleEventObject::OldValue</member> remains empty.</p>
+
+ <p>If a child has been removed then the
+ <member>AccessibleEventObject::OldValue</member> contains a
+ reference to this object and
+ <member>AccessibleEventObject::NewValue</member> remains empty.</p>
+
+ <p>If a child has been added and a 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
+ <const>CHILD</const> event for every old child indicating that
+ this child is about to be removed and then sending one
+ <const>CHILD</const> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields remain empty.
+ */
+ const short SELECTION_CHANGED = 9;
+
+ /** A visibile data event indicates the change of the visual appearance
+ of an accessible object. This includes for example most of the
+ attributes available over the <type>XAccessibleComponent</type> and
+ <type>XAccessibleExtendedComponent</type> interfaces. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields are left empty.
+ */
+ const short VISIBLE_DATA_CHANGED = 10;
+
+ /** This constant indicates changes of the value of an
+ <type>XAccessibleValue</type> interface. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> field contain the
+ old and new value as a number. Its exact type is implementation
+ dependant but has to be the same as is returned by the
+ <member>XAccessibleValue::getCurrentValue</member> function.
+ */
+
+ const short VALUE_CHANGED = 11;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain
+ refrences 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 <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain
+ refrences 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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 <type>XAccessibleText</type> interface of the
+ event source for this information. The type of content of the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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 <type>XAccessibleText</type> and
+ <type>XAccessibleEditableText</type> interfaces.
+
+ <p>The affected text ranges are represented by <type
+ scope="com::sun::star::accessibility">TextSegment</type> structures.<p>
+
+ <p>The content of the <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> expresses the type
+ of text change: <ul> <li>Insertion: the
+ <member>AccessibleEventObject::NewValue</member> field specifies the
+ inserted text after the insertion, the
+ <member>AccessibleEventObject::OldValue</member> field remains
+ empty.</li> <li>Deletion: the
+ <member>AccessibleEventObject::OldValue</member> field specifies the
+ deleted text before the deletion, the
+ <member>AccessibleEventObject::NewValue</member> field remains
+ empty.</li> <li>Update/Replace/Modification: the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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> </ol>
+
+ <p>When broadcasting an event allways 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 discontiguous text ranges are inserted,
+ deleted, or otherwise modified the two fields of the event have to
+ cover all the effected 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 <member>AccessibleEventObject::OldValue</member> field
+ contains the start index of previously focused element. The
+ <member>AccessibleEventObject::NewValue</member> 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
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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 <member>AccessibleEventObject::NewValue</member> field contains
+ the column index. The
+ <member>AccessibleEventObject::OldValue</member> is left empty.
+ */
+ const short TABLE_COLUMN_DESCRIPTION_CHANGED = 26;
+
+ /** Constant used to indicate that the column header has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the header
+ change.
+ */
+ const short TABLE_COLUMN_HEADER_CHANGED = 27;
+
+ /** Constant used to indicate that the table data has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the data
+ change.
+ */
+ const short TABLE_MODEL_CHANGED = 28;
+
+ /** Constant used to indicate that the row description has changed. The
+ <member>AccessibleEventObject::NewValue</member> field contains the
+ row index. The <member>AccessibleEventObject::OldValue</member> is
+ left empty.
+ */
+ const short TABLE_ROW_DESCRIPTION_CHANGED = 29;
+
+ /** Constant used to indicate that the row header has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the header
+ change.
+ */
+ const short TABLE_ROW_HEADER_CHANGED = 30;
+
+ /** Constant used to indicate that the table summary has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> 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.
+ <member>AccessibleEventObject::OldValue</member> is empty.
+ <member>AccessibleEventObject::NewValue</member> 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.
+ <member>AccessibleEventObject::OldValue</member> is empty.
+ <member>AccessibleEventObject::NewValue</member> contains the collapsed list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_COLLAPSED = 33;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventObject.idl b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
new file mode 100644
index 000000000000..c1a4e5c39d07
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_accessibility_AccessibleEventObject_idl__
+#define __com_sun_star_accessibility_AccessibleEventObject_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** this struct describes an accessible event, that is broadcasted from
+ the <type>XAccessibleEventBroadcaster</type> and notified to
+ <type>XAccessibleEventListener</type>.
+
+ <p>It is usualy implemented by <type>AccessibleContext</type>.
+
+ @since OOo 1.1.2
+*/
+published struct AccessibleEventObject: ::com::sun::star::lang::EventObject
+{
+ /** specifies the type of this event.
+
+ <p>For a list of possible events see <type>AccessibleEventId</type>.
+ */
+ short EventId;
+
+ /** for events that specifies a value change, this is
+ the new value.
+
+ Depending on the <member>EventId</member>, this can be void.
+ */
+ any NewValue;
+
+ /** for events that specifies a value change, this is
+ the old value.
+
+ Depending on the <member>EventId</member>, this can be void.
+ */
+ any OldValue;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelation.idl b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
new file mode 100644
index 000000000000..8df475e9fa0e
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_accessibility_AccessibleRelation_idl__
+#define __com_sun_star_accessibility_AccessibleRelation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** An <type>AccessibleRelation</type> 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
+*/
+published struct AccessibleRelation
+{
+ /** Type of the relation.
+
+ <p>Its value has to be one of the constants defined by
+ <type>AccessibleRelationType</type>. 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
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelationType.idl b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
new file mode 100644
index 000000000000..5fec84f6ed8f
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 availabe types of relations that
+ are usable by <type>AccessibleRelation</type>.</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
+*/
+published 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;
+
+ /** Lable-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 treetable 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;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
new file mode 100644
index 000000000000..5fe65d04ec42
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -0,0 +1,720 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 constans defines the set of possible roles of
+ classes implementing the <type>XAccessible</type> 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
+ <member>getAccessibleRole</member> method of the
+ <type>XAccessibleContext</type> 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 underscrores. The other ones are somewhat
+ deprecated and will be removed in the future. </p>
+
+ @see XAccessibleContext
+
+ @since OOo 1.1.2
+*/
+published 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 alse <const>FRAME</const>, <const>GLASS_PANE</const>, and
+ <const>LAYERED_PANE</const>.</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 <const>PUSH_BUTTON</const>, <const>TOGGLE_BUTTON</const>,
+ and <const>RADIO_BUTTON</const>.</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 <const>DATE_EDITOR</const> is a component that allows users to
+ edit java.util.Date and java.util.Time objects.</p>
+ */
+ const short DATE_EDITOR = 8;
+
+ /** An iconified internal frame in a DESKTOP_PANE.
+
+ <p>See also <const>DESKTOP_PANE</const> and
+ <const>INTERNAL_FRAME</const>.</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 <const>FILE_CHOOSER</const>.</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 <const>FRAME</const> and <const>WINDOW</const>.</p>
+ */
+ const short DIALOG = 12;
+
+ /** View of a document.
+
+ <p>The view of an actual document. Its content depends on the
+ documen type.</p>
+ */
+ const short DOCUMENT = 13;
+
+ /** Embeded (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 <const>DIRECTORY_PANE</const>.</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 <const>FONT_CHOOSER</const> 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 <const>DIALOG</const>, <const>CANVAS</const>, and
+ <const>WINDOW</const>.</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 <const>ROOT_PANE</const> and <const>CANVAS</const>.</p>
+ */
+ const short GLASS_PANE = 22;
+
+ /** Graphical object.
+ */
+ const short GRAPHIC = 23;
+
+ /** Group box role.
+
+ <p>A <const>GROUP_BOX</const> 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 <const>DESKTOP_ICON</const>, <const>DESKTOP_PANE</const>,
+ and <const>FRAME</const>.</p>
+ */
+ const short INTERNAL_FRAME = 29;
+
+ /** An object used to present an icon or short string in an interface.
+ */
+ 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 <const>GLASS_PANE</const> and
+ <const>ROOT_PANE</const>.</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 <const>SCROLL_PANE</const> and
+ <const>LIST_ITEM</const>.</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 <const>SCROLL_PANE</const> and <const>LIST</const>.</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 <const>MENU_BAR</const>, <const>MENU_ITEM</const>,
+ <const>SEPARATOR</const>, <const>RADIO_BUTTON</const>,
+ <const>CHECK_BOX</const>, and <const>POPUP_MENU</const>.</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 <const>MENU</const>, <const>POPUP_MENU</const>, and
+ <const>LAYERED_PANE</const>.</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 <const>MENUBAR</const>, <const>SEPARATOR</const>, and
+ <const>POPUP_MENU</const>.</p>
+ */
+ const short MENU_ITEM = 36;
+
+ /** A specialized pane whose primary use is inside a <const>DIALOG</const>.
+
+ <p>See also <const>DIALOG</const>.</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 <const>PAGE_TAB_LIST</const>.</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 <const>PAGE_TAB</const>.</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;
+
+ /** Popup 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 <const>MENU</const> and <const>MENU_ITEM</const>.</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 <const>CHECK_BOX</const>, <const>TOGGLE_BUTTON</const>,
+ <const>RADIO_BUTTON</const>, <const>BUTTON_MENU</const> and
+ <const>BUTTON_DROPDOWN</const>.</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 <const>PUSH_BUTTON</const>, <const>TOGGLE_BUTTON</const>,
+ and <const>CHECK_BOX</const>.</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 <const>GLASS_PANE</const> and <const>LAYERED_PANE</const>.</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>Ssee also <const>SCROLL_PANE</const>.</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 <const>SCROLL_BAR</const> and <const>VIEW_PORT</const>.</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 <const>MENU</const> and <const>MENU_ITEM</const>.</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 <const>SPIN_BOX</const> 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 <const>STATUS_BAR</const> 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.</p>
+
+ <p>See also <const>LABEL</const>.</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 <const>PUSH_BUTTON</const>, <const>CHECK_BOX</const> and
+ <const>RADIO_BUTTON</const>.</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
+ accessibleDescription 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 <const>SCROLL_PANE</const>.</p>
+ */
+ const short VIEW_PORT = 66;
+
+ /** A top level window with no title or border.
+
+ <p>See also <const>FRAME</const> and <const>DIALOG</const>.</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 <const>PUSH_BUTTON</const> and <const>BUTTON_MENU</const>.</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 <const>PUSH_BUTTON</const> and <const>BUTTON_DROPDOWN</const>.</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 <const>TREE</const> and <const>TREE_TABLE</const>.</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 <const>COMMENT_END</const>.</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 <const>COMMENT</const>.</p>
+
+ <p>This object and the corresponding object representing the comment shall be
+ in relation of type <const>MEMBER_OF</const>.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT_END = 82;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleStateType.idl b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
new file mode 100644
index 000000000000..a43fb42a6397
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
@@ -0,0 +1,225 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XAccessibleContext</type> 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
+*/
+published 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 improvment. 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 a 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 <const>SHOWING</const> state if itself and
+ all of its parents have set the <const>VISIBLE</const> 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
+ ocluded 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;
+
+ /** ???
+ */
+ 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 <const>VISIBLE</const> state indicates that an object wants
+ to be displayed on the screen. It is displayed, as indicated by a
+ set <const>SHOWING</const> state, if all of its parents have also
+ set the <const>VISIBLE</const> state and the object lies at least
+ partly in the visible area of its parent.</p>
+ */
+ const short VISIBLE = 30;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
new file mode 100644
index 000000000000..f38bbf9e17ac
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <type>AccessibleTableModelChange</type> structure
+ give access to the type and cell range of a change of a table model. See
+ <type>AccessibleTableModelChangeType</type> 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
+*/
+published struct AccessibleTableModelChange
+{
+ /** The type of the event as defined in
+ <type>AccessibleTableModelChangeType</type>.
+
+ <p>The model change either inserted or deleted one or more rows
+ and/or columns or modified the content of a number of cells. See
+ <type>AccessibleTableModelChangeType</type> 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
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
new file mode 100644
index 000000000000..77e2db6eab96
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_XAccessibleTableModelChange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
+ <type>AccessibleTableModelChange</type> structure to specifiy the
+ type of change that has been made to a table model.</p>
+
+ <p>Two of the constants,
+ <const>AccessibleTableModelChangeType::INSERT</const> and
+ <const>AccessibleTableModelChangeType::DELETE</const> describe
+ changes to the table's geometry. One or more rows and/or columns have
+ been inserted or deleted. In constrast, the remaining constant
+ <const>AccessibleTabelModelChangeType::UPDATE</const> specifies a
+ change of the table's content.</p>
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleTableModelChangeType
+{
+ /** One or more rows and/or columns have been inserted.
+
+ <p>Use the fields of the <type>AccessibleTableModelChange</type>
+ structure to determine the indices of the rows and/or columns that
+ have been inserted.</p>
+ */
+ const short INSERT = 1;
+
+ /** One or more rows and/or columns have been deleted.
+
+ <p>The affected area of the table is stored in the fields of the
+ <type>AccessibleTableModelChange</type> structure.</p>
+ */
+ const short DELETE = 2;
+
+ /** 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 <type>AccessibleTableModelChange</type> structure have
+ been changed.</p>
+ */
+ const short UPDATE = 3;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleTextType.idl b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
new file mode 100644
index 000000000000..597f2ecb5349
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>XAccessibleText</type> interface.</p>
+
+ @since OOo 1.1.2
+*/
+published 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 <const>CHARACTER</const>,
+ <const>WORD</const>, <const>SENTENCE</const>, and
+ <const>PARAGRAPH</const> 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
diff --git a/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
new file mode 100644
index 000000000000..529bac18e3c5
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+#define __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Indicates invalid or unavailable state information.
+
+ <p>This exception is thrown to indicate the an accessibilty component
+ has been queried for state information that it can not provide. Used by
+ <member>XAccessibleContext::getLocale</member>.</p>
+
+ @see XAccessibleContext::getLocale()
+
+ @since OOo 1.1.2
+*/
+published exception IllegalAccessibleComponentStateException
+ : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/TextSegment.idl b/offapi/com/sun/star/accessibility/TextSegment.idl
new file mode 100644
index 000000000000..650433598539
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/TextSegment.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>XAccessibleText</type> interface to describe a text portion that
+ was inserted into or deleted from an accessible text.
+
+ <p>The indices <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member> refer to the enclosing text.
+ The <member>TextSegment::SegmentText</member> 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 <type>XAccessibleText</type> interface that represents the
+ enclosing text.</p>
+
+ <p>An empty text segment is expressed by
+ <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member> 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 <member>SegmentText</member> 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
+*/
+
+published struct TextSegment
+{
+ /** A copy of the text segment of the enclosing text delimited by the
+ text indices <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member>. 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
diff --git a/offapi/com/sun/star/accessibility/XAccessible.idl b/offapi/com/sun/star/accessibility/XAccessible.idl
new file mode 100644
index 000000000000..2899c960dc96
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessible.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#define __com_sun_star_accessibility_XAccessible_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published 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 <type>XAccessibleContext</type>
+ interface but allows at the same time that that interface is implemented
+ by another class.</p>
+
+ <p>The distinction between the interfaces <type>XAccessible</type> and
+ <type>XAccessibleContext</type> makes it possible to split up the
+ implementation of the
+ class that is made accessible and the actual accessibility code into two
+ (mostly) independant parts. The only necessary dependance is the
+ <member scope="XAccessible">getAccessibleContext()</member> function
+ that returns the accessible context. This one-way link has to be
+ persistant in some sense: As long as there is at least one reference to
+ a specific <type>XAccessibleContext</type> object the
+ <type>XAccessible</type> object has to return the same context for every
+ call to <member scope="XAccessible">getAccessibleContext()</member>.
+ 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
+*/
+published interface XAccessible : ::com::sun::star::uno::XInterface
+{
+ /** Returns the AccessibleContext associated with this object.
+
+ <p>The idea to let this interface only return an
+ <type>XAccessibleContext</type> instead of directly supporting its
+ functions is to allow the seperation of the implementation of the
+ functions that make a class accessible from the implementation of
+ that class. You may, of course, implement <type>XAccessible</type>
+ and <type>XAccessibleContext</type> in one class.</p>
+
+ @return
+ A reference to the object that contains the actual accessibility
+ information.
+
+ @see AccessibleContext
+ */
+ XAccessibleContext getAccessibleContext ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleAction.idl b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
new file mode 100644
index 000000000000..4d25f9a71ea2
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#define __com_sun_star_accessibility_XAccessibleAction_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published 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
+*/
+published 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
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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 <type>XAccessibleKeyBinding</type> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
new file mode 100644
index 000000000000..cb07b5aebb3a
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
@@ -0,0 +1,236 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XFont_idl__
+#include <com/sun/star/awt/XFont.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** The <type>XAccessibleComponent</type> 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 <type>XAccessibleExtendedComponent</type>
+ 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 coordiante 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
+ <method>getLocationOnScreen</method> 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 <method>getLocation</method>
+ 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 <method>containsPoint</method> and
+ <method>getAccessibleAtPoint</method> 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
+ <type>XAccessibleAction</type> interface of a component, provided that
+ it is supported, and use the <method
+ scope="XAccessibleAction">getAccessibleKeyBinding()</method>.</p>
+
+ @see XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+published 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 <method>getBounds</method>. The scale of the
+ coordinate system is identical to that of the screen coordiante
+ 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 aPoint);
+
+ /** 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 aPoint
+ 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
+ <method>getBounds</method>. The scale of the coordinate
+ system is identical to that of the screen coordiante 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 aPoint);
+
+ /** 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 <method>getLocation</methodmber> and
+ <method>getSize</method> return the same information. With method
+ <method>getLocationOnScreen</method> 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 returnred 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 returnred 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
+ <method>getLocation</method>. 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 returnred 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. <method>isFocusTraversable</method> 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>
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext.idl b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
new file mode 100644
index 000000000000..4b85964cb3d9
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#define __com_sun_star_accessibility_XAccessibleContext_idl__
+
+#ifndef __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+ published interface XAccessibleRelationSet;
+ published interface XAccessibleSelection;
+ published interface XAccessibleStateSet;
+
+/** Implement this interface for exposing various aspects of a class'
+ 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
+ <const>AccessibleRole::BUTTON</const>, its name is 'OK', and its description
+ is something like 'Accepts all changes made in the dialog'.</p>
+
+ @since OOo 1.1.2
+*/
+published 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
+ dependend.</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
+ <member>XAccessibleContext::getAccessibleChild</member> 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
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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 getAccessibeChild 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 <member>XAccessibleContext::getAccessibleRole</member>'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 objects relation
+ set: changing the returned object does not change this objects
+ relations.</p>
+
+ <p>aThere 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 referece 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 refelected by changing the object's set of states. See
+ the documentation of <type>XAccessibleStateSet</type> 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 <type>IllegalAccessibleComponentStateException</type>.
+
+ @throws IllegalAccessibleComponentStateException
+ when this object does not (yet) have a parent.
+ */
+ ::com::sun::star::lang::Locale getLocale ()
+ raises (IllegalAccessibleComponentStateException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
new file mode 100644
index 000000000000..1dc673f4a024
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#define __com_sun_star_accessibility_XAccessibleEditableText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+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
+ <type>XAccessibleText</type> interface and extents it about the ability
+ to modify the text represented by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+published 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 <member>XAccessibleText::copyText</member> and then
+ <member>XAccessibleEditableText::deleteText</member> with the given
+ start and end indices.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> 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 <member>XAccessibleEditableText::insertText</member>
+ 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
+ <member>XAccessibleText::getTextRange</member> 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
+ <member>XAccessibleEditableText::deleteText</member> with the two
+ indices and afterwards calling
+ <member>XAccessibleEditableText::insertText</member> with the
+ replacement text and the start index.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> 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
+ <member>XAccessibleText::getTextRange</member> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
new file mode 100644
index 000000000000..0635ad906da4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#define __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleEventListener;
+
+/** makes it possible to register listeners which are called whenever
+ an accessibility event (see <type>AccessibleEventObject</type>) occurs.
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+ */
+published interface XAccessibleEventBroadcaster: ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** registers the given <type>XAccessibleEventListener</type>.
+ */
+ [oneway] void addEventListener( [in] XAccessibleEventListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters the given <type>XAccessibleEventListener</type>.
+ */
+ [oneway] void removeEventListener( [in] XAccessibleEventListener xListener );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
new file mode 100644
index 000000000000..d673d71557b4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventListener_idl__
+#define __com_sun_star_accessibility_XAccessibleEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_AccessibleEventObject_idl__
+#include <com/sun/star/accessibility/AccessibleEventObject.idl>
+#endif
+
+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
+ */
+published interface XAccessibleEventListener: ::com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called whenever a accessible event (see <type>AccessibleEventObject</type>) occurs.
+ */
+ void notifyEvent( [in] AccessibleEventObject aEvent );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
new file mode 100644
index 000000000000..ce28b9e7994b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XFont_idl__
+#include <com/sun/star/awt/XFont.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** The <type>XAccessibleExtendedComponent</type> interface contains
+ additional methods to those of the <type>XAccessibleComponent</type>
+ 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 <type>XAccessibleComponent</type>
+ interface and only support the <type>XAccessibleExtendedComponent</type>
+ 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
+*/
+published interface XAccessibleExtendedComponent : XAccessibleComponent
+{
+ /** Returns the font of this object.
+
+ @return
+ The returend 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
new file mode 100644
index 000000000000..f2174b802260
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+#define __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+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
+ <type>XAccessibleAction</type> interface. Especially that interface's
+ <member>XAccessibleAction::getActionCount</member> method is needed to
+ obtain a maximum value for the indices passed to the
+ <member>XAccessibleHyperlink::getAccessibleActionAnchor</member> and
+ <member>XAccessibleHyperlink::getAccessibleActionObject</member>
+ methods.</p>
+
+ <p>Furhtermore, the object that implements this interface has to be
+ connected implicitely or explicitely with an object that implements the
+ the <type>XAccessibleText</type> interface. The
+ <member>XAccessibleHyperlink::getStartIndex</member> and
+ <member>XAccessibleHyperlink::getEndIndex</member> methods return
+ indices with respect to the text exposed by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+published 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 determinded by calling
+ the <member>XAccessibleAction::getActionCount</member> 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 determinded by calling
+ the <member>XAccessibleAction::getActionCount</member> 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 <type>XAccessibleText</type>
+ interface that ownes this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ <type>XAccessibleHypertext</type> interface.
+ */
+ long getStartIndex ();
+
+ /** Returns the index at which the textual rerpesentation of the
+ hyperlink (group) ends.
+
+ <p>The returned value relates to the <type>XAccessibleText</type>
+ interface that ownes this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ <type>XAccessibleText</type> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
new file mode 100644
index 000000000000..253b7d93c41a
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleHypertext_idl__
+#define __com_sun_star_accessibility_XAccessibleHypertext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleHyperlink;
+
+
+/** Implement this interface to expose the hypertext structure of a document.
+
+ <p>The <type>XAccessibleHypertext</type> 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
+ <member>XAccessibleHypertext::getLinkIndex</member> method of this
+ interface and other character related methods of the
+ <type>XAccessibleHyperlink</type> interface, it is necessary to also
+ support the <type>XAccessibleText</type> interface.</p>
+
+ @see XAccessibleHyperlink, XAccessibleText
+
+ @since OOo 1.1.2
+*/
+published 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 <type>XAccessibleHyperlink</type> 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 intervall 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 <type>XAccessibleText</type> interface is used to represent
+ the text containting the link, then the character index is only
+ valid if it is greater than or equal to zero and lower then 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleImage.idl b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
new file mode 100644
index 000000000000..f6b3b3f5878a
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleImage_idl__
+#define __com_sun_star_accessibility_XAccessibleImage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
+*/
+published 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 images'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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
new file mode 100644
index 000000000000..c131d9c19815
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+#define __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_KeyStroke_idl__
+#include <com/sun/star/awt/KeyStroke.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+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 <type scope="::com::sun::star::awt">KeyStroke</type>
+ objects. The association of an action with a key binding is established
+ by the <type>XAccessibleAction</type> interface returning an
+ <type>XAccessibleKeyBinding</type> 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
+*/
+published 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 <member>geetAccessibleKeyBindingCount()</member>
+ 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
new file mode 100644
index 000000000000..95afd25a634d
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+#define __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+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
+ <type>XAccessibleText</type> interface and extents it with a notion
+ of line numbers</p>
+
+ @since OOo 3.0.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);
+
+ /** Retuns 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
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member>
+ with the index of the last character. In a loop, the last line
+ has been reached when <member>TextSegment::SegmentEnd</member>
+ 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 <member>XAccessibleText::getTextAtIndex</member> with
+ the index returned by <member>XAccessibleText::getCaretPosition</member>
+ and type <const scope="AccessibleTextType">LINE</type> 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,
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member> 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 <member>XAccessibleMultiLineText::getLineNumberAtIndex</member>
+ with the index returned by <member>XAccessibleText::getCaretPosition</member>
+ 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,
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
new file mode 100644
index 000000000000..a5af46d8588c
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+#define __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleRelation_idl__
+#include <com/sun/star/accessibility/AccessibleRelation.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+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 <type>AccessibleRelation</type>
+ structure. This interface is used for representing sets of relations
+ between <type>Accessible</type> 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 <member>add</member>,
+ <member>addAll</member>, <member>clear</member>, and
+ <member>remove</member>. The other methods have been renamed to achieve
+ a geater conformance with the other accessibility interfaces.</p>
+
+ @since OOo 1.1.2
+*/
+published 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 relatio 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
+ <type>AccessibleRelationType</type>.
+
+ @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 <type>AccessibleRelationType</type>.
+
+ @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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
new file mode 100644
index 000000000000..15f5f8c920e7
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleSelection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published 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 <type>XAccessibleSelection</type> interface has to be implemented
+ in conjunction with the <type>XAccessibleContext</type> 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
+*/
+published interface XAccessibleSelection : ::com::sun::star::uno::XInterface
+{
+ /** Selects the specified <type>Accessible</type> 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
+ referes 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
+ <member>XAccessibleContext::getAccessibleChildCount()</member>-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 referes 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
+ <member>XAccessibleContext::getAccessibleChildCount()</member>-1.
+ */
+ boolean isAccessibleChildSelected ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Clears the selection, so that no children of the
+ object are selected.
+ */
+ [oneway] 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>
+ */
+ [oneway] 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 methods
+ <member>XAccessibleSelection::getSelectedChild</member> and
+ <member>XAccessibleSelection::deselectSelectedChild</member>.</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 <type>XAccessible</type> 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
+ <member>XAccessibleRelationSet::getAccessibleChildCount()</member>-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
+ <member scope="XAccessibleContext">getAccessibleChildCount()</member>.
+ */
+ void deselectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
new file mode 100644
index 000000000000..21f339587281
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleStateSet_idl__
+#define __com_sun_star_accessibility_XAccessibleStateSet_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleStateType_idl__
+#include <com/sun/star/accessibility/AccessibleStateType.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Implement this interface to represent a set of states.
+
+ <p>The interface <type>XAccessibleStateSet</type> represents a set of
+ states of an accessible object. It can hold any combination of states
+ defined by the constants collection
+ <type>AccessibleStateType</type>.</p>
+
+ @since OOo 1.1.2
+*/
+published 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 <type>AccessibleStateType</type>.
+
+ @return
+ Returns <TRUE/> if the given state is a memeber 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 <type>AccessibleStateType</type>.
+
+ @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 <member>contains()</member> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTable.idl b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
new file mode 100644
index 000000000000..c6e0ba9f18f9
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
@@ -0,0 +1,387 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#define __com_sun_star_accessibility_XAccessibleTable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Implement this interface to give access to a two-dimensional table.
+
+ <p>The <type>XAccessibleTable</type> 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 <type>XAccessible</type> 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
+ <member>XAccessibleTable::getAccessibleIndex</member>,
+ <member>XAccessibleTable::getAccessibleRow</member>, and
+ <member>XAccessibleTable::getAccessibleColumn</member>.</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
+ <member>XAccessibleTable::getAccessibleRowCount</member> and
+ <member>XAccessibleTable::getAccessibleColumnCount</member>. 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
+*/
+published 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ long getAccessibleColumnExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the row headers as an <type>XAccessibleTable</type>
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns allways a valid reference to an
+ <type>XAccessibleTable</type> object.
+ */
+ XAccessibleTable getAccessibleRowHeaders ();
+
+ /** Returns the column headers as an <type>XAccessibleTable</type>
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns allways a valid reference to an
+ <type>XAccessibleTable</type> 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ boolean isAccessibleColumnSelected ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the <type>XAccessible</type> object at the specified row
+ and column in the table.
+
+ <p>This method has been renamed from the Java name
+ <code>getAccessibleAt</code> to
+ <member>XAccessibleTable::getAccessibleCellAt</member> to avoid
+ ambiguities with the
+ <member>XAccessibleComponent::getAccessibleAt</member> 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
+ <type>XAccessible</type> 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 valide range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 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
+ <type>XAccessible</type> 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
+ <member>XAccessibleContext::getAccessibleIndexInParent</member> 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleText.idl b/offapi/com/sun/star/accessibility/XAccessibleText.idl
new file mode 100644
index 000000000000..7b1cf40ae837
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleText.idl
@@ -0,0 +1,519 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#define __com_sun_star_accessibility_XAccessibleText_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleTextType_idl__
+#include <com/sun/star/accessibility/AccessibleTextType.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_accessibility_TextSegment_idl__
+#include <com/sun/star/accessibility/TextSegment.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read-only access to a text.
+
+ <p>The <type>XAccessibleText</type> 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 <type>XAccessibleEditableText</type>
+ interface.</p>
+
+ <p>The text length, i.e. the number of characters in the text, is
+ returned by <member>XAccessibleText::getCharacterCount</member>.
+ All methods that operate on particular characters (e.g.
+ <member>XAccessibleText::getCharacterAt</member>) use character
+ indices from 0 to length-1. All methods that operate on character
+ positions (e.g. <member>XAccessibleText::getTextRange</member>)
+ 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
+*/
+published 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
+ <const>AccessibleEventId::ACCESSIBLE_SELECTION_EVENT</const>.</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
+ <const>AccessibleEventId::ACCESSIBLE_CARET_EVENT</const>.</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 <member>getCharacterCount</member>
+ 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 usefull 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
+ <arg>aRequestedAttributes</arg> argument) requested attributes
+ of the specified character. Each attribute is represented by a
+ <type scope="::com::sun::star::beans">PropertyValue</type>
+ 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
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getCharacterAttributes (
+ [in] long nIndex,
+ [in] sequence<string> aRequestedAttributes)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** 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 rougly 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 a <const scope="AccessibleEventId">CARET</const> 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 <member>XAccessibleText::getCharacterBounds</member>. The method
+ <member>XAccessibleText::getIndexAtPoint</member>, 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
+ <member>XAccessibleText::getTextRange</member> 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
+ <const>AccessibleEventId::ACCESSIBLE_CARET_EVENT</const>.</p>
+
+ @param nStartIndex
+ The first character of the new selection.
+ The valid range is 0..length.
+
+ @parm 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
+ <member>XAccessibleText::getTextRange</member> 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 <const scope="AccessibleTextType">WORD</type>, 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
+ <type>AccessibleTextType</type> 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::InvalidArgumentException
+ 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
+ <member>XAccessibleText::getTextAtIndex</member> with a
+ suitably decreased index value.</p>
+
+ <p>For example, if text type is <const
+ scope="AccessibleTextType">WORD</type>, 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
+ <type>AccessibleTextType</type> 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::InvalidArgumentException
+ 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
+ <member>XAccessibleText::getTextAtIndex</member> with a
+ suitably increased index value.</p>
+
+ <p>For example, if text type is <const
+ scope="AccessibleTextType">WORD</type>, 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
+ <type>AccessibleTextType</type> 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::InvalidArgumentException
+ 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
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ <p>The other clipboard related methods
+ <member>XAccessibleEditableText::cutText</member> and
+ <member>XAccessibleEditableText::deleteText</member> can be found in
+ the <type>XAccessibleEditableText</type> 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);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
new file mode 100644
index 000000000000..5bb632b0cbc2
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+#define __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+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
+*/
+published 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 <type scope="::com::sun::star::beans">PropertyValue</type>
+ object.
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getDefaultAttributes ( [in] sequence<string> RequestedAttributes );
+
+ /** 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
+ <type scope="::com::sun::star::beans">PropertyValue</type> 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::lang::IndexOutOfBoundsException);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
new file mode 100644
index 000000000000..c89cac41ef31
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+#define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_TextSegment_idl__
+#include <com/sun/star/accessibility/TextSegment.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleTextMarkup;
+
+
+/** Implement this interface to expose the text markups of a text.
+
+ <p>The <type>XAccessibleTextMarkup</type> 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
+ <member>XAccessibleTextMarkup::getTextMarkupIndex</member> method of this
+ interface and other character related methods of the
+ <type>XAccessibleTextMarkup</type> interface, it is necessary to also
+ support the <type>XAccessibleText</type> 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 <type>IllegalArgumentException</type>, 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 <type>TextMarkupType</type>.
+
+ @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 <type>IndexOutOfBoundsException</type>, if given index
+ is out of valid range.</p>
+ <p>Throws <type>IllegalArgumentException</type>, 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
+ <type>TextMarkupType</type>.
+
+ @return
+ If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
+ the text segment - see <type>TextSegment</type> - 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 <type>IndexOutOfBoundsException</type>, if given character
+ index is out of range [0..number of characters in the text).</p>
+ <p>Throws <type>IllegalArgumentException</type>, 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
+ <type>TextMarkupType</type>.
+
+ @return
+ If character index is in range [0..number of characters in the text-1],
+ a seguence of <type>TextSegment</type>s 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
diff --git a/offapi/com/sun/star/accessibility/XAccessibleValue.idl b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
new file mode 100644
index 000000000000..b5d8cb8482ff
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#define __com_sun_star_accessibility_XAccessibleValue_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to a single numerical value.
+
+ <p>The <type>XAccessibleValue</type> 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
+*/
+published 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
+ <member>getMaximumAccessibleValue</member> and
+ <member>getMinimumAccessibleValue</member>, 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
+ <member>getCurrentAccessibleValue</member>.</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
+ <member>getCurrentAccessibleValue</member>.</p>
+
+ @return
+ Returns the minimal value in an implementation dependent type.
+ If this object has no upper bound then an empty object is
+ returned.
+ */
+ any getMinimumValue ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/makefile.mk b/offapi/com/sun/star/accessibility/makefile.mk
new file mode 100644
index 000000000000..29403d0e9d08
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/makefile.mk
@@ -0,0 +1,80 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssaccessibility
+PACKAGE=com$/sun$/star$/accessibility
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessBridge.idl \
+ Accessible.idl \
+ AccessibleContext.idl \
+ AccessibleEventId.idl \
+ AccessibleEventObject.idl \
+ AccessibleRelation.idl \
+ AccessibleRelationType.idl \
+ AccessibleRole.idl \
+ AccessibleStateType.idl \
+ AccessibleTableModelChange.idl \
+ AccessibleTableModelChangeType.idl \
+ AccessibleTextType.idl \
+ IllegalAccessibleComponentStateException.idl \
+ TextSegment.idl \
+ XAccessible.idl \
+ XAccessibleAction.idl \
+ XAccessibleComponent.idl \
+ XAccessibleContext.idl \
+ XAccessibleEditableText.idl \
+ XAccessibleEventBroadcaster.idl \
+ XAccessibleEventListener.idl \
+ XAccessibleExtendedComponent.idl \
+ XAccessibleHyperlink.idl \
+ XAccessibleHypertext.idl \
+ XAccessibleImage.idl \
+ XAccessibleKeyBinding.idl \
+ XAccessibleMultiLineText.idl \
+ XAccessibleRelationSet.idl \
+ XAccessibleSelection.idl \
+ XAccessibleStateSet.idl \
+ XAccessibleTable.idl \
+ XAccessibleText.idl \
+ XAccessibleTextAttributes.idl \
+ XAccessibleTextMarkup.idl \
+ XAccessibleValue.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/animations/AnimationAdditiveMode.idl b/offapi/com/sun/star/animations/AnimationAdditiveMode.idl
new file mode 100644
index 000000000000..de84bc485d5b
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationAdditiveMode.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XAnimate</type>
+ @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
diff --git a/offapi/com/sun/star/animations/AnimationCalcMode.idl b/offapi/com/sun/star/animations/AnimationCalcMode.idl
new file mode 100644
index 000000000000..cd1aaed78eef
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationCalcMode.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XAnimation</type>
+ @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 <member>KeyTimes</member> attribute, and the control points
+ for each interval are defined in the <member>KeySplines</member> attribute.
+ */
+ const short SPLINE = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/AnimationColorSpace.idl b/offapi/com/sun/star/animations/AnimationColorSpace.idl
new file mode 100644
index 000000000000..a29c40139f5a
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationColorSpace.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_AnimationColorSpace_idl__
+#define __com_sun_star_animations_AnimationColorSpace_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/** defines the colorspace that is used for interpolation.
+ <br>
+ This does not change how colors are interpreted but how to
+ interpolate from one color to another.
+
+ @see <member>XAnimateColor::ColorSpace</member>
+*/
+constants AnimationColorSpace
+{
+ /** defines that the RGB colorspace is used for interpolation .
+ */
+ const short RGB = 0;
+
+ /** defines that the HSL colorspace is used for interpolation .
+ */
+ const short HSL = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/AnimationEndSync.idl b/offapi/com/sun/star/animations/AnimationEndSync.idl
new file mode 100644
index 000000000000..e11024b9f723
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationEndSync.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/animations/AnimationFill.idl b/offapi/com/sun/star/animations/AnimationFill.idl
new file mode 100644
index 000000000000..cc9796cdffe9
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationFill.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>fill</member> and <member>fillDefault</member>
+ of the an <type>XTimeContainer</type>.
+
+ @see <type>XTimeContainer</type>
+ @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 <member>XTiming::FillDefault</member> attribute.
+ This is the default value for the <member>XTiming::Fill</member>..
+ 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
+ <const>AnimationFill::AUTO</const>.
+ */
+ const short DEFAULT = 0;
+
+ /** Specifies that the value of this attribute (and of the fill behavior) are
+ inherited from the <member>XTiming::FillDefault</member> value
+ of the parent element. If there is no parent element, the value is <const>AnimationFill::AUTO</const>.
+ This is the default value for the <member>XTiming::FillDefault</member>.
+ */
+ 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 theelement (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 <const>AnimationFill::FREEZE</const>.</li>
+ <li>Otherwise, the element will have a fill behavior identical to that if it were specified as <const>AnimationFill::REMOVE</const.</li>
+ </ul>
+ */
+ const short AUTO = 5;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/AnimationNodeType.idl b/offapi/com/sun/star/animations/AnimationNodeType.idl
new file mode 100644
index 000000000000..3d290520a774
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationNodeType.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hierachy.
+
+ @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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/AnimationRestart.idl b/offapi/com/sun/star/animations/AnimationRestart.idl
new file mode 100644
index 000000000000..4185bb594764
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationRestart.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 behaviour
+
+ @see <member>XTiming::Restart</member>
+ @see <member>XTiming::RestartDefault</member>
+ @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 <member>XTiming::RestartDefault</member> attribute.
+ This is the default value for the <member>XTiming::Restart</member> attribute.
+ */
+ const short DEFAULT = 0;
+
+ /** Specifies that the value of this attribute (and of the restart behavior) are
+ inherited from the <member>XTiming::RestartDefault</member> value of the parent element.
+ If there is no parent element, the value is <const>AnimationRestart::ALWAYS</const>.
+ This is the default value for the <member>XTiming::RestartDefault</member> 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
diff --git a/offapi/com/sun/star/animations/AnimationTransformType.idl b/offapi/com/sun/star/animations/AnimationTransformType.idl
new file mode 100644
index 000000000000..14b3d4b3aeaa
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationTransformType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XAnimateTransform</type>.
+
+ @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
diff --git a/offapi/com/sun/star/animations/AnimationValueType.idl b/offapi/com/sun/star/animations/AnimationValueType.idl
new file mode 100644
index 000000000000..939c32fe47ad
--- /dev/null
+++ b/offapi/com/sun/star/animations/AnimationValueType.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_AnimationValueType_idl__
+#define __com_sun_star_animations_AnimationValueType_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/** @see <member>XAnimateAttribute::ValueType</member>
+*/
+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
diff --git a/offapi/com/sun/star/animations/Event.idl b/offapi/com/sun/star/animations/Event.idl
new file mode 100644
index 000000000000..be5e2e1c9872
--- /dev/null
+++ b/offapi/com/sun/star/animations/Event.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_Event_idl__
+#define __com_sun_star_animations_Event_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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 <const>Timing::INDEFINITE</const>. This is the timespan
+ between the triggering of the event and actually raising the event
+ */
+ any Offset;
+
+ /** an option repeat value. If the <member>Trigger</member> is
+ <const>EventTrigger</const>, this is the number of repeats
+ after wich the event is initially raised.
+ */
+ unsigned short Repeat;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/EventTrigger.idl b/offapi/com/sun/star/animations/EventTrigger.idl
new file mode 100644
index 000000000000..e4e56f771bf1
--- /dev/null
+++ b/offapi/com/sun/star/animations/EventTrigger.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 foreward.
+ */
+ 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
diff --git a/offapi/com/sun/star/animations/TargetProperties.idl b/offapi/com/sun/star/animations/TargetProperties.idl
new file mode 100644
index 000000000000..3e2133f1c2ae
--- /dev/null
+++ b/offapi/com/sun/star/animations/TargetProperties.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_TargetProperties_idl__
+#define __com_sun_star_animations_TargetProperties_idl__
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/animations/TimeFilterPair.idl b/offapi/com/sun/star/animations/TimeFilterPair.idl
new file mode 100644
index 000000000000..45130e8941b3
--- /dev/null
+++ b/offapi/com/sun/star/animations/TimeFilterPair.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/animations/Timing.idl b/offapi/com/sun/star/animations/Timing.idl
new file mode 100644
index 000000000000..01f2c1727910
--- /dev/null
+++ b/offapi/com/sun/star/animations/Timing.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/animations/TransitionSubType.idl b/offapi/com/sun/star/animations/TransitionSubType.idl
new file mode 100644
index 000000000000..54c8fdb875db
--- /dev/null
+++ b/offapi/com/sun/star/animations/TransitionSubType.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+ // new
+ const short THREEBLADE = 105;
+ const short EIGHTBLADE = 106;
+ const short ONEBLADE = 107;
+ const short ACROSS = 108;
+ const short TOPLEFTVERTICAL = 109;
+ const short COMBHORIZONTAL = 110;
+ const short COMBVERTICAL = 111;
+ const short IN = 112;
+ const short OUT = 113;
+ 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
diff --git a/offapi/com/sun/star/animations/TransitionType.idl b/offapi/com/sun/star/animations/TransitionType.idl
new file mode 100644
index 000000000000..cb5d01fade55
--- /dev/null
+++ b/offapi/com/sun/star/animations/TransitionType.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+
+ // new
+ 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
diff --git a/offapi/com/sun/star/animations/ValuePair.idl b/offapi/com/sun/star/animations/ValuePair.idl
new file mode 100644
index 000000000000..12362e63488b
--- /dev/null
+++ b/offapi/com/sun/star/animations/ValuePair.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/animations/XAnimate.idl b/offapi/com/sun/star/animations/XAnimate.idl
new file mode 100644
index 000000000000..1a1c02b59bcc
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimate.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#define __com_sun_star_animations_XAnimate_idl__
+
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+#ifndef __com_sun_star_animations_TimeFilterPair_idl__
+#include <com/sun/star/animations/TimeFilterPair.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>Values</member> 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 <member>Values</member> 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 <member>Values</member> 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 computet
+ result will be used.
+ */
+ [attribute] string Formula;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/animations/XAnimateColor.idl b/offapi/com/sun/star/animations/XAnimateColor.idl
new file mode 100644
index 000000000000..fc5e37a4df49
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateColor.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimateColor_idl__
+#define __com_sun_star_animations_XAnimateColor_idl__
+
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#include <com/sun/star/animations/XAnimate.idl>
+#endif
+
+//=============================================================================
+
+ 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><member>XAnimate::Values</member></li>
+ <li><member>XAnimate::From</member></li>
+ <li><member>XAnimate::To</member></li>
+ <li><member>XAnimate::By</member></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 <const>AnimateColorSpace</const>
+ */
+ [attribute] short ColorInterpolation;
+
+ /** defines the direction which is used to perform the interpolation
+ inside the color space defined with <member>ColorSpace</member>.
+ <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
diff --git a/offapi/com/sun/star/animations/XAnimateMotion.idl b/offapi/com/sun/star/animations/XAnimateMotion.idl
new file mode 100644
index 000000000000..ea9a71a7a469
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateMotion.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimateMotion_idl__
+#define __com_sun_star_animations_XAnimateMotion_idl__
+
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#include <com/sun/star/animations/XAnimate.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>From</member>, <member>To</member> and
+ <member>By</member> 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
diff --git a/offapi/com/sun/star/animations/XAnimateSet.idl b/offapi/com/sun/star/animations/XAnimateSet.idl
new file mode 100644
index 000000000000..54782cbf1563
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateSet.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimateSet_idl__
+#define __com_sun_star_animations_XAnimateSet_idl__
+
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#include <com/sun/star/animations/XAnimate.idl>
+#endif
+
+//=============================================================================
+
+ 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 memebers are ignored
+ <ul>
+ <li><member>XAnimate::Values</member></li>
+ <li><member>XAnimate::KeyTimes</member></li>
+ <li><member>XAnimate::CalcMode</member></li>
+ <li><member>XAnimate::Accumulate</member></li>
+ <li><member>XAnimate::Additive</member></li>
+ <li><member>XAnimate::From</member></li>
+ <li><member>XAnimate::By</member></li>
+ <li><member>XAnimate::TimeFilter</member></li>
+ </ul>
+
+ @see http://www.w3.org/TR/smil20/animation.html#edef-set
+*/
+interface XAnimateSet : XAnimate
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/XAnimateTransform.idl b/offapi/com/sun/star/animations/XAnimateTransform.idl
new file mode 100644
index 000000000000..2bdd61cc8cdb
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimateTransform.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimateTransform_idl__
+#define __com_sun_star_animations_XAnimateTransform_idl__
+
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#include <com/sun/star/animations/XAnimate.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>XAnimate::Attributes</member> contains a short from
+ <const>AnimationTransformType</const>.
+
+ Depending on the value in <member>XAnimate::Attributes</member>, the
+ members <member>XAnimate::From</member>, <member>XAnimate::To</member>,
+ <member>XAnimate::By</member> or <member>XAnimate::Values</member>
+ contain the following
+
+ <ul>
+ <li><const>AnimationTransformType::TRANSLATE</const><br>
+ <type>ValuePair</type> of <i>tx</i> and <i>ty</i></li>
+ <li><const>AnimationTransformType::SCALE</const><br>
+ <type>ValuePair</type> of <i>sx</i> and <i>sy</i></li>
+ <li><const>AnimationTransformType::ROTATE</const><br>
+ Values for a rotation angle</li>
+ <li><const>AnimationTransformType::SKEWX</const><br>
+ Values for a skew-angle</li>
+ <li><const>AnimationTransformType::SKEWY</const><br>
+ Values for a skew-angle</li>
+ </ul>
+
+ @see http://www.w3.org/TR/SVG/animate.html#AnimateTransformElement
+*/
+interface XAnimateTransform : XAnimate
+{
+ /**
+ @see <const>AnimationTransformType</const>
+ */
+ [attribute] short TransformType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/animations/XAnimationListener.idl b/offapi/com/sun/star/animations/XAnimationListener.idl
new file mode 100644
index 000000000000..1a71cae3457b
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationListener.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimationListener_idl__
+#define __com_sun_star_animations_XAnimationListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/** makes it possible to register listeners, which are called whenever
+ an animation event occurs.
+
+ @since #i71351#
+ */
+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
diff --git a/offapi/com/sun/star/animations/XAnimationNode.idl b/offapi/com/sun/star/animations/XAnimationNode.idl
new file mode 100644
index 000000000000..b1681d296e48
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationNode.idl
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#define __com_sun_star_animations_XAnimationNode_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/**
+*/
+interface XAnimationNode : ::com::sun::star::container::XChild
+{
+ /** a value from <const>AnimationNodeType</const>.
+
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-timeContainer
+ */
+ [readonly, attribute] short Type;
+
+ /** a sequnece of values that define the begining of this element
+ <br>
+ <member>Begin</member> is
+ <ul>
+ <li><atom>double</atom> 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><type>Event</type> 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><const>Timing::INDEFINITE</const> the begin of the element will be determined by an
+ external event to the element.</li>
+ <li><type>sequence&lt;any&gt;</type> a sequence of values described above if more than
+ one begin value is defined for this element.</li>
+ <li><void/> if no begin behaviour 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>
+ <member>Duration</member> is
+ <ul>
+ <li><atom>double</atom> specifies the length of the simple duration in seconds.</li>
+ <li><const>Timing::INDEFINITE</const> specifies the simple duration as indefinite.</li>
+ <li><const>Timing::MEDIA</const> 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 sequnece of values that define the ending of this element
+ <br>
+ <member>End</member> is
+ <ul>
+ <li><atom>double</atom> 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><type>Event</type> 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><const>Timing::INDEFINITE</const> the end of the element will be determined by an
+ external event to the element.</li>
+ <li><type>sequence&lt;any&gt;</type> a sequence of values described above if more than
+ one begin value is defined for this element.</li>
+ <li><void/> if no end behaviour 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).
+
+ <member>EndSync</member> is
+ eiter a <atom>short</atom> constant from <const>EndSync</const>,
+ an interface reference to a child <type>XTimeContainer</type>
+ 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>
+ <member>RepeatCount</member> is
+ <ul>
+ <li><atom>double</atom>
+ 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><const>Timing::INDEFINITE</const> 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 <const>EndSync</const>
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatCount
+ */
+ [attribute] any RepeatCount;
+
+ /** the total duration for repeat.
+ <br>
+ <member>RepeatDuration</member> is
+ <ul>
+ <li><atom>double</atom>
+ specifies the duration in element active time
+ to repeat the simple duration in seconds.</li>
+ <li><const>Timing::INDEFINITE</const> 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 behaviour how an element
+ should be extended beyond the active duration by freezing the final
+ state of the element.
+ <br>
+ <member>Fill</member> is
+ a value from <const>AnimationFill</const>.
+
+ @see <const>Fill</const>
+ @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
+ descendents.
+ <br>
+ <member>FillDefault</member> is
+ <ul>
+ <li>The values <const>AnimationFill::REMOVE</const>, <const>AnimationFill::FREEZE</const>,
+ <const>AnimationFill::HOLD</const>, <const>AnimationFill::TRANSITION</const> and <const>AnimationFill::AUTO</const>
+ specify that the element fill behavior is the respective value.</li>
+ <li>The value <const>AnimationFill::INHERIT</const> specifies that the value of this attribute
+ (and of the fill behavior) are inherited from the <member>FillDefault</member> value of the parent
+ element. If there is no parent element, the value is <const>AnimationFill::AUTO</const>.</li>
+ </ul>
+
+ @see <const>Fill</const>
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fillDefault
+ */
+ [attribute] short FillDefault;
+
+ /** defines the restart behaviour of this element.
+ <br>
+ <member>Restart</member> is
+ a <atom>short</atom> value from <const>AnimationRestart</const>.
+
+ @see <const>AnimationRestart</const>
+ @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restart
+ */
+ [attribute] short Restart;
+
+ /** defines the default restart behaviour for this element and all descendents.
+
+ @returns
+ a value from <const>Restart</const>.
+
+ @see <const>AnimationRestart</const>
+ @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.
+
+ <member>Acceleration</member> 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.
+
+ <member>Decelerate</member> 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.
+
+ <member>AutoRevers</member> 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
diff --git a/offapi/com/sun/star/animations/XAnimationNodeSupplier.idl b/offapi/com/sun/star/animations/XAnimationNodeSupplier.idl
new file mode 100644
index 000000000000..d7be5b71b05d
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAnimationNodeSupplier.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAnimationNodeSupplier_idl__
+#define __com_sun_star_animations_XAnimationNodeSupplier_idl__
+
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/**
+*/
+interface XAnimationNodeSupplier
+{
+ XAnimationNode getAnimationNode();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/XAudio.idl b/offapi/com/sun/star/animations/XAudio.idl
new file mode 100644
index 000000000000..9a5c253132da
--- /dev/null
+++ b/offapi/com/sun/star/animations/XAudio.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XAudio_idl__
+#define __com_sun_star_animations_XAudio_idl__
+
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+//=============================================================================
+
+ 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/animations/XCommand.idl b/offapi/com/sun/star/animations/XCommand.idl
new file mode 100644
index 000000000000..5a24477ac5b6
--- /dev/null
+++ b/offapi/com/sun/star/animations/XCommand.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XCommand_idl__
+#define __com_sun_star_animations_XCommand_idl__
+
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/** Execution of the XCommand animation node causes the slideshow 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
diff --git a/offapi/com/sun/star/animations/XIterateContainer.idl b/offapi/com/sun/star/animations/XIterateContainer.idl
new file mode 100644
index 000000000000..f22c5df4f0db
--- /dev/null
+++ b/offapi/com/sun/star/animations/XIterateContainer.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XIterateContainer_idl__
+#define __com_sun_star_animations_XIterateContainer_idl__
+
+#ifndef __com_sun_star_animations_XTimeContainer_idl__
+#include <com/sun/star/animations/XTimeContainer.idl>
+#endif
+
+//=============================================================================
+
+ 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 iterateable 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 percentage of the containers running time
+ before the next iterated content is animated.
+ */
+ [attribute] double IterateInterval;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/XTargetPropertiesCreator.idl b/offapi/com/sun/star/animations/XTargetPropertiesCreator.idl
new file mode 100644
index 000000000000..13d726833b63
--- /dev/null
+++ b/offapi/com/sun/star/animations/XTargetPropertiesCreator.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XTargetPropertiesCreator_idl__
+#define __com_sun_star_animations_XTargetPropertiesCreator_idl__
+
+#ifndef __com_sun_star_animations_TargetProperties_idl__
+#include <com/sun/star/animations/TargetProperties.idl>
+#endif
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/** Factory interface to generate properties for all animated targets.<p>
+
+ Depending on mode and content of a SMIL animation tree, animation
+ targets can have global properties different from the target's
+ default. The most prominent example for such a difference is shape
+ visibility: when a shape is to become visible in the course of a
+ SMIL animation, it naturally has to be initially invisible for
+ that effect to have any visible impact.<p>
+
+ This factory interface is able to generate sequences of global
+ properties for all targets referenced in a given SMIL animation
+ tree.
+ */
+interface XTargetPropertiesCreator : ::com::sun::star::uno::XInterface
+{
+ /** Determine a sequence of global target properties.<p>
+
+ This method generates a sequence of TargetProperties in effect
+ before the given SMIL animations start. These properties
+ should be applied to the given animation targets, to achieve
+ correct playback of the SMIL animations.<p>
+
+ @param rootNode
+ Root node of the SMIL animation tree.
+ */
+ sequence< TargetProperties > createInitialTargetProperties( [in] XAnimationNode rootNode );
+
+};
+
+//=============================================================================
+
+service TargetPropertiesCreator: XTargetPropertiesCreator;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/XTimeContainer.idl b/offapi/com/sun/star/animations/XTimeContainer.idl
new file mode 100644
index 000000000000..2fa1681706f7
--- /dev/null
+++ b/offapi/com/sun/star/animations/XTimeContainer.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XTimeContainer_idl__
+#define __com_sun_star_animations_XTimeContainer_idl__
+
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ </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
+{
+ /*
+ com::sun::star::container::XContainer;
+ com::sun::star::container::XEnumerationAccess;
+ */
+
+ /*
+ [attribute] long PresetId;
+ [attribute] long PresetSubType;
+ [attribute] long PresetClass;
+ */
+
+ /**
+ */
+ 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
diff --git a/offapi/com/sun/star/animations/XTransitionFilter.idl b/offapi/com/sun/star/animations/XTransitionFilter.idl
new file mode 100644
index 000000000000..1a6eec80f382
--- /dev/null
+++ b/offapi/com/sun/star/animations/XTransitionFilter.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_animations_XTransitionFilter_idl__
+#define __com_sun_star_animations_XTransitionFilter_idl__
+
+#ifndef __com_sun_star_animations_XAnimate_idl__
+#include <com/sun/star/animations/XAnimate.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module animations {
+
+//=============================================================================
+
+/**
+ Base members <member>XAnimate::Values</member>, <member>XAnimate::From</member>,
+ <member>XAnimate::To</member> and <member>XAnimate::By</member> can be used
+ with <atom>double</atom> 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
+ <const>TransitionType</const>.
+ */
+ [attribute] short Transition;
+
+ /** This is the subtype of the transition.
+ <br>
+ This must be one of the transition subtypes appropriate for the specified <member>Type</member>
+ as listed in <const>TransitionSubType</const>.
+ <const>TransitionSubType::DEFAULT</const> 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 <member>Type</member> attribute is <const>TransitionType::FADE</const> and
+ the value of the <member>Subtype</member> attribute is <const>TransitionSubType::FADETOCOLOR</const> or
+ <const>TransitionSubType::FADEFROMCOLOR</const>, then this attribute specifies the starting or ending
+ color of the fade.
+ The default value is 0 (black).
+
+ */
+ [attribute] long FadeColor;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/animations/makefile.mk b/offapi/com/sun/star/animations/makefile.mk
new file mode 100644
index 000000000000..f899d8c14304
--- /dev/null
+++ b/offapi/com/sun/star/animations/makefile.mk
@@ -0,0 +1,76 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssanimations
+PACKAGE=com$/sun$/star$/animations
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AnimationAdditiveMode.idl\
+ AnimationCalcMode.idl\
+ AnimationColorSpace.idl\
+ AnimationEndSync.idl\
+ AnimationFill.idl\
+ AnimationNodeType.idl\
+ AnimationRestart.idl\
+ AnimationTransformType.idl\
+ AnimationValueType.idl\
+ Event.idl\
+ EventTrigger.idl\
+ TargetProperties.idl \
+ TimeFilterPair.idl\
+ Timing.idl\
+ TransitionSubType.idl\
+ TransitionType.idl\
+ ValuePair.idl\
+ XAnimate.idl\
+ XAnimateColor.idl\
+ XAnimateMotion.idl\
+ XAnimateSet.idl\
+ XAnimateTransform.idl\
+ XAnimationNode.idl\
+ XAnimationNodeSupplier.idl\
+ XAudio.idl\
+ XIterateContainer.idl\
+ XTargetPropertiesCreator.idl \
+ XTimeContainer.idl\
+ XTransitionFilter.idl\
+ XCommand.idl\
+ XAnimationListener.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/auth/AuthenticationFailedException.idl b/offapi/com/sun/star/auth/AuthenticationFailedException.idl
new file mode 100644
index 000000000000..6d0abbaa97d1
--- /dev/null
+++ b/offapi/com/sun/star/auth/AuthenticationFailedException.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#define __com_sun_star_auth_AuthenticationFailedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/InvalidArgumentException.idl b/offapi/com/sun/star/auth/InvalidArgumentException.idl
new file mode 100644
index 000000000000..115eab5b6337
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidArgumentException.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_InvalidArgumentException_idl__
+#define __com_sun_star_auth_InvalidArgumentException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/InvalidContextException.idl b/offapi/com/sun/star/auth/InvalidContextException.idl
new file mode 100644
index 000000000000..28e9bba9b0dd
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidContextException.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_InvalidContextException_idl__
+#define __com_sun_star_auth_InvalidContextException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/InvalidCredentialException.idl b/offapi/com/sun/star/auth/InvalidCredentialException.idl
new file mode 100644
index 000000000000..3caed7fd1dec
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidCredentialException.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_InvalidCredentialException_idl__
+#define __com_sun_star_auth_InvalidCredentialException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/InvalidPrincipalException.idl b/offapi/com/sun/star/auth/InvalidPrincipalException.idl
new file mode 100644
index 000000000000..6b98b9b86e47
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidPrincipalException.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_InvalidPrincipalException_idl__
+#define __com_sun_star_auth_InvalidPrincipalException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/PersistenceFailureException.idl b/offapi/com/sun/star/auth/PersistenceFailureException.idl
new file mode 100644
index 000000000000..7ef1864327d1
--- /dev/null
+++ b/offapi/com/sun/star/auth/PersistenceFailureException.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_PersistenceFailureException_idl__
+#define __com_sun_star_auth_PersistenceFailureException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/SSOExceptions.idl b/offapi/com/sun/star/auth/SSOExceptions.idl
new file mode 100644
index 000000000000..4e4bbe293ecb
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOExceptions.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_SSOExceptions_idl__
+#define __com_sun_star_auth_SSOExceptions_idl__
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#endif
+#ifndef __com_sun_star_auth_InvalidArgumentException_idl__
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#endif
+#ifndef __com_sun_star_auth_InvalidContextException_idl__
+#include <com/sun/star/auth/InvalidContextException.idl>
+#endif
+#ifndef __com_sun_star_auth_InvalidCredentialException_idl__
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#endif
+#ifndef __com_sun_star_auth_InvalidPrincipalException_idl__
+#include <com/sun/star/auth/InvalidPrincipalException.idl>
+#endif
+#ifndef __com_sun_star_auth_PersistenceFailureException_idl__
+#include <com/sun/star/auth/PersistenceFailureException.idl>
+#endif
+#ifndef __com_sun_star_auth_UnsupportedException_idl__
+#include <com/sun/star/auth/UnsupportedException.idl>
+#endif
+
+#endif
diff --git a/offapi/com/sun/star/auth/SSOManagerFactory.idl b/offapi/com/sun/star/auth/SSOManagerFactory.idl
new file mode 100644
index 000000000000..f550adca68da
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOManagerFactory.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_SSOManagerFactory_idl__
+#define __com_sun_star_auth_SSOManagerFactory_idl__
+
+#ifndef __com_sun_star_auth_XSSOManagerFactory_idl_
+#include <com/sun/star/auth/XSSOManagerFactory.idl>
+#endif
+
+module com { module sun { module star { module auth {
+
+/** represents a starting point for Single Signon interactions.
+ <P>The Single Signon ( 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 <type>XSSOManagerFactory</type> instance</LI>
+ <LI>Use this factory to create/retrieve an <type>XSSOManager</type>
+ instance.</LI>
+ <LI>Depending on whether your code is acting as SSO source or target,
+ you should use the <type>XSSOManager</type> instance to create an
+ initiator security context, <type>XSSOInitiatorContext</type> or an
+ acceptor security context, <type>XSSOAcceptorContext</type>
+ 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>
+
+ @since OOo 1.1.2
+ */
+
+published service SSOManagerFactory
+{
+ /** supports the creation of <type>XSSOManager</type> instances which can
+ subsequently be used to create security contexts.
+ */
+ interface XSSOManagerFactory;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/auth/SSOPasswordCache.idl b/offapi/com/sun/star/auth/SSOPasswordCache.idl
new file mode 100644
index 000000000000..30f959c452ad
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOPasswordCache.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_SSOPasswordCache_idl__
+#define __com_sun_star_auth_SSOPasswordCache_idl__
+
+#ifndef __com_sun_star_auth_XSSOPasswordCache_idl_
+#include <com/sun/star/auth/XSSOPasswordCache.idl>
+#endif
+
+module com { module sun { module star { module auth {
+
+/** provided as a convenience for simple username/password based Single Signon
+ implementations which don't provide some sort of authentication information
+ repository.
+
+ @since OOo 1.1.2
+ */
+published service SSOPasswordCache
+{
+ /** provides access to a cache which maps usernames to associated passwords.
+ Individual cache entries may be persisted.
+ */
+ interface XSSOPasswordCache;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/auth/UnsupportedException.idl b/offapi/com/sun/star/auth/UnsupportedException.idl
new file mode 100644
index 000000000000..a2c14079714d
--- /dev/null
+++ b/offapi/com/sun/star/auth/UnsupportedException.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_UnsupportedException_idl__
+#define __com_sun_star_auth_UnsupportedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/XSSOAcceptorContext.idl b/offapi/com/sun/star/auth/XSSOAcceptorContext.idl
new file mode 100644
index 000000000000..ec50053f054d
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOAcceptorContext.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOAcceptorContext_idl__
+#define __com_sun_star_auth_XSSOAcceptorContext_idl__
+
+#ifndef __com_sun_star_auth_XSSOContext_idl__
+#include <com/sun/star/auth/XSSOContext.idl>
+#endif
+
+#ifndef __com_sun_star_auth_SSOExceptions_idl__
+#include <com/sun/star/auth/SSOExceptions.idl>
+#endif
+
+module com { module sun { module star { module auth {
+
+/** represents an acceptor side security context.
+ <P>This context may be used to authenticate a Single Signon initiator based
+ on a security token sent by the intiator 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
diff --git a/offapi/com/sun/star/auth/XSSOContext.idl b/offapi/com/sun/star/auth/XSSOContext.idl
new file mode 100644
index 000000000000..ce47d6cd1a6f
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOContext.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOContext_idl__
+#define __com_sun_star_auth_XSSOContext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/XSSOInitiatorContext.idl b/offapi/com/sun/star/auth/XSSOInitiatorContext.idl
new file mode 100644
index 000000000000..3c40b045d224
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOInitiatorContext.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOInitiatorContext_idl__
+#define __com_sun_star_auth_XSSOInitiatorContext_idl__
+
+#ifndef __com_sun_star_auth_XSSOContext_idl__
+#include <com/sun/star/auth/XSSOContext.idl>
+#endif
+
+#ifndef __com_sun_star_auth_SSOExceptions_idl__
+#include <com/sun/star/auth/SSOExceptions.idl>
+#endif
+
+module com { module sun { module star { module auth {
+
+/** represents an initiator side security context.
+ <P>This context may be used to initialise authetication 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
+{
+ /** initialises 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
diff --git a/offapi/com/sun/star/auth/XSSOManager.idl b/offapi/com/sun/star/auth/XSSOManager.idl
new file mode 100644
index 000000000000..e28b40c50093
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManager.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOManager_idl__
+#define __com_sun_star_auth_XSSOManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_auth_InvalidArgumentException_idl__
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_auth_SSOExceptions_idl__
+#include <com/sun/star/auth/SSOExceptions.idl>
+#endif
+
+#ifndef __com_sun_star_auth_XSSOAcceptorContext_idl__
+#include <com/sun/star/auth/XSSOAcceptorContext.idl>
+#endif
+
+#ifndef __com_sun_star_auth_XSSOInitiatorContext_idl__
+#include <com/sun/star/auth/XSSOInitiatorContext.idl>
+#endif
+
+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.
+
+ @paran 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
diff --git a/offapi/com/sun/star/auth/XSSOManagerFactory.idl b/offapi/com/sun/star/auth/XSSOManagerFactory.idl
new file mode 100644
index 000000000000..400bc1c075a6
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManagerFactory.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOManagerFactory_idl__
+#define __com_sun_star_auth_XSSOManagerFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_auth_XSSOManager_idl__
+#include <com/sun/star/auth/XSSOManager.idl>
+#endif
+
+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 <type>XSSOManager</type> to be used in subsequent security
+ context creation.
+
+ @returns
+ the relevant <type>XSSOManager</type> instance
+ */
+ XSSOManager getSSOManager();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/auth/XSSOPasswordCache.idl b/offapi/com/sun/star/auth/XSSOPasswordCache.idl
new file mode 100644
index 000000000000..f06718923dbd
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOPasswordCache.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_auth_XSSOPasswordCache_idl__
+#define __com_sun_star_auth_XSSOPasswordCache_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_auth_SSOExceptions_idl__
+#include <com/sun/star/auth/SSOExceptions.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/auth/makefile.mk b/offapi/com/sun/star/auth/makefile.mk
new file mode 100644
index 000000000000..f6bdb844520c
--- /dev/null
+++ b/offapi/com/sun/star/auth/makefile.mk
@@ -0,0 +1,28 @@
+PRJ = ..$/..$/..$/..
+PRJNAME=offapi
+
+TARGET = cssauth
+PACKAGE = com$/sun$/star$/auth
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ AuthenticationFailedException.idl \
+ InvalidArgumentException.idl \
+ InvalidContextException.idl \
+ InvalidCredentialException.idl \
+ InvalidPrincipalException.idl \
+ PersistenceFailureException.idl \
+ UnsupportedException.idl \
+ SSOManagerFactory.idl \
+ SSOPasswordCache.idl \
+ XSSOAcceptorContext.idl \
+ XSSOContext.idl \
+ XSSOInitiatorContext.idl \
+ XSSOManager.idl \
+ XSSOManagerFactory.idl \
+ XSSOPasswordCache.idl
+
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/awt/AccessibleButton.idl b/offapi/com/sun/star/awt/AccessibleButton.idl
new file mode 100644
index 000000000000..16e35e2018ec
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleButton.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleButton_idl__
+#define __com_sun_star_awt_AccessibleButton_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a button.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleButton
+{
+ /** This interface gives access to the structural information of a button:
+
+ <ul>
+ <li>Role: The role of a button is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PUSH_BUTTON</const>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set
+ if the object is currently checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::PRESSED</const> is set
+ if the object is currently pressed.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::PRESSED</const> state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleCheckBox.idl b/offapi/com/sun/star/awt/AccessibleCheckBox.idl
new file mode 100644
index 000000000000..1781f6543a77
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleCheckBox.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleCheckBox_idl__
+#define __com_sun_star_awt_AccessibleCheckBox_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a check box.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleCheckBox
+{
+ /** This interface gives access to the structural information of a
+ check box:
+
+ <ul>
+ <li>Role: The role of a check box is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::CHECK_BOX</const>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set
+ if the object is currently checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleComboBox.idl b/offapi/com/sun/star/awt/AccessibleComboBox.idl
new file mode 100644
index 000000000000..5e492724c10b
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleComboBox.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleComboBox_idl__
+#define __com_sun_star_awt_AccessibleComboBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleText;
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published service AccessibleComboBox
+{
+ /** This interface gives access to the structural information of a combo box:
+
+ <ul>
+ <li>Role: The role of a combo box is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::COMBO_BOX</const>.</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 <type scope="com::sun::star::awt">AccessibleTextField</type>
+ and the 2nd is a <type scope="com::sun::star::awt">AccessibleList</type>. </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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl b/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl
new file mode 100644
index 000000000000..01d8b7cb1c80
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleDropDownComboBox.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleDropDownComboBox_idl__
+#define __com_sun_star_awt_AccessibleDropDownComboBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleAction;
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::COMBO_BOX</const>.</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 <type scope="com::sun::star::awt">AccessibleTextField</type>
+ and the 2nd is a <type scope="com::sun::star::awt">AccessibleList</type>. </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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl b/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl
new file mode 100644
index 000000000000..2f3ca4989083
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleDropDownListBox.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleDropDownListBox_idl__
+#define __com_sun_star_awt_AccessibleDropDownListBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleAction;
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::COMBO_BOX</const>.</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 <type scope="com::sun::star::awt">AccessibleList</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleEdit.idl b/offapi/com/sun/star/awt/AccessibleEdit.idl
new file mode 100644
index 000000000000..720b9204e14e
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleEdit.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleEdit_idl__
+#define __com_sun_star_awt_AccessibleEdit_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for an edit.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleEdit
+{
+ /** This interface gives access to the structural information of an edit:
+
+ <ul>
+ <li>Role: The role of an edit is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::TEXT</const>.
+ If the text content of the edit is password protected
+ the role is <const scope="com::sun::star::accessibility"
+ >AccessibleRole::PASSWORD_TEXT</const>.</li>
+ <li>Name: If the relation of type <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRelationType::LABELED_BY</const> 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><const scope="com::sun::star::accessibility"
+ >AccessibleRelationType::LABELED_BY</const> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is set
+ if the content of the object can be changed by the user.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ <type scope="com::sun::star::accessibility">XAccessibleText</type>
+ interface and gives read and write access to the text representation
+ of an edit.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleEditableText;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleFixedText.idl b/offapi/com/sun/star/awt/AccessibleFixedText.idl
new file mode 100644
index 000000000000..bef95c95bfea
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleFixedText.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleFixedText_idl__
+#define __com_sun_star_awt_AccessibleFixedText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a fixed text.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleFixedText
+{
+ /** This interface gives access to the structural information of a
+ fixed text:
+
+ <ul>
+ <li>Role: The role of a fixed text is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::LABEL</const>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleRelationType::LABEL_FOR</const> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_LINE</const> is set
+ if the object contains multiple lines of text.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl b/offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl
new file mode 100644
index 000000000000..20f447fdf592
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleIconChoiceControl.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleIconChoiceControl_idl__
+#define __com_sun_star_awt_AccessibleIconChoiceControl_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleSelection;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::TREE</const>.</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 <type scope="com::sun::star::awt">AccessibleIconChoiceControlEntry</type>.
+ </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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MANAGES_DESCENDANTS</const> is always set. Children are transient.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is set when mutli 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
+
diff --git a/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl b/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl
new file mode 100644
index 000000000000..0b8cf1ef973d
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleIconChoiceControlEntry.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleIconChoiceControlEntry_idl__
+#define __com_sun_star_awt_AccessibleIconChoiceControlEntry_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleText;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::LABEL</const>.</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 <type scope="com::sun::star::awt">AccessibleIconChoiceControl</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::TRANSIENT</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> 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
+
diff --git a/offapi/com/sun/star/awt/AccessibleList.idl b/offapi/com/sun/star/awt/AccessibleList.idl
new file mode 100644
index 000000000000..5e86d6102de1
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleList.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleList_idl__
+#define __com_sun_star_awt_AccessibleList_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+ published interface XAccessibleExtendedComponent;
+ published interface XAccessibleComponent;
+ published 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
+*/
+published service AccessibleList
+{
+ /** This interface gives access to the structural information of a list:
+
+ <ul>
+ <li>Role: The role of a list is <const
+ scope="::com::sun::star::accessibility"
+ >AccessibleRole::LIST</const>.</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 <type scope="com::sun::star::awt">AccessibleListItem</type>. </li>
+ <li>Parent: The parent can be of type
+ <ul>
+ <li>
+ <type scope="com::sun::star::awt">AccessibleComboBox</type>
+ <type scope="com::sun::star::awt">AccessibleListBox</type>
+ <type scope="com::sun::star::awt">AccessibleDropDownListBox</type>
+ <type scope="com::sun::star::awt">AccessibleDropDownComboBox</type>
+ </li>
+ .
+ </li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is set
+ if the list supports multi selection.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MANAGES_DESCENDANTS</const> 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 <type scope="com::sun::star::accessibility">XAccessible</type> 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
diff --git a/offapi/com/sun/star/awt/AccessibleListBox.idl b/offapi/com/sun/star/awt/AccessibleListBox.idl
new file mode 100644
index 000000000000..282306d7c70f
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListBox.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleListBox_idl__
+#define __com_sun_star_awt_AccessibleListBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleSelection;
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published service AccessibleListBox
+{
+ /** This interface gives access to the structural information of a list box:
+
+ <ul>
+ <li>Role: The role of a list box is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PANEL</const>.</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 <type scope="com::sun::star::awt">AccessibleList</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleListBoxList.idl b/offapi/com/sun/star/awt/AccessibleListBoxList.idl
new file mode 100644
index 000000000000..f7bf3e55a4e4
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListBoxList.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleListBoxList_idl__
+#define __com_sun_star_awt_AccessibleListBoxList_idl__
+
+#ifndef __com_sun_star_awt_AccessibleList_idl__
+#include <com/sun/star/awt/AccessibleList.idl>
+#endif
+
+
+module com { module sun { module star { module awt {
+
+/** Accessible list box lists are used by list boxes as container for
+ the list items. In addtion of the simple container functionality of the
+ <type>AccessibleList</type> service the
+ <type scope="com::sun::star::accessibility">XAccessibleSelection</type> interface is supported.
+
+ @since OOo 1.1.2
+*/
+published service AccessibleListBoxList
+{
+ service AccessibleList;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleListItem.idl b/offapi/com/sun/star/awt/AccessibleListItem.idl
new file mode 100644
index 000000000000..70020f0c2056
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleListItem.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleListItem_idl__
+#define __com_sun_star_awt_AccessibleListItem_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleText;
+ published 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
+*/
+published service AccessibleListItem
+{
+ /** This interface gives access to the structural information of a list item:
+
+ <ul>
+ <li>Role: The role of a list item is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::LIST_ITEM</const>.</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 <type scope="com::sun::star::awt">AccessibleList</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::TRANSIENT</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleMenu.idl b/offapi/com/sun/star/awt/AccessibleMenu.idl
new file mode 100644
index 000000000000..440d49543787
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenu.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleMenu_idl__
+#define __com_sun_star_awt_AccessibleMenu_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleMenu
+{
+ /** This interface gives access to the structural information of a menu:
+
+ <ul>
+ <li>Role: The role of a menu is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::MENU</const>.</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
+ <type>AccessibleMenu</type>, <type>AccessibleMenuItem</type> or
+ <type>AccessibleMenuSeparator</type>.</li>
+ <li>Parent: The parent of a menu is a menu bar, a popup menu or
+ a menu, whose accessible context supports the services
+ <type>AccessibleMenuBar</type>, <type>AccessiblePopupMenu</type>
+ or <type>AccessibleMenu</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ARMED</const> is set
+ if the object is highlighted.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set
+ if the object is currently checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set
+ if the object is selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleMenuBar.idl b/offapi/com/sun/star/awt/AccessibleMenuBar.idl
new file mode 100644
index 000000000000..e001471b9149
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuBar.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleMenuBar_idl__
+#define __com_sun_star_awt_AccessibleMenuBar_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu bar.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleMenuBar
+{
+ /** This interface gives access to the structural information of a
+ menu bar:
+
+ <ul>
+ <li>Role: The role of a menu bar is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::MENU_BAR</const>.</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
+ <type>AccessibleMenu</type>, <type>AccessibleMenuItem</type> or
+ <type>AccessibleMenuSeparator</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleMenuItem.idl b/offapi/com/sun/star/awt/AccessibleMenuItem.idl
new file mode 100644
index 000000000000..05ad03a88ca3
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuItem.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleMenuItem_idl__
+#define __com_sun_star_awt_AccessibleMenuItem_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu item.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleMenuItem
+{
+ /** This interface gives access to the structural information of a
+ menu item:
+
+ <ul>
+ <li>Role: The role of a menu item is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::MENU_ITEM</const>.</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 popup menu or
+ a menu, whose accessible context supports the services
+ <type>AccessibleMenuBar</type>, <type>AccessiblePopupMenu</type>
+ or <type>AccessibleMenu</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ARMED</const> is set
+ if the object is highlighted.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set
+ if the object is currently checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set
+ if the object is selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleMenuSeparator.idl b/offapi/com/sun/star/awt/AccessibleMenuSeparator.idl
new file mode 100644
index 000000000000..47f3a62124ac
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleMenuSeparator.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleMenuSeparator_idl__
+#define __com_sun_star_awt_AccessibleMenuSeparator_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a menu separator.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleMenuSeparator
+{
+ /** This interface gives access to the structural information of a
+ menu separator:
+
+ <ul>
+ <li>Role: The role of a menu separator is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::SEPARATOR</const>.</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 popup menu or a menu, whose accessible context supports the
+ services <type>AccessibleMenuBar</type>,
+ <type>AccessiblePopupMenu</type> or
+ <type>AccessibleMenu</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set
+ if the object is selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessiblePopupMenu.idl b/offapi/com/sun/star/awt/AccessiblePopupMenu.idl
new file mode 100644
index 000000000000..f7d3d2162087
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessiblePopupMenu.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessiblePopupMenu_idl__
+#define __com_sun_star_awt_AccessiblePopupMenu_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a popup menu.
+
+ @since OOo 1.1.2
+ */
+published service AccessiblePopupMenu
+{
+ /** This interface gives access to the structural information of a
+ popup menu:
+
+ <ul>
+ <li>Role: The role of a popup menu is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::POPUP_MENU</const>.</li>
+ <li>Name: There is no name.</li>
+ <li>Description: The description of a popup menu is its localized
+ help text.</li>
+ <li>Children: The children of a popup menu are menus, menu items or
+ menu separators, whose accessible context supports the services
+ <type>AccessibleMenu</type>, <type>AccessibleMenuItem</type> or
+ <type>AccessibleMenuSeparator</type>.</li>
+ <li>Parent: The parent is the window that contains the popup menu.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ popup menu.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleRadioButton.idl b/offapi/com/sun/star/awt/AccessibleRadioButton.idl
new file mode 100644
index 000000000000..94744ecc5301
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleRadioButton.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleRadioButton_idl__
+#define __com_sun_star_awt_AccessibleRadioButton_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a radio button.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleRadioButton
+{
+ /** This interface gives access to the structural information of a
+ radio button:
+
+ <ul>
+ <li>Role: The role of a radio button is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::RADIO_BUTTON</const>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleRelationType::MEMBER_OF</const> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set
+ if the object is currently checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> state.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleScrollBar.idl b/offapi/com/sun/star/awt/AccessibleScrollBar.idl
new file mode 100644
index 000000000000..d3337c737563
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleScrollBar.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleScrollBar_idl__
+#define __com_sun_star_awt_AccessibleScrollBar_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a scroll bar.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleScrollBar
+{
+ /** This interface gives access to the structural information of a
+ scroll bar:
+
+ <ul>
+ <li>Role: The role of a scroll bar is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::SCROLL_BAR</const>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::HORIZONTAL</const> is set
+ if the orientation of the object is horizontal.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VERTICAL</const> is set
+ if the orientation of the object is vertical.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleStatusBar.idl b/offapi/com/sun/star/awt/AccessibleStatusBar.idl
new file mode 100644
index 000000000000..b3618150235e
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleStatusBar.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleStatusBar_idl__
+#define __com_sun_star_awt_AccessibleStatusBar_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a status bar.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleStatusBar
+{
+ /** This interface gives access to the structural information of a
+ status bar:
+
+ <ul>
+ <li>Role: The role of a status bar is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::STATUS_BAR</const>.</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
+ <type>AccessibleStatusBarItem</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleStatusBarItem.idl b/offapi/com/sun/star/awt/AccessibleStatusBarItem.idl
new file mode 100644
index 000000000000..ceea05097428
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleStatusBarItem.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleStatusBarItem_idl__
+#define __com_sun_star_awt_AccessibleStatusBarItem_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a status bar item.
+
+ @since OOo 1.1.2
+ */
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::LABEL</const>.</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
+ <type>AccessibleStatusBar</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTabBar.idl b/offapi/com/sun/star/awt/AccessibleTabBar.idl
new file mode 100644
index 000000000000..4e2bdceadb1c
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBar.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTabBar_idl__
+#define __com_sun_star_awt_AccessibleTabBar_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTabBar
+{
+ /** This interface gives access to the structural information of a
+ tabbar:
+
+ <ul>
+ <li>Role: The role of a tabbar is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PANEL</const>.</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
+ <type>AccessibleTabBarPageList</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the size of the object is not fixed.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTabBarPage.idl b/offapi/com/sun/star/awt/AccessibleTabBarPage.idl
new file mode 100644
index 000000000000..3937066b6897
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBarPage.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTabBarPage_idl__
+#define __com_sun_star_awt_AccessibleTabBarPage_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar page.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTabBarPage
+{
+ /** This interface gives access to the structural information of a
+ tabbar page:
+
+ <ul>
+ <li>Role: The role of a tabbar page is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PAGE_TAB</const>.</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
+ <type>AccessibleTabBarPageList</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set
+ if the object is selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTabBarPageList.idl b/offapi/com/sun/star/awt/AccessibleTabBarPageList.idl
new file mode 100644
index 000000000000..80bceb661f9c
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabBarPageList.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTabBarPageList_idl__
+#define __com_sun_star_awt_AccessibleTabBarPageList_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tabbar page list.
+
+ @since OOo 1.1.2
+ */
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PAGE_TAB_LIST</const>.</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
+ <type>AccessibleTabBarPage</type>.</li>
+ <li>Parent: The parent of a tabbar page list is the tabbar,
+ whose accessible context supports the service
+ <type>AccessibleTabBar</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTabControl.idl b/offapi/com/sun/star/awt/AccessibleTabControl.idl
new file mode 100644
index 000000000000..09b1f6b91efa
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabControl.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTabControl_idl__
+#define __com_sun_star_awt_AccessibleTabControl_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tab control.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTabControl
+{
+ /** This interface gives access to the structural information of a
+ tab control:
+
+ <ul>
+ <li>Role: The role of a tab control is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PAGE_TAB_LIST</const>.</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
+ <type>AccessibleTabPage</type>.</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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTabPage.idl b/offapi/com/sun/star/awt/AccessibleTabPage.idl
new file mode 100644
index 000000000000..061024b62fc8
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTabPage.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTabPage_idl__
+#define __com_sun_star_awt_AccessibleTabPage_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a tab page.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTabPage
+{
+ /** This interface gives access to the structural information of a
+ tab page:
+
+ <ul>
+ <li>Role: The role of a tab page is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::PAGE_TAB</const>.</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
+ <type>AccessibleTabControl</type>.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set
+ if the object is selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleTextField.idl b/offapi/com/sun/star/awt/AccessibleTextField.idl
new file mode 100644
index 000000000000..65c422e7e604
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTextField.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_AccessibleTextField_idl__
+#define __com_sun_star_accessibility_AccessibleTextField_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleExtendedComponent;
+ published interface XAccessibleComponent;
+ published interface XAccessibleText;
+
+}; }; }; };
+
+module com { module sun { module star { module awt {
+
+
+/** Text fields are like edit fields as described by the
+ <type>AccessibleEdit</type> 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
+*/
+published service AccessibleTextField
+{
+ /** This interface gives access to the structural information of a text filed:
+
+ <ul>
+ <li>Role: The role of a text filed is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::TEXT</const>.</li>
+ <li>Name: The name of a text filed is its localized label.</li>
+ <li>Description: The description of a text filed is its localized
+ help text.</li>
+ <li>Children: There exists no children.</li>
+ <li>Parent: The parent is the window that contains the text filed.</li>
+ <li>Relations: There are no relations.</li>
+ <li>States: The states supported by this service are
+ <ul>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleToolBox.idl b/offapi/com/sun/star/awt/AccessibleToolBox.idl
new file mode 100644
index 000000000000..b86003badf17
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleToolBox.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_accessibility_AccessibleToolBox_idl__
+#define __com_sun_star_accessibility_AccessibleToolBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published service AccessibleToolBox
+{
+ /** This interface gives access to the structural information of a tool box:
+
+ <ul>
+ <li>Role: The role of a tool box is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::TOOL_BAR</const>.</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 <type scope="com::sun::star::awt">AccessibleToolBoxItem</type>.
+ </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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VERTICAL</const> is set
+ if the tool box is vertical.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::HORIZONTAL</const> 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
diff --git a/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl b/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl
new file mode 100644
index 000000000000..b2aafcd4be47
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleToolBoxItem.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleToolBoxItem_idl__
+#define __com_sun_star_awt_AccessibleToolBoxItem_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleAction;
+ published interface XAccessibleText;
+ published interface XAccessibleValue;
+ published interface XAccessibleExtendedComponent;
+ published 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
+*/
+published 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
+ <const scope="com::sun::star::accessibility">AccessibleRole::PUSH_BUTTON</const> when the item is a push button, or
+ <const scope="com::sun::star::accessibility">AccessibleRole::TOGGLE_BUTTON</const> when the item is a button and checkable, or
+ <const scope="com::sun::star::accessibility">AccessibleRole::PANEL</const> when the item is a window, or
+ <const scope="com::sun::star::accessibility">AccessibleRole::FILLER</const> when the item is a fill item, or
+ <const scope="com::sun::star::accessibility">AccessibleRole::SEPARATOR</const> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> 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
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> state.
+ */
+ interface com::sun::star::accessibility::XAccessibleValue;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/AccessibleTreeListBox.idl b/offapi/com/sun/star/awt/AccessibleTreeListBox.idl
new file mode 100644
index 000000000000..f6e521f689e7
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTreeListBox.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTreeListBox_idl__
+#define __com_sun_star_awt_AccessibleTreeListBox_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleSelection;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::TREE</const>.</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 <type scope="com::sun::star::awt">AccessibleTreeListBoxEntry</type>.
+ </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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if a child has currently the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the object can be resized.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is set when mutli 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
+
diff --git a/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl b/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl
new file mode 100644
index 000000000000..cec5b4d3819d
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleTreeListBoxEntry.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleTreeListBoxEntry_idl__
+#define __com_sun_star_awt_AccessibleTreeListBoxEntry_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#include <com/sun/star/accessibility/AccessibleContext.idl>
+#endif
+
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleAction;
+ published interface XAccessibleSelection;
+ published interface XAccessibleText;
+ published 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
+*/
+published 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::LABEL</const>.</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 <type scope="com::sun::star::awt">AccessibleTreeListBoxEntry</type>.
+ </li>
+ <li>Parent: The parent is either the <type scope="com::sun::star::awt">AccessibleTreeListBox</type>
+ or an <type scope="com::sun::star::awt">AccessibleTreeListBoxEntry</type> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is set when a tree list box entry can be edited.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::EXPANDABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::EXPANDED</const> is set when it is expanded.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::COLLAPSED</const> is set when it is collapsed.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::CHECKED</const> is set when it is checked.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> 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
+
diff --git a/offapi/com/sun/star/awt/AccessibleWindow.idl b/offapi/com/sun/star/awt/AccessibleWindow.idl
new file mode 100644
index 000000000000..59ae5bf25c28
--- /dev/null
+++ b/offapi/com/sun/star/awt/AccessibleWindow.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AccessibleWindow_idl__
+#define __com_sun_star_awt_AccessibleWindow_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module awt {
+
+/** specifies accessibility support for a window.
+
+ @since OOo 1.1.2
+ */
+published 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><const scope="com::sun::star::accessibility"
+ >AccessibleRole::DIALOG</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::FRAME</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::LAYERED_PANE</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::PANEL</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::ROOT_PANE</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::SCROLL_PANE</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::SPLIT_PANE</const></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleRole::WINDOW</const></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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ACTIVE</const> is set
+ if the object is currently the active object.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const>
+ is set if the object has already been disposed
+ and subsequent calls to this object result in
+ <type scope="com::sun::star::lang">DisposedException</type>
+ exceptions.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is set
+ if the object is enabled.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set
+ if the object currently has the keyboard focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MODAL</const> is set
+ if the object is modal.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is set
+ if the size of the object is not fixed.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is set
+ if the object is displayed on the screen.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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
diff --git a/offapi/com/sun/star/awt/ActionEvent.idl b/offapi/com/sun/star/awt/ActionEvent.idl
new file mode 100644
index 000000000000..29cf1ab2e65b
--- /dev/null
+++ b/offapi/com/sun/star/awt/ActionEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_ActionEvent_idl__
+#define __com_sun_star_awt_ActionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XActionListener</type> object
+ that registered to receive such events using the component's
+ <code>addActionListener</code> method.</p>
+
+ <p>The object that implements the <type>XActionListener</type> 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
diff --git a/offapi/com/sun/star/awt/AdjustmentEvent.idl b/offapi/com/sun/star/awt/AdjustmentEvent.idl
new file mode 100644
index 000000000000..e2835a239529
--- /dev/null
+++ b/offapi/com/sun/star/awt/AdjustmentEvent.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_AdjustmentEvent_idl__
+#define __com_sun_star_awt_AdjustmentEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_AdjustmentType_idl__
+#include <com/sun/star/awt/AdjustmentType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/AdjustmentType.idl b/offapi/com/sun/star/awt/AdjustmentType.idl
new file mode 100644
index 000000000000..247b3c8eacf4
--- /dev/null
+++ b/offapi/com/sun/star/awt/AdjustmentType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/AnimatedImagesControl.idl b/offapi/com/sun/star/awt/AnimatedImagesControl.idl
new file mode 100755
index 000000000000..90f8b3a356e8
--- /dev/null
+++ b/offapi/com/sun/star/awt/AnimatedImagesControl.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>AnimatedImagesControlModel</type>, displayed a series of
+ images.
+
+ @since OOo 3.4
+ */
+service AnimatedImagesControl
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface XAnimation;
+};
+
+//======================================================================================================================
+
+}; }; }; };
+
+//======================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl b/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl
new file mode 100755
index 000000000000..2bc1260775c9
--- /dev/null
+++ b/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/AsyncCallback.idl b/offapi/com/sun/star/awt/AsyncCallback.idl
new file mode 100644
index 000000000000..6c1d9feef993
--- /dev/null
+++ b/offapi/com/sun/star/awt/AsyncCallback.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_AsyncCallback_idl__
+#define __com_sun_star_awt_AsyncCallback_idl__
+
+#ifndef __com_sun_star_awt_XRequestCallback_idl__
+#include <com/sun/star/awt/XRequestCallback.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/awt/CharSet.idl b/offapi/com/sun/star/awt/CharSet.idl
new file mode 100644
index 000000000000..c483ee56a196
--- /dev/null
+++ b/offapi/com/sun/star/awt/CharSet.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <regtm>Apple Macintosh</regtm> 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
diff --git a/offapi/com/sun/star/awt/Command.idl b/offapi/com/sun/star/awt/Command.idl
new file mode 100644
index 000000000000..cce6ed126092
--- /dev/null
+++ b/offapi/com/sun/star/awt/Command.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 begining 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 hangual hanja conversion command.
+ */
+ const short HANGUL_HANJA_CONVERSION = 14;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a user-defined command.
+ */
+ const short USER = 4096;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/ContainerWindowProvider.idl b/offapi/com/sun/star/awt/ContainerWindowProvider.idl
new file mode 100644
index 000000000000..74bc62d11b56
--- /dev/null
+++ b/offapi/com/sun/star/awt/ContainerWindowProvider.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_ContainerWindowProvider_idl__
+#define __com_sun_star_awt_ContainerWindowProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XContainerWindowProvider_idl__
+#include <com/sun/star/awt/XContainerWindowProvider.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a provider for container windows implementing the
+ <type scope="com::sun::star::awt">XWindow</type> interface.
+ */
+service ContainerWindowProvider : com::sun::star::awt::XContainerWindowProvider;
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/DeviceCapability.idl b/offapi/com/sun/star/awt/DeviceCapability.idl
new file mode 100644
index 000000000000..1f90be3bb4ac
--- /dev/null
+++ b/offapi/com/sun/star/awt/DeviceCapability.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XDevice::createBitmap</member>,
+ the <member>XDevice::createDevice</member> and the
+ <member>XGraphics::copy</member> methods.
+
+ @see XGraphics::setRasterOp
+ */
+ const long GETBITS = 2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/DeviceInfo.idl b/offapi/com/sun/star/awt/DeviceInfo.idl
new file mode 100644
index 000000000000..f9de79870395
--- /dev/null
+++ b/offapi/com/sun/star/awt/DeviceInfo.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/DialogProvider.idl b/offapi/com/sun/star/awt/DialogProvider.idl
new file mode 100644
index 000000000000..863a107755d6
--- /dev/null
+++ b/offapi/com/sun/star/awt/DialogProvider.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_DialogProvider_idl__
+#define __com_sun_star_awt_DialogProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDialogProvider_idl__
+#include <com/sun/star/awt/XDialogProvider.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a provider for dialogs implementing the
+ <type scope="com::sun::star::awt">XDialog</type> interface.
+ */
+service DialogProvider : com::sun::star::awt::XDialogProvider;
+
+// service DialogProvider {
+ // interface com::sun::star::awt::XDialogProvider;
+// };
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/DialogProvider2.idl b/offapi/com/sun/star/awt/DialogProvider2.idl
new file mode 100644
index 000000000000..be0db00bf859
--- /dev/null
+++ b/offapi/com/sun/star/awt/DialogProvider2.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_DialogProvider2_idl__
+#define __com_sun_star_awt_DialogProvider2_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDialogProvider2_idl__
+#include <com/sun/star/awt/XDialogProvider2.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a provider for dialogs implementing the
+ <type scope="com::sun::star::awt">XDialog</type> interface.
+ */
+service DialogProvider2 : com::sun::star::awt::XDialogProvider2;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/DockingData.idl b/offapi/com/sun/star/awt/DockingData.idl
new file mode 100644
index 000000000000..ec470b193063
--- /dev/null
+++ b/offapi/com/sun/star/awt/DockingData.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_DockingData_idl__
+#define __com_sun_star_awt_DockingData_idl__
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/awt/DockingEvent.idl b/offapi/com/sun/star/awt/DockingEvent.idl
new file mode 100644
index 000000000000..b6182c48ee2e
--- /dev/null
+++ b/offapi/com/sun/star/awt/DockingEvent.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_DockingEvent_idl__
+#define __com_sun_star_awt_DockingEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/EndDockingEvent.idl b/offapi/com/sun/star/awt/EndDockingEvent.idl
new file mode 100644
index 000000000000..f1563bd240dd
--- /dev/null
+++ b/offapi/com/sun/star/awt/EndDockingEvent.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_EndDockingEvent_idl__
+#define __com_sun_star_awt_EndDockingEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ 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 cancelled
+ */
+ boolean bCancelled;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/EndPopupModeEvent.idl b/offapi/com/sun/star/awt/EndPopupModeEvent.idl
new file mode 100644
index 000000000000..637f70c56d05
--- /dev/null
+++ b/offapi/com/sun/star/awt/EndPopupModeEvent.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_EndPopupModeEvent_idl__
+#define __com_sun_star_awt_EndPopupModeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies an end popup mode event.
+ */
+struct EndPopupModeEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies how the popup 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
diff --git a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
new file mode 100644
index 000000000000..f866397e0613
--- /dev/null
+++ b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_EnhancedMouseEvent_idl__
+#define __com_sun_star_awt_EnhancedMouseEvent_idl__
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies an event from the mouse.
+
+ @see MouseEvent
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/awt/FieldUnit.idl b/offapi/com/sun/star/awt/FieldUnit.idl
new file mode 100644
index 000000000000..b7a775401d4d
--- /dev/null
+++ b/offapi/com/sun/star/awt/FieldUnit.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 constands have to be disjunct with
+ constants in <type>util/MeasureUnit</type>.</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
diff --git a/offapi/com/sun/star/awt/FocusChangeReason.idl b/offapi/com/sun/star/awt/FocusChangeReason.idl
new file mode 100644
index 000000000000..32d4380b79cc
--- /dev/null
+++ b/offapi/com/sun/star/awt/FocusChangeReason.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 KeyLeft/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
diff --git a/offapi/com/sun/star/awt/FocusEvent.idl b/offapi/com/sun/star/awt/FocusEvent.idl
new file mode 100644
index 000000000000..09ba8697e885
--- /dev/null
+++ b/offapi/com/sun/star/awt/FocusEvent.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_FocusEvent_idl__
+#define __com_sun_star_awt_FocusEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 arithmentic-or
+ combination of <type>FocusChangeReason</type>.
+
+ @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
diff --git a/offapi/com/sun/star/awt/FontDescriptor.idl b/offapi/com/sun/star/awt/FontDescriptor.idl
new file mode 100644
index 000000000000..54107d6466d4
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontDescriptor.idl
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#define __com_sun_star_awt_FontDescriptor_idl__
+
+#ifndef __com_sun_star_awt_FontSlant_idl__
+#include <com/sun/star/awt/FontSlant.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::awt">FontFamily</type>.</p>
+ */
+ short Family;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the character set which is supported by the font.
+
+ <p>Use one value out of the constant group
+ <type scope="com::sun::star::awt">CharSet</type>.</p>
+ */
+ short CharSet;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the pitch of the font.
+
+ <p>Use one value out of the constant group
+ <type scope="com::sun::star::awt">FontPitch</type>.</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
+ <type scope="com::sun::star::awt">FontUnderline</type>.</p>
+ */
+ short Underline;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the kind of strikeout.
+
+ <p>Use one value out of the constant group
+ <type scope="com::sun::star::awt">FontStrikeout</type>.</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
+ <member scope="com::sun::star::awt">FontDescriptor::Underline</member>
+ is not <const>FontUnderline::NONE</const>.</p>
+ */
+ boolean WordLineMode;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the technology of the font representation.
+
+ <p>One or more values out of the constant group
+ <type scope="com::sun::star::awt">FontType</type> can be combined by
+ an arithmetical or-operation.</p>
+ */
+ short Type;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/FontEmphasisMark.idl b/offapi/com/sun/star/awt/FontEmphasisMark.idl
new file mode 100644
index 000000000000..8e13cb8ca4a6
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontEmphasisMark.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/FontFamily.idl b/offapi/com/sun/star/awt/FontFamily.idl
new file mode 100644
index 000000000000..6b375c002d52
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontFamily.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 serifes).
+ */
+ const short ROMAN = 3;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the family of script fonts.
+ */
+ const short SCRIPT = 4;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the family roman fonts (without serifes).
+ */
+ const short SWISS = 5;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the family system fonts.
+ */
+ const short SYSTEM = 6;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/FontPitch.idl b/offapi/com/sun/star/awt/FontPitch.idl
new file mode 100644
index 000000000000..07554160f0c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontPitch.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontRelief.idl b/offapi/com/sun/star/awt/FontRelief.idl
new file mode 100644
index 000000000000..d737ef76ec32
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontRelief.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontSlant.idl b/offapi/com/sun/star/awt/FontSlant.idl
new file mode 100644
index 000000000000..35496caaf754
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontSlant.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontStrikeout.idl b/offapi/com/sun/star/awt/FontStrikeout.idl
new file mode 100644
index 000000000000..d9b7a5df1b53
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontStrikeout.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontType.idl b/offapi/com/sun/star/awt/FontType.idl
new file mode 100644
index 000000000000..2474976d33e1
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontType.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontUnderline.idl b/offapi/com/sun/star/awt/FontUnderline.idl
new file mode 100644
index 000000000000..4065e347029d
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontUnderline.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontWeight.idl b/offapi/com/sun/star/awt/FontWeight.idl
new file mode 100644
index 000000000000..f70891022cbf
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontWeight.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/FontWidth.idl b/offapi/com/sun/star/awt/FontWidth.idl
new file mode 100644
index 000000000000..c36d70519c03
--- /dev/null
+++ b/offapi/com/sun/star/awt/FontWidth.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/Gradient.idl b/offapi/com/sun/star/awt/Gradient.idl
new file mode 100644
index 000000000000..9774bc655d2a
--- /dev/null
+++ b/offapi/com/sun/star/awt/Gradient.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_Gradient_idl__
+#define __com_sun_star_awt_Gradient_idl__
+
+#ifndef __com_sun_star_awt_GradientStyle_idl__
+#include <com/sun/star/awt/GradientStyle.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** describes a color dispersion within an area.
+ */
+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.
+ */
+ short XOffset;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the Y-coordinate, where the gradient begins.
+ */
+ short YOffset;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the intensity at the start point of the gradient.
+ */
+ short StartIntensity;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the intensity at the end point of the gradient.
+ */
+ short EndIntensity;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the number of steps of change color.
+ */
+ short StepCount;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/GradientStyle.idl b/offapi/com/sun/star/awt/GradientStyle.idl
new file mode 100644
index 000000000000..273dcbca28f9
--- /dev/null
+++ b/offapi/com/sun/star/awt/GradientStyle.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/ImageAlign.idl b/offapi/com/sun/star/awt/ImageAlign.idl
new file mode 100644
index 000000000000..aa61e7d22228
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageAlign.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/ImagePosition.idl b/offapi/com/sun/star/awt/ImagePosition.idl
new file mode 100644
index 000000000000..b19c796c22b0
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImagePosition.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 a 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
diff --git a/offapi/com/sun/star/awt/ImageScaleMode.idl b/offapi/com/sun/star/awt/ImageScaleMode.idl
new file mode 100644
index 000000000000..9494bef96814
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageScaleMode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 isotropicly,
+ 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 anisotropicly.
+
+ <p>The image will finally cover all of the surrounding area, but its dimensions might be distorted.</p>
+ */
+ const short Anisotropic = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/awt/ImageStatus.idl b/offapi/com/sun/star/awt/ImageStatus.idl
new file mode 100644
index 000000000000..efeeff806e39
--- /dev/null
+++ b/offapi/com/sun/star/awt/ImageStatus.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/InputEvent.idl b/offapi/com/sun/star/awt/InputEvent.idl
new file mode 100644
index 000000000000..478dc622fcb2
--- /dev/null
+++ b/offapi/com/sun/star/awt/InputEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_InputEvent_idl__
+#define __com_sun_star_awt_InputEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::awt">KeyModifier</type> group.</p>
+ */
+ short Modifiers;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/InvalidateStyle.idl b/offapi/com/sun/star/awt/InvalidateStyle.idl
new file mode 100644
index 000000000000..74ef3a1e4df0
--- /dev/null
+++ b/offapi/com/sun/star/awt/InvalidateStyle.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/ItemEvent.idl b/offapi/com/sun/star/awt/ItemEvent.idl
new file mode 100644
index 000000000000..3b5a07765d81
--- /dev/null
+++ b/offapi/com/sun/star/awt/ItemEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_ItemEvent_idl__
+#define __com_sun_star_awt_ItemEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/ItemListEvent.idl b/offapi/com/sun/star/awt/ItemListEvent.idl
new file mode 100644
index 000000000000..f9d2658bd5bd
--- /dev/null
+++ b/offapi/com/sun/star/awt/ItemListEvent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_awt_ListItemEvent_idl__
+#define __offapi_com_sun_star_awt_ListItemEvent_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 <type>XListItems</type> 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 <member>XItemList::setItemImage</member>, 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 <member>XItemList::setItemText</member>, only <code>ItemText</code> will be set, and
+ <code>ItemImageURL</code> will be empty.</p>
+ */
+ ::com::sun::star::beans::Optional< string >
+ ItemImageURL;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/awt/Key.idl b/offapi/com/sun/star/awt/Key.idl
new file mode 100644
index 000000000000..5987bc3fbbed
--- /dev/null
+++ b/offapi/com/sun/star/awt/Key.idl
@@ -0,0 +1,574 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 specifies distinct physical keys.
+ */
+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 DELETE_TO_BEGIN_OF_LINE = 1536;
+
+ //-------------------------------------------------------------------------
+
+ const short DELETE_TO_END_OF_LINE = 1537;
+
+ //-------------------------------------------------------------------------
+
+ const short DELETE_TO_BEGIN_OF_PARAGRAPH = 1538;
+
+ //-------------------------------------------------------------------------
+
+ 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
diff --git a/offapi/com/sun/star/awt/KeyEvent.idl b/offapi/com/sun/star/awt/KeyEvent.idl
new file mode 100644
index 000000000000..6d185b9ba26e
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyEvent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#define __com_sun_star_awt_KeyEvent_idl__
+
+#ifndef __com_sun_star_awt_InputEvent_idl__
+#include <com/sun/star/awt/InputEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>Key</type>.</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
+ <type>KeyFunction</type>.</p>
+ */
+ short KeyFunc;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/KeyFunction.idl b/offapi/com/sun/star/awt/KeyFunction.idl
new file mode 100644
index 000000000000..db806c1d0a11
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyFunction.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/KeyGroup.idl b/offapi/com/sun/star/awt/KeyGroup.idl
new file mode 100644
index 000000000000..4939965b02f5
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyGroup.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/KeyModifier.idl b/offapi/com/sun/star/awt/KeyModifier.idl
new file mode 100644
index 000000000000..89b79a928db3
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyModifier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 Mac OS X).
+ */
+ 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 (Mac OS X)
+ */
+ const short MOD3 = 8;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/KeyStroke.idl b/offapi/com/sun/star/awt/KeyStroke.idl
new file mode 100644
index 000000000000..2b65ee78e6ff
--- /dev/null
+++ b/offapi/com/sun/star/awt/KeyStroke.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::awt">KeyModifier</type>.</p>
+ */
+ short Modifiers;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the integer code representing the key of the event.
+
+ <p>This is a constant from the constant group
+ <type scope="com::sun::star::awt">Key</type>.</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
+ <type scope="com::sun::star::awt">KeyFunction</type>.</p>
+ */
+ short KeyFunc;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/LineEndFormat.idl b/offapi/com/sun/star/awt/LineEndFormat.idl
new file mode 100644
index 000000000000..995cf3c43228
--- /dev/null
+++ b/offapi/com/sun/star/awt/LineEndFormat.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/MaxChildrenException.idl b/offapi/com/sun/star/awt/MaxChildrenException.idl
new file mode 100644
index 000000000000..a73ddb2f5233
--- /dev/null
+++ b/offapi/com/sun/star/awt/MaxChildrenException.idl
@@ -0,0 +1,29 @@
+#ifndef __com_sun_star_awt_MaxChildrenException_idl__
+#define __com_sun_star_awt_MaxChildrenException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** This exception is thrown when adding a child to a container that is full.
+
+ @see XLayoutContainer
+ @see com::sun::star::awt::XLayoutContainer::addChild
+
+ @since OOo 3.0
+ */
+exception MaxChildrenException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/MenuBar.idl b/offapi/com/sun/star/awt/MenuBar.idl
new file mode 100644
index 000000000000..4f95cd74f9bc
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuBar.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_MenuBar_idl__
+#define __com_sun_star_awt_MenuBar_idl__
+
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#include <com/sun/star/awt/XMenuBar.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::awt">XTopWindow</type>
+ to set an menu bar object.
+ </p>
+ */
+published service MenuBar
+{
+ interface XMenuBar;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/MenuEvent.idl b/offapi/com/sun/star/awt/MenuEvent.idl
new file mode 100644
index 000000000000..48f326f5f7cc
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuEvent.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_MenuEvent_idl__
+#define __com_sun_star_awt_MenuEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/MenuItemStyle.idl b/offapi/com/sun/star/awt/MenuItemStyle.idl
new file mode 100644
index 000000000000..f4a4edf40304
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuItemStyle.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published 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
diff --git a/offapi/com/sun/star/awt/MenuItemType.idl b/offapi/com/sun/star/awt/MenuItemType.idl
new file mode 100644
index 000000000000..d3907b9278eb
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuItemType.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member scope="com::sun::star::awt">XMenuExtended2::getItemType()</member>.
+ */
+enum MenuItemType
+{
+ /** specifies that the menu item type is unkown.
+ */
+ 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
diff --git a/offapi/com/sun/star/awt/MenuLogo.idl b/offapi/com/sun/star/awt/MenuLogo.idl
new file mode 100755
index 000000000000..a84f6be2f04a
--- /dev/null
+++ b/offapi/com/sun/star/awt/MenuLogo.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_MenuLogo_idl__
+#define __com_sun_star_awt_MenuLogo_idl__
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_util_color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a logo to be displayed on a menu, with a background gradient.
+ */
+struct MenuLogo
+{
+ /** specifies the logo image.
+ */
+ ::com::sun::star::graphic::XGraphic Graphic;
+
+ //-------------------------------------------------------------------------
+
+ /** 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/MessageBoxButtons.idl b/offapi/com/sun/star/awt/MessageBoxButtons.idl
new file mode 100644
index 000000000000..5fcb700940cb
--- /dev/null
+++ b/offapi/com/sun/star/awt/MessageBoxButtons.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/MessageBoxCommand.idl b/offapi/com/sun/star/awt/MessageBoxCommand.idl
new file mode 100644
index 000000000000..c07f98d5b8d2
--- /dev/null
+++ b/offapi/com/sun/star/awt/MessageBoxCommand.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_MessageBoxCommand_idl__
+#define __com_sun_star_awt_MessageBoxCommand_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a message box command.
+
+ @deprecated
+ */
+published constants MessageBoxCommand
+{
+ //-------------------------------------------------------------------------
+
+ const short CANCEL = 0;
+
+ //-------------------------------------------------------------------------
+
+ const short OK = 1;
+
+ //-------------------------------------------------------------------------
+
+ const short YES = 2;
+
+ //-------------------------------------------------------------------------
+
+ const short NO = 3;
+
+ //-------------------------------------------------------------------------
+
+ const short RETRY = 4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/MouseButton.idl b/offapi/com/sun/star/awt/MouseButton.idl
new file mode 100644
index 000000000000..5f7f222373c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseButton.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/MouseEvent.idl b/offapi/com/sun/star/awt/MouseEvent.idl
new file mode 100644
index 000000000000..02f7ec08bceb
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseEvent.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#define __com_sun_star_awt_MouseEvent_idl__
+
+#ifndef __com_sun_star_awt_InputEvent_idl__
+#include <com/sun/star/awt/InputEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies an event from the mouse.
+
+ <p>This event is also used for popup menu requests on objects.
+ See <member>PopupTrigger</member> 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
+ <type scope="com::sun::star::awt">MouseButton</type> 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 popup-menu trigger event.
+
+ <p>If this member is <TRUE/>, the event describes a request for a popup menu,
+ also known as context menu, on an object.</p>
+
+ <p>In this case, <member>X</member> and <member>Y</member> 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
diff --git a/offapi/com/sun/star/awt/MouseWheelBehavior.idl b/offapi/com/sun/star/awt/MouseWheelBehavior.idl
new file mode 100755
index 000000000000..94efb8abc160
--- /dev/null
+++ b/offapi/com/sun/star/awt/MouseWheelBehavior.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/PaintEvent.idl b/offapi/com/sun/star/awt/PaintEvent.idl
new file mode 100644
index 000000000000..f3ba266b3a0a
--- /dev/null
+++ b/offapi/com/sun/star/awt/PaintEvent.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_PaintEvent_idl__
+#define __com_sun_star_awt_PaintEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/Point.idl b/offapi/com/sun/star/awt/Point.idl
new file mode 100644
index 000000000000..6afcc76d611e
--- /dev/null
+++ b/offapi/com/sun/star/awt/Point.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/PopupMenu.idl b/offapi/com/sun/star/awt/PopupMenu.idl
new file mode 100644
index 000000000000..e8a5f913c2cb
--- /dev/null
+++ b/offapi/com/sun/star/awt/PopupMenu.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_PopupMenu_idl__
+#define __com_sun_star_awt_PopupMenu_idl__
+
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#include <com/sun/star/awt/XPopupMenu.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ interface XPopupMenu;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/PopupMenuDirection.idl b/offapi/com/sun/star/awt/PopupMenuDirection.idl
new file mode 100644
index 000000000000..0e676d3e91fe
--- /dev/null
+++ b/offapi/com/sun/star/awt/PopupMenuDirection.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 popup menu will grow.
+
+ <p>They may be expanded in future versions.</p>
+ */
+published constants PopupMenuDirection
+{
+ //-------------------------------------------------------------------------
+
+ /** @deprecated
+ */
+ const short DEFAULT = 0;
+
+ //-------------------------------------------------------------------------
+
+ /** @deprecated
+ */
+ const short DOWN = 1;
+
+ //-------------------------------------------------------------------------
+
+ /** 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
diff --git a/offapi/com/sun/star/awt/PosSize.idl b/offapi/com/sun/star/awt/PosSize.idl
new file mode 100644
index 000000000000..93e0d3d3df3f
--- /dev/null
+++ b/offapi/com/sun/star/awt/PosSize.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/PrinterException.idl b/offapi/com/sun/star/awt/PrinterException.idl
new file mode 100644
index 000000000000..805b52e86b98
--- /dev/null
+++ b/offapi/com/sun/star/awt/PrinterException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_PrinterException_idl__
+#define __com_sun_star_awt_PrinterException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/PushButtonType.idl b/offapi/com/sun/star/awt/PushButtonType.idl
new file mode 100644
index 000000000000..fc0c47129efb
--- /dev/null
+++ b/offapi/com/sun/star/awt/PushButtonType.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 a OK button.
+ */
+ OK,
+
+ //-------------------------------------------------------------------------
+
+ /** acts like a cancel button.
+ */
+ CANCEL,
+
+ //-------------------------------------------------------------------------
+
+ /** acts like a help button.
+ */
+ HELP
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/RasterOperation.idl b/offapi/com/sun/star/awt/RasterOperation.idl
new file mode 100644
index 000000000000..8c1839bf2e0c
--- /dev/null
+++ b/offapi/com/sun/star/awt/RasterOperation.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/Rectangle.idl b/offapi/com/sun/star/awt/Rectangle.idl
new file mode 100644
index 000000000000..3e1058339356
--- /dev/null
+++ b/offapi/com/sun/star/awt/Rectangle.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/RoadmapItem.idl b/offapi/com/sun/star/awt/RoadmapItem.idl
new file mode 100644
index 000000000000..7fa197bc391a
--- /dev/null
+++ b/offapi/com/sun/star/awt/RoadmapItem.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 auto
+ * matically set after the following algorithm:
+ * (Index + 1) + ". " + Label
+ */
+ [property] string Label;
+
+
+ /** When "Interactive" is true the RoadmapItem supports a certain "HyperLabel
+ * functionality":
+ * Moving the Mousepointer over the RoadmapItem will change it to a Refhand and
+ * underline the Label for the time the mousepointer resides over the RoadmapItem.
+ * Clicking the mousepointer 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
diff --git a/offapi/com/sun/star/awt/ScrollBarOrientation.idl b/offapi/com/sun/star/awt/ScrollBarOrientation.idl
new file mode 100644
index 000000000000..706ee93ddc52
--- /dev/null
+++ b/offapi/com/sun/star/awt/ScrollBarOrientation.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/Selection.idl b/offapi/com/sun/star/awt/Selection.idl
new file mode 100644
index 000000000000..aa904e687949
--- /dev/null
+++ b/offapi/com/sun/star/awt/Selection.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/SimpleFontMetric.idl b/offapi/com/sun/star/awt/SimpleFontMetric.idl
new file mode 100644
index 000000000000..51c44ad67b4d
--- /dev/null
+++ b/offapi/com/sun/star/awt/SimpleFontMetric.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 linespacing.
+
+ <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
diff --git a/offapi/com/sun/star/awt/Size.idl b/offapi/com/sun/star/awt/Size.idl
new file mode 100644
index 000000000000..9a9b4912dc8c
--- /dev/null
+++ b/offapi/com/sun/star/awt/Size.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/SpinEvent.idl b/offapi/com/sun/star/awt/SpinEvent.idl
new file mode 100644
index 000000000000..bcba2b554aad
--- /dev/null
+++ b/offapi/com/sun/star/awt/SpinEvent.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_SpinEvent_idl__
+#define __com_sun_star_awt_SpinEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/SpinningProgressControlModel.idl b/offapi/com/sun/star/awt/SpinningProgressControlModel.idl
new file mode 100755
index 000000000000..a75417d41cc3
--- /dev/null
+++ b/offapi/com/sun/star/awt/SpinningProgressControlModel.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>AnimatedImagesControlModel</type> which provides standard image sets
+ for displaying a non-procentual progress.
+
+ <p>Three image sets are provided, of size 16x16, 32x32, and 64x64 pixels.</p>
+ */
+service SpinningProgressControlModel
+{
+ service AnimatedImagesControlModel;
+};
+
+//======================================================================================================================
+
+}; }; }; };
+
+//======================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/awt/Style.idl b/offapi/com/sun/star/awt/Style.idl
new file mode 100644
index 000000000000..6643b316dd48
--- /dev/null
+++ b/offapi/com/sun/star/awt/Style.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/SystemDependentXWindow.idl b/offapi/com/sun/star/awt/SystemDependentXWindow.idl
new file mode 100644
index 000000000000..b9e99c513a0c
--- /dev/null
+++ b/offapi/com/sun/star/awt/SystemDependentXWindow.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XSystemDependentWindowPeer::getWindowHandle</member> call,
+ if the system type is
+ <const scope="com::sun::star::lang">SystemDependent::XWINDOW</const>.</p>
+
+ @deprecated
+ */
+published struct SystemDependentXWindow
+{
+ //-------------------------------------------------------------------------
+
+ /** The XWindow handle if possible, otherwise 0.
+ */
+ long WindowHandle;
+
+ //-------------------------------------------------------------------------
+
+ /** The display pointer.
+ */
+ hyper DisplayPointer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/awt/SystemPointer.idl b/offapi/com/sun/star/awt/SystemPointer.idl
new file mode 100644
index 000000000000..c32397abe986
--- /dev/null
+++ b/offapi/com/sun/star/awt/SystemPointer.idl
@@ -0,0 +1,492 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hourglas).
+ */
+ const long WAIT = 2;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a mouse pointer for text (cursor-like).
+ */
+ const long TEXT = 3;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a mouse pointer for online 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 horzizontal 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
diff --git a/offapi/com/sun/star/awt/TabController.idl b/offapi/com/sun/star/awt/TabController.idl
new file mode 100644
index 000000000000..7b9ded82d233
--- /dev/null
+++ b/offapi/com/sun/star/awt/TabController.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_TabController_idl__
+#define __com_sun_star_awt_TabController_idl__
+
+#ifndef __com_sun_star_awt_XTabController_idl__
+#include <com/sun/star/awt/XTabController.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a standard tab controller.
+ */
+published service TabController
+{
+ interface com::sun::star::awt::XTabController;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/TabControllerModel.idl b/offapi/com/sun/star/awt/TabControllerModel.idl
new file mode 100644
index 000000000000..c85e6336c6f9
--- /dev/null
+++ b/offapi/com/sun/star/awt/TabControllerModel.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_TabControllerModel_idl__
+#define __com_sun_star_awt_TabControllerModel_idl__
+
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#endif
+
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/TextAlign.idl b/offapi/com/sun/star/awt/TextAlign.idl
new file mode 100644
index 000000000000..773419c89254
--- /dev/null
+++ b/offapi/com/sun/star/awt/TextAlign.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/TextEvent.idl b/offapi/com/sun/star/awt/TextEvent.idl
new file mode 100644
index 000000000000..537fa2d1016b
--- /dev/null
+++ b/offapi/com/sun/star/awt/TextEvent.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_TextEvent_idl__
+#define __com_sun_star_awt_TextEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/Toolkit.idl b/offapi/com/sun/star/awt/Toolkit.idl
new file mode 100644
index 000000000000..a065776a535b
--- /dev/null
+++ b/offapi/com/sun/star/awt/Toolkit.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_Toolkit_idl__
+#define __com_sun_star_awt_Toolkit_idl__
+
+#ifndef __com_sun_star_awt_XToolkit_idl__
+#include <com/sun/star/awt/XToolkit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDataTransferProviderAccess_idl__
+#include <com/sun/star/awt/XDataTransferProviderAccess.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSystemChildFactory_idl__
+#include <com/sun/star/awt/XSystemChildFactory.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMessageBoxFactory_idl__
+#include <com/sun/star/awt/XMessageBoxFactory.idl>
+#endif
+
+
+//=============================================================================
+
+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
+{
+ interface XToolkit;
+
+ [optional] interface com::sun::star::awt::XDataTransferProviderAccess;
+
+ [optional] interface com::sun::star::awt::XSystemChildFactory;
+
+ [optional] interface com::sun::star::awt::XMessageBoxFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControl.idl b/offapi/com/sun/star/awt/UnoControl.idl
new file mode 100644
index 000000000000..38acae5635e3
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControl.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#define __com_sun_star_awt_UnoControl_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XView_idl__
+#include <com/sun/star/awt/XView.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 (<type>XView</type>) 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
diff --git a/offapi/com/sun/star/awt/UnoControlButton.idl b/offapi/com/sun/star/awt/UnoControlButton.idl
new file mode 100644
index 000000000000..96e2ac272e57
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlButton.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoButtonControl_idl__
+#define __com_sun_star_awt_UnoButtonControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XButton_idl__
+#include <com/sun/star/awt/XButton.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlButtonModel.idl b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
new file mode 100644
index 000000000000..bbcf7000157e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlButtonModel.idl
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__
+#define __com_sun_star_awt_UnoControlButtonModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlButton</type>.
+ */
+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.0
+ */
+ [optional, property] boolean FocusOnClick;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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
+ <type>ImageAlign</type> 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 <type>ImagePosition</type>.</p>
+
+ <p>If this property is present, it supersedes the <member>ImageAlign</member> property - setting
+ one of both properties sets the other one to the best possible match.</p>
+ */
+ [optional, property] short ImagePosition;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies an 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 <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> 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.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 <type>PushButtonType</type> value.
+ */
+ [property] short PushButtonType;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the control should show repeating behaviour.
+
+ <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.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.0
+ */
+ [optional, property] long RepeatDelay;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the state of the control.
+ */
+ [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.0
+ */
+ [optional, property] boolean Toggle;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the vertical alignment of the text in the control.
+
+ @since OOo 2.0.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlCheckBox.idl b/offapi/com/sun/star/awt/UnoControlCheckBox.idl
new file mode 100644
index 000000000000..f9f286e5b8fb
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCheckBox.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoCheckBoxControl_idl__
+#define __com_sun_star_awt_UnoCheckBoxControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XCheckBox_idl__
+#include <com/sun/star/awt/XCheckBox.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
new file mode 100644
index 000000000000..7870f03f4aec
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+#define __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlCheckBox</type>.
+ */
+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.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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 <type>ImagePosition</type>.</p>
+ */
+ [optional, property] short ImagePosition;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies an 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 <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> 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.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.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 <type>VisualEffect</type>::FLAT and
+ <type>VisualEffect</type>::LOOK3D.</p>
+
+ @see com::sun::star::awt::VisualEffect
+
+ @since OOo 2.0.0
+ */
+ [optional, property] short VisualEffect;
+
+ /** denotes the writing mode used in the control, as specified in the
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlComboBox.idl b/offapi/com/sun/star/awt/UnoControlComboBox.idl
new file mode 100644
index 000000000000..0392f571cd33
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlComboBox.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoComboBoxControl_idl__
+#define __com_sun_star_awt_UnoComboBoxControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XComboBox_idl__
+#include <com/sun/star/awt/XComboBox.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
new file mode 100644
index 000000000000..eedd7b78c346
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlComboBoxModel_idl__
+#define __com_sun_star_awt_UnoControlComboBoxModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#include <com/sun/star/awt/XItemList.idl>
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlComboBox</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 scrool through the control's entry list. Using this property,
+ and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+ /** allows mmanipulating the list of items in the combo box more fine-grained than the
+ <member>StringItemList</member> property.
+ */
+ [optional] interface XItemList;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlContainer.idl b/offapi/com/sun/star/awt/UnoControlContainer.idl
new file mode 100644
index 000000000000..1b63521680a2
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlContainer.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlContainer_idl__
+#define __com_sun_star_awt_UnoControlContainer_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XUnoControlContainer_idl__
+#include <com/sun/star/awt/XUnoControlContainer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlContainer_idl__
+#include <com/sun/star/awt/XControlContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlContainerModel.idl b/offapi/com/sun/star/awt/UnoControlContainerModel.idl
new file mode 100644
index 000000000000..9fda3791781f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlContainerModel.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlContainerModel_idl__
+#define __com_sun_star_awt_UnoControlContainerModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlContainer</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyField.idl b/offapi/com/sun/star/awt/UnoControlCurrencyField.idl
new file mode 100644
index 000000000000..06159fb54ed2
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoCurrencyFieldControl_idl__
+#define __com_sun_star_awt_UnoCurrencyFieldControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XCurrencyField_idl__
+#include <com/sun/star/awt/XCurrencyField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
new file mode 100644
index 000000000000..1789e23fff32
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+#define __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlCurrencyField</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 behaviour, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0.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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlDateField.idl b/offapi/com/sun/star/awt/UnoControlDateField.idl
new file mode 100644
index 000000000000..77f7f677a28e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDateField.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoDateFieldControl_idl__
+#define __com_sun_star_awt_UnoDateFieldControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDateField_idl__
+#include <com/sun/star/awt/XDateField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
new file mode 100644
index 000000000000..193f1a325b72
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
@@ -0,0 +1,291 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlDateFieldModel_idl__
+#define __com_sun_star_awt_UnoControlDateFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlDateField</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.0
+ */
+ [optional, property] long BorderColor;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the date displayed in the control.
+
+ <p>The date must be specified in the format YYYYMMDD.</p>
+ */
+ [property] long 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] long DateMax;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the minimum date that can be entered.
+ */
+ [property] long 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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 behaviour, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0.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.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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlDialog.idl b/offapi/com/sun/star/awt/UnoControlDialog.idl
new file mode 100644
index 000000000000..443b0da18563
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialog.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlDialog_idl__
+#define __com_sun_star_awt_UnoControlDialog_idl__
+
+#ifndef __com_sun_star_awt_UnoControlContainer_idl__
+#include <com/sun/star/awt/UnoControlContainer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindow_idl__
+#include <com/sun/star/awt/XTopWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDialog_idl__
+#include <com/sun/star/awt/XDialog.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a dialog control.
+ */
+published service UnoControlDialog
+{
+ service com::sun::star::awt::UnoControlContainer;
+
+ interface com::sun::star::awt::XTopWindow;
+
+ interface com::sun::star::awt::XDialog;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlDialogElement.idl b/offapi/com/sun/star/awt/UnoControlDialogElement.idl
new file mode 100644
index 000000000000..b02fe7bd116f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogElement.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>UnoControl</type> which is embedded in a
+ <type>UnoControlDialogModel</type>.
+ */
+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
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModel.idl b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
new file mode 100644
index 000000000000..ff6188e5276e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlDialogModel_idl__
+#define __com_sun_star_awt_UnoControlDialogModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlDialog</type>.
+ */
+published service UnoControlDialogModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ /** allows to create control models, which support the
+ <type>UnoControlDialogElement</type> 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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the caption bar of the dialog.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.0
+ */
+ [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.0
+ */
+ [optional, property] string ImageURL;
+
+ /** specifies a graphic to be displayed as a background image
+
+ <p>If this property is present, it interacts with the <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> will be reset
+ to an empty string.</li>
+ </ul></p>
+
+ @since OOo 2.4.0
+ */
+ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
new file mode 100644
index 000000000000..a91065f72d66
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer
+{
+ /** Creates a new dialog model
+ */
+ create([in] string URL)raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlEdit.idl b/offapi/com/sun/star/awt/UnoControlEdit.idl
new file mode 100644
index 000000000000..e603aa3ee29b
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlEdit.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#define __com_sun_star_awt_UnoControlEdit_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTextComponent_idl__
+#include <com/sun/star/awt/XTextComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTextLayoutConstrains_idl__
+#include <com/sun/star/awt/XTextLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlEditModel.idl b/offapi/com/sun/star/awt/UnoControlEditModel.idl
new file mode 100644
index 000000000000..2cd7a55725f5
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl
@@ -0,0 +1,291 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#define __com_sun_star_awt_UnoControlEditModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlEdit</type>.
+ */
+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 automaticly
+ when needed.
+
+ @since OOo 2.3.0
+ */
+ [optional, property] boolean AutoHScroll;
+
+ //-------------------------------------------------------------------------
+
+ /** If set to true an vertical scrollbar will be added automaticly
+ when needed.
+
+ @since OOo 2.3.0
+ */
+ [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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies if hard line breaks will be returned in the
+ <member>XTextComponent::getText</member> 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.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 <member>Text</member> property always contains only
+ line ends in the format specified.</p>
+
+ <p>Possible values are all constants from the <type>LineEndFormat</type> 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.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.0
+ */
+ [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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlFileControl.idl b/offapi/com/sun/star/awt/UnoControlFileControl.idl
new file mode 100644
index 000000000000..da2eceb5fef5
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFileControl.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoFileControl_idl__
+#define __com_sun_star_awt_UnoFileControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a file control.
+
+ <p>A file control extends the <type>UnoControlEdit</type> with a file
+ dialog.</p>
+ */
+published service UnoControlFileControl
+{
+ service com::sun::star::awt::UnoControlEdit;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
new file mode 100644
index 000000000000..e609a51512ae
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl
@@ -0,0 +1,185 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFileControlModel_idl__
+#define __com_sun_star_awt_UnoControlFileControlModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlFileControl</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl
new file mode 100644
index 000000000000..fa0e96885304
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlink.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoFixedHyperlinkControl_idl__
+#define __com_sun_star_awt_UnoFixedHyperlinkControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XFixedHyperlink_idl__
+#include <com/sun/star/awt/XFixedHyperlink.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
new file mode 100644
index 000000000000..8d5938d21f6f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFixedHyperlinkModel_idl__
+#define __com_sun_star_awt_UnoControlFixedHyperlinkModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlFixedHyperlink</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/awt/UnoControlFixedLine.idl b/offapi/com/sun/star/awt/UnoControlFixedLine.idl
new file mode 100644
index 000000000000..6dd1b1e36e0e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedLine.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoFixedLineControl_idl__
+#define __com_sun_star_awt_UnoFixedLineControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a fixed line control.
+ */
+published service UnoControlFixedLine
+{
+ service com::sun::star::awt::UnoControl;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlFixedLineModel.idl b/offapi/com/sun/star/awt/UnoControlFixedLineModel.idl
new file mode 100644
index 000000000000..b49b6e94d19a
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedLineModel.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFixedLineModel_idl__
+#define __com_sun_star_awt_UnoControlFixedLineModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlFixedLine</type>.
+ */
+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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlFixedText.idl b/offapi/com/sun/star/awt/UnoControlFixedText.idl
new file mode 100644
index 000000000000..e4dd759f19d2
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedText.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoFixedTextControl_idl__
+#define __com_sun_star_awt_UnoFixedTextControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XFixedText_idl__
+#include <com/sun/star/awt/XFixedText.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
new file mode 100644
index 000000000000..b6981556a8f4
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFixedTextModel_idl__
+#define __com_sun_star_awt_UnoControlFixedTextModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlFixedText</type>.
+ */
+published service UnoControlFixedTextModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the horiztonal 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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.0
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlFormattedField.idl b/offapi/com/sun/star/awt/UnoControlFormattedField.idl
new file mode 100644
index 000000000000..9d66a3e319a1
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFormattedField.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFormattedField_idl__
+#define __com_sun_star_awt_UnoControlFormattedField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
new file mode 100644
index 000000000000..9ada06455b1e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
@@ -0,0 +1,324 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+#define __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlFormattedField </type>.
+ */
+published service UnoControlFormattedFieldModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the horiztonal 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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 behaviour, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0.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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlGroupBox.idl b/offapi/com/sun/star/awt/UnoControlGroupBox.idl
new file mode 100644
index 000000000000..cc1aaff14985
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlGroupBox.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoGroupBoxControl_idl__
+#define __com_sun_star_awt_UnoGroupBoxControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a group box control.
+ */
+published service UnoControlGroupBox
+{
+ service com::sun::star::awt::UnoControl;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl b/offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl
new file mode 100644
index 000000000000..c0a5d97afc06
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlGroupBoxModel.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlGroupBoxModel_idl__
+#define __com_sun_star_awt_UnoControlGroupBoxModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlGroupBox</type>.
+ */
+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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlImageControl.idl b/offapi/com/sun/star/awt/UnoControlImageControl.idl
new file mode 100644
index 000000000000..8b7d3bc9d12b
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlImageControl.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoImageControl_idl__
+#define __com_sun_star_awt_UnoImageControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
new file mode 100644
index 000000000000..aadf3074fcbe
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlImageControlModel_idl__
+#define __com_sun_star_awt_UnoControlImageControlModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlImageControl</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 an 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 <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> 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 <member>ScaleImage</member> property.</p>
+
+ <p>The value of this property is one of the <type>ImageScaleMode</type> 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
diff --git a/offapi/com/sun/star/awt/UnoControlListBox.idl b/offapi/com/sun/star/awt/UnoControlListBox.idl
new file mode 100644
index 000000000000..edc34550242e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlListBox.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoListBoxControl_idl__
+#define __com_sun_star_awt_UnoListBoxControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XListBox_idl__
+#include <com/sun/star/awt/XListBox.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTextLayoutConstrains_idl__
+#include <com/sun/star/awt/XTextLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
new file mode 100644
index 000000000000..1ecf338bf095
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlListBoxModel_idl__
+#define __com_sun_star_awt_UnoControlListBoxModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#include <com/sun/star/awt/XItemList.idl>
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlListBox</type>.
+ */
+published service UnoControlListBoxModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the horiztontal 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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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, identfied 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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 scrool through the control's entry list. Using this property,
+ and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+
+ /** allows mmanipulating the list of items in the list box more fine-grained than the
+ <member>StringItemList</member> 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlModel.idl b/offapi/com/sun/star/awt/UnoControlModel.idl
new file mode 100644
index 000000000000..22fba6dce0b2
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlModel.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#define __com_sun_star_awt_UnoControlModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlDialogElement_idl__
+#include <com/sun/star/awt/UnoControlDialogElement.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControl</type>
+ in the <em>Smalltalk model view controller design</em>.
+
+ <p>The interfaces <type scope="com::sun::star::beans">XPropertySet</type>
+ and <type scope="com::sun::star::beans">XMultiPropertySet</type> 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
+ <type>UnoControlDialogModel</type>.
+ */
+ [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
diff --git a/offapi/com/sun/star/awt/UnoControlNumericField.idl b/offapi/com/sun/star/awt/UnoControlNumericField.idl
new file mode 100644
index 000000000000..f09d7739bb98
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlNumericField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlNumericField_idl__
+#define __com_sun_star_awt_UnoControlNumericField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XNumericField_idl__
+#include <com/sun/star/awt/XNumericField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
new file mode 100644
index 000000000000..fd3b4c0877bb
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
@@ -0,0 +1,267 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+#define __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlNumericField</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 behaviour, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0.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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlPatternField.idl b/offapi/com/sun/star/awt/UnoControlPatternField.idl
new file mode 100644
index 000000000000..415265eeb690
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlPatternField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoPatternFieldControl_idl__
+#define __com_sun_star_awt_UnoPatternFieldControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XPatternField_idl__
+#include <com/sun/star/awt/XPatternField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
new file mode 100644
index 000000000000..8b4b6ccf601c
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlPatternFieldModel_idl__
+#define __com_sun_star_awt_UnoControlPatternFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlPatternField</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlProgressBar.idl b/offapi/com/sun/star/awt/UnoControlProgressBar.idl
new file mode 100644
index 000000000000..72240452a324
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlProgressBar.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoProgressBarControl_idl__
+#define __com_sun_star_awt_UnoProgressBarControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XProgressBar_idl__
+#include <com/sun/star/awt/XProgressBar.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
new file mode 100644
index 000000000000..1ffb7ace534a
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlProgressBarModel_idl__
+#define __com_sun_star_awt_UnoControlProgressBarModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlProgressBar</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/awt/UnoControlRadioButton.idl b/offapi/com/sun/star/awt/UnoControlRadioButton.idl
new file mode 100644
index 000000000000..72c88df107bd
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRadioButton.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoButtonControl_idl__
+#define __com_sun_star_awt_UnoButtonControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XRadioButton_idl__
+#include <com/sun/star/awt/XRadioButton.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
new file mode 100644
index 000000000000..6676e98e7e6e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl
@@ -0,0 +1,234 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+#define __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlRadioButton</type>.
+ */
+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.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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 <type>ImagePosition</type>.</p>
+ */
+ [optional, property] short ImagePosition;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies an 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 <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> 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.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.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 <type>VisualEffect</type>::FLAT and
+ <type>VisualEffect</type>::LOOK3D.</p>
+
+ @see com::sun::star::awt::VisualEffect
+
+ @since OOo 2.0.0
+ */
+ [optional, property] short VisualEffect;
+
+ /** denotes the writing mode used in the control, as specified in the
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> are supported at the moment.</p>
+
+ @since OOo 3.1
+ */
+ [optional, property] short WritingMode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlRoadmap.idl b/offapi/com/sun/star/awt/UnoControlRoadmap.idl
new file mode 100644
index 000000000000..f68e1b2cba7e
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRoadmap.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlRoadmap_idl__
+#define __com_sun_star_awt_UnoControlRoadmap_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemEventBroadcaster_idl__
+#include <com/sun/star/awt/XItemEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a Roadmap control. The model of the Roadmap control must be a
+ <type>UnoControlRoadmapModel</type>
+
+ <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 <type>RoadmapItem</type>) 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 Mouseclick or pressing space bar at the currently focussed 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
diff --git a/offapi/com/sun/star/awt/UnoControlRoadmapModel.idl b/offapi/com/sun/star/awt/UnoControlRoadmapModel.idl
new file mode 100644
index 000000000000..65f5380c6e1f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlRoadmapModel.idl
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlRoadmapModel_idl__
+#define __com_sun_star_awt_UnoControlRoadmapModel_idl__
+
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlContainer</type>.
+ */
+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 beyound 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 an 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 <member>ImageURL</member>in the
+ following way:
+ <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
+ to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
+ does not point to a valid image file.</li>
+ <li>If <member>Graphic</member> is set, <member>ImageURL</member> 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
diff --git a/offapi/com/sun/star/awt/UnoControlScrollBar.idl b/offapi/com/sun/star/awt/UnoControlScrollBar.idl
new file mode 100644
index 000000000000..403df8459d46
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlScrollBar.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoScrollBarControl_idl__
+#define __com_sun_star_awt_UnoScrollBarControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XScrollBar_idl__
+#include <com/sun/star/awt/XScrollBar.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
new file mode 100644
index 000000000000..3a190405430f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlScrollBarModel_idl__
+#define __com_sun_star_awt_UnoControlScrollBarModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlScrollBar</type>.
+ */
+published service UnoControlScrollBarModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the RGB color to be used for the control.
+
+ @since OOo 2.0.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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 behaviour 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.0
+ */
+ [optional, property] boolean LiveScroll;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type>ScrollBarOrientation</type> 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.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.0
+ */
+ [optional, property] com::sun::star::util::Color SymbolColor;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies that the control can be reached with the TAB key.
+
+ @since OOo 2.0.0
+ */
+ [optional, property] boolean Tabstop;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the visible size of the scroll bar.
+ */
+ [property] long VisibleSize;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl
new file mode 100755
index 000000000000..b00ec8740521
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlSimpleAnimation_idl__
+#define __com_sun_star_awt_UnoControlSimpleAnimation_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSimpleAnimation_idl__
+#include <com/sun/star/awt/XSimpleAnimation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @since OOo 2.2
+ @deprecated
+ You should use <type>AnimatedImagesControl</type>.
+ */
+published service UnoControlSimpleAnimation
+{
+ service com::sun::star::awt::UnoControl;
+ interface com::sun::star::awt::XSimpleAnimation;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl
new file mode 100755
index 000000000000..1f96099fee63
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlSimpleAnimationModel_idl__
+#define __com_sun_star_awt_UnoControlSimpleAnimationModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @since OOo 2.2
+ @deprecated
+ You should use <type>AnimatedImagesControlModel</type>.
+ */
+
+published service UnoControlSimpleAnimationModel
+{
+ service com::sun::star::awt::UnoControlModel;
+ [property] long StepTime;
+ [property] boolean AutoRepeat;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButton.idl b/offapi/com/sun/star/awt/UnoControlSpinButton.idl
new file mode 100644
index 000000000000..db8386c4304f
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSpinButton.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoSpinButtonControl_idl__
+#define __com_sun_star_awt_UnoSpinButtonControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinValue_idl__
+#include <com/sun/star/awt/XSpinValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a spin button control.
+
+ <p>The model of an <type>UnoControlSpinButton</type> control must support
+ the <type>UnoControlSpinButtonModel</type> service.
+ */
+service UnoControlSpinButton
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::XSpinValue;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
new file mode 100644
index 000000000000..cb55a369a15d
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlSpinButtonModel_idl__
+#define __com_sun_star_awt_UnoControlSpinButtonModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlSpinButton</type>.
+
+ <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
+ it's 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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type>ScrollBarOrientation</type> 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 behaviour, 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 <type>MouseWheelBehavior</type> constants, you can control under which circumstances
+ this is possible.</p>
+ */
+ [optional, property] short MouseWheelBehavior;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlThrobber.idl b/offapi/com/sun/star/awt/UnoControlThrobber.idl
new file mode 100644
index 000000000000..85b5d8b850f7
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlThrobber.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlThrobber_idl__
+#define __com_sun_star_awt_UnoControlThrobber_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XThrobber_idl__
+#include <com/sun/star/awt/XThrobber.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @since OOo 2.2
+ @deprecatd
+ You should use <type>AnimatedImagesControl</type>.
+ */
+published service UnoControlThrobber
+{
+ service com::sun::star::awt::UnoControl;
+ interface com::sun::star::awt::XThrobber;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl
new file mode 100644
index 000000000000..060ff105c119
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlThrobberModel_idl__
+#define __com_sun_star_awt_UnoControlThrobberModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @since OOo 2.2
+ @deprecatd
+ You should use <type>SpinningAnimationControlModel</type>.
+ */
+
+published service UnoControlThrobberModel
+{
+ service com::sun::star::awt::UnoControlModel;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlTimeField.idl b/offapi/com/sun/star/awt/UnoControlTimeField.idl
new file mode 100644
index 000000000000..310f0b9b9539
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlTimeField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoTimeFieldControl_idl__
+#define __com_sun_star_awt_UnoTimeFieldControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#include <com/sun/star/awt/XSpinField.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTimeField_idl__
+#include <com/sun/star/awt/XTimeField.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
new file mode 100644
index 000000000000..2673e152bb00
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
@@ -0,0 +1,271 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+#define __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the standard model of an <type>UnoControlTimeField</type>.
+ */
+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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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.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 behaviour, i.e.
+ repeatedly trigger an action when keeping pressed.
+
+ @since OOo 2.0.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.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.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] long 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] long TimeMax;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the minimum time that can be entered.
+ */
+ [property] long TimeMin;
+
+ /** denotes the writing mode used in the control, as specified in the
+ <type scope="com::sun::star::text">WritingMode2</type> constants group.
+
+ <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
+ <member scope="com::sun::star::text">WritingMode2::RL_TB</member> 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 <type>MouseWheelBehavior</type> 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 OpenOffice.org 3.3
+ */
+ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/VclContainerEvent.idl b/offapi/com/sun/star/awt/VclContainerEvent.idl
new file mode 100644
index 000000000000..2f4595e984e9
--- /dev/null
+++ b/offapi/com/sun/star/awt/VclContainerEvent.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_VclContainerEvent_idl__
+#define __com_sun_star_awt_VclContainerEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/VclWindowPeerAttribute.idl b/offapi/com/sun/star/awt/VclWindowPeerAttribute.idl
new file mode 100644
index 000000000000..db26e2811178
--- /dev/null
+++ b/offapi/com/sun/star/awt/VclWindowPeerAttribute.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 constands have to be disjunct with
+ constants in <type>WindowAttribute</type>.</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
diff --git a/offapi/com/sun/star/awt/VisualEffect.idl b/offapi/com/sun/star/awt/VisualEffect.idl
new file mode 100644
index 000000000000..a9c818bf1225
--- /dev/null
+++ b/offapi/com/sun/star/awt/VisualEffect.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/WindowAttribute.idl b/offapi/com/sun/star/awt/WindowAttribute.idl
new file mode 100644
index 000000000000..c8e7a29247b1
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowAttribute.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 constands have to be disjunct with
+ constants in <type>VclWindowPeerAttribute</type>.</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
+ <type scope="com::sun::star::awt::">XSystemDependentWindowPeer</type>
+ 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 <member>VclWindowPeerAttribute::HSCROLL</member>
+ */
+ const long SYSTEMDEPENDENT = 256;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies that the window should have no decoration.
+ */
+ const long NODECORATION = 512;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/WindowClass.idl b/offapi/com/sun/star/awt/WindowClass.idl
new file mode 100644
index 000000000000..d798cb3599cc
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowClass.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/awt/WindowDescriptor.idl b/offapi/com/sun/star/awt/WindowDescriptor.idl
new file mode 100644
index 000000000000..3ab2b89299c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowDescriptor.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_WindowDescriptor_idl__
+#define __com_sun_star_awt_WindowDescriptor_idl__
+
+#ifndef __com_sun_star_awt_WindowClass_idl__
+#include <com/sun/star/awt/WindowClass.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//=============================================================================
+
+ 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>simpleanimation</li>
+ <li>spinbutton</li>
+ <li>spinfield</li>
+ <li>throbber</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
+ <const scope="com::sun::star::awt">WindowAttribute::FULLSIZE</const>.</p>
+ */
+ com::sun::star::awt::Rectangle Bounds;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the window attributes.
+
+ <p>Use one value out of the constant group
+ <type scope="com::sun::star::awt">WindowAttribute</type>.</p>
+ */
+ long WindowAttributes;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/WindowEvent.idl b/offapi/com/sun/star/awt/WindowEvent.idl
new file mode 100644
index 000000000000..3b2ff710d8b4
--- /dev/null
+++ b/offapi/com/sun/star/awt/WindowEvent.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_WindowEvent_idl__
+#define __com_sun_star_awt_WindowEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 heigt 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 heigt of the bottom border.</p>
+ */
+ long BottomInset;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XActionListener.idl b/offapi/com/sun/star/awt/XActionListener.idl
new file mode 100644
index 000000000000..15dbc6110320
--- /dev/null
+++ b/offapi/com/sun/star/awt/XActionListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#define __com_sun_star_awt_XActionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_ActionEvent_idl__
+#include <com/sun/star/awt/ActionEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void actionPerformed( [in] com::sun::star::awt::ActionEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XActivateListener.idl b/offapi/com/sun/star/awt/XActivateListener.idl
new file mode 100644
index 000000000000..19a2a8f8ac71
--- /dev/null
+++ b/offapi/com/sun/star/awt/XActivateListener.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XActivateListener_idl__
+#define __com_sun_star_awt_XActivateListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 avtivated if a child or itself got the focus.</p>
+
+ @see XFocusListener::focusGained
+ */
+ [oneway] void windowActivated( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window is de-activated.
+
+ <p>A window is deavtivated if a child or itself lost the focus.</p>
+
+ @see XFocusListener::focusLost
+ */
+ [oneway] void windowDeactivated( [in] com::sun::star::lang::EventObject e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XAdjustmentListener.idl b/offapi/com/sun/star/awt/XAdjustmentListener.idl
new file mode 100644
index 000000000000..4e56f96170cf
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAdjustmentListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XAdjustmentListener_idl__
+#define __com_sun_star_awt_XAdjustmentListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_AdjustmentEvent_idl__
+#include <com/sun/star/awt/AdjustmentEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void adjustmentValueChanged( [in] com::sun::star::awt::AdjustmentEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XAnimatedImages.idl b/offapi/com/sun/star/awt/XAnimatedImages.idl
new file mode 100755
index 000000000000..a03d08c965f1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAnimatedImages.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>ImageScaleMode</type> 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 i_index
+ 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 <member>getImageSetCount</member>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>i_index</code> is not a valid index.
+ */
+ sequence< string >
+ getImageSet
+ (
+ [in] long i_index
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+ /** sets the URLs of the image set with the given index
+
+ @param i_index
+ 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 <member>getImageSetCount</member>.
+ @param i_imageURLs
+ the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>i_index</code> is not a valid index.
+ */
+ void
+ insertImageSet
+ (
+ [in] long i_index,
+ [in] sequence< string > i_imageURLs
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+ /** replaces the image set given by index with a new one
+
+ @param i_index
+ 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 <member>getImageSetCount</member>.
+
+ @param i_imageURLs
+ the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>i_index</code> is not a valid index.
+ */
+ void
+ replaceImageSet
+ (
+ [in] long i_index,
+ [in] sequence< string > i_imageURLs
+ )
+ raises
+ (
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ );
+
+
+ /** removes the image set with the given index
+
+ @param i_index
+ the index of the set to remove. Must be greater than or equal to <code>0</code>,
+ and smaller than the value returned by <member>getImageSetCount</member>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the <code>i_index</code> is not a valid index.
+ */
+ void
+ removeImageSet
+ (
+ [in] long i_index
+ )
+ 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
diff --git a/offapi/com/sun/star/awt/XAnimation.idl b/offapi/com/sun/star/awt/XAnimation.idl
new file mode 100755
index 000000000000..e1e8f6023a7d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XAnimation.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/XBitmap.idl b/offapi/com/sun/star/awt/XBitmap.idl
new file mode 100644
index 000000000000..e4a4cdfa8b6c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XBitmap.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#define __com_sun_star_awt_XBitmap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 transparence mask of the device independent bitmap.
+ */
+ sequence<byte> getMaskDIB();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XButton.idl b/offapi/com/sun/star/awt/XButton.idl
new file mode 100644
index 000000000000..47b24d757811
--- /dev/null
+++ b/offapi/com/sun/star/awt/XButton.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XButton_idl__
+#define __com_sun_star_awt_XButton_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters an event handler for button action events.
+ */
+ [oneway] void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the label of the button.
+ */
+ [oneway] void setLabel( [in] string Label );
+
+ //-------------------------------------------------------------------------
+
+ /** sets a command string for pushing the button.
+ */
+ [oneway] void setActionCommand( [in] string Command );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XCallback.idl b/offapi/com/sun/star/awt/XCallback.idl
new file mode 100644
index 000000000000..08c058cd51ed
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCallback.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XCallback_idl__
+#define __com_sun_star_awt_XCallback_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifices 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
diff --git a/offapi/com/sun/star/awt/XCheckBox.idl b/offapi/com/sun/star/awt/XCheckBox.idl
new file mode 100644
index 000000000000..0e1011d75294
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCheckBox.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XCheckBox_idl__
+#define __com_sun_star_awt_XCheckBox_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#include <com/sun/star/awt/XItemListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for item events.
+ */
+ [oneway] void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the state of the check box.
+ */
+ short getState();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the state of the check box.
+ */
+ [oneway] void setState( [in] short n );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the label of the check box.
+ */
+ [oneway] void setLabel( [in] string Label );
+
+ //-------------------------------------------------------------------------
+
+ /** enables or disables the tri state mode.
+ */
+ [oneway] void enableTriState( [in] boolean b );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XComboBox.idl b/offapi/com/sun/star/awt/XComboBox.idl
new file mode 100644
index 000000000000..b85b36a037d3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XComboBox.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XComboBox_idl__
+#define __com_sun_star_awt_XComboBox_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#include <com/sun/star/awt/XItemListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for item events.
+ */
+ [oneway] void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** registers a listener for action events.
+ */
+ [oneway] void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for action events.
+ */
+ [oneway] void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** adds an item at the specified position.
+ */
+ [oneway] void addItem( [in] string aItem, [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** adds multiple items at the specified position.
+ */
+ [oneway] void addItems( [in] sequence<string> aItems, [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a number of items at the specified position.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setDropDownLineCount( [in] short nLines );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl b/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl
new file mode 100644
index 000000000000..d1e2d725c02e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XContainerWindowEventHandler.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XContainerWindowEventHandler_idl__
+#define __com_sun_star_awt_XContainerWindowEventHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Handles events fired by windows represented by a
+ <type scope="com::sun::star::awt">XWindow</type> 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
+ <type scope="com::sun::star::awt">XContainerWindowProvider</type> 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
+ <type scope="com::sun::star::lang">EventObject</type>. 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
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ */
+ 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
diff --git a/offapi/com/sun/star/awt/XContainerWindowProvider.idl b/offapi/com/sun/star/awt/XContainerWindowProvider.idl
new file mode 100644
index 000000000000..1cea42d99a80
--- /dev/null
+++ b/offapi/com/sun/star/awt/XContainerWindowProvider.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XContainerWindowProvider_idl__
+#define __com_sun_star_awt_XContainerWindowProvider_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** provides container windows implementing the
+ <type scope="com::sun::star::awt">XWindow</type> 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 <type scope="com::sun::star::awt">XContainerWindowEventHandler</type>
+ 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
+ <type scope="com::sun::star::beans">Introspection</type>Introspection
+ service. To make this possible the handler implementation also has to
+ support <type scope="com::sun::star::lang">XTypeProvider</type>.
+
+ 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 vnd.sun.star.UNO:<HandlerMethodName> 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
+ <type scope="com::sun::star::awt">XContainerWindowEventHandler</type>.
+
+ 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 <type scope="com::sun::star::awt">XWindow</type> 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 <type scope="com::sun::star::awt">XContainerWindowEventHandler</type>
+
+ */
+ 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
diff --git a/offapi/com/sun/star/awt/XControl.idl b/offapi/com/sun/star/awt/XControl.idl
new file mode 100644
index 000000000000..ebc58f9967f3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControl.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XControl_idl__
+#define __com_sun_star_awt_XControl_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XToolkit_idl__
+#include <com/sun/star/awt/XToolkit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XView_idl__
+#include <com/sun/star/awt/XView.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member>XControl::createPeer</member> 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.
+ */
+ [oneway] 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>
+ */
+ [oneway] 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>
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/awt/XControlContainer.idl b/offapi/com/sun/star/awt/XControlContainer.idl
new file mode 100644
index 000000000000..938d4ca364a0
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControlContainer.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XControlContainer_idl__
+#define __com_sun_star_awt_XControlContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Provides access to the controls within an
+ <type>UnoControlContainer</type>.
+ */
+published interface XControlContainer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the status text in the status bar of the container.
+ */
+ [oneway] 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.
+ */
+ [oneway] void addControl( [in] string Name,
+ [in] com::sun::star::awt::XControl Control );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the given control from the container.
+ */
+ [oneway] void removeControl( [in] com::sun::star::awt::XControl Control );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XControlModel.idl b/offapi/com/sun/star/awt/XControlModel.idl
new file mode 100644
index 000000000000..a8e7c84b93d1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XControlModel.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#define __com_sun_star_awt_XControlModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** identifies a control model.
+ */
+published interface XControlModel: com::sun::star::uno::XInterface
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XCurrencyField.idl b/offapi/com/sun/star/awt/XCurrencyField.idl
new file mode 100644
index 000000000000..d1345bfc679b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XCurrencyField.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XCurrencyField_idl__
+#define __com_sun_star_awt_XCurrencyField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setSpinSize( [in] double Value );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set increment value for the spin button.
+ */
+ double getSpinSize();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the number of decimals.
+ */
+ [oneway] void setDecimalDigits( [in] short nDigits );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set number of decimals.
+ */
+ short getDecimalDigits();
+
+ //-------------------------------------------------------------------------
+
+ /** determines if the format is checked during user input.
+ */
+ [oneway] void setStrictFormat( [in] boolean bStrict );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XDataTransferProviderAccess.idl b/offapi/com/sun/star/awt/XDataTransferProviderAccess.idl
new file mode 100644
index 000000000000..8ce12873836a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDataTransferProviderAccess.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XDataTransferProviderAccess_idl__
+#define __com_sun_star_awt_XDataTransferProviderAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/awt/XDateField.idl b/offapi/com/sun/star/awt/XDateField.idl
new file mode 100644
index 000000000000..f7c0e3cc8f19
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDateField.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDateField_idl__
+#define __com_sun_star_awt_XDateField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+
+ <p>The date value must be specified in the format
+ YYYYMMDD.</p>
+ */
+ [oneway] void setDate( [in] long Date );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the date value which is currently displayed in the date field.
+ */
+ long getDate();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the minimum date value that can be entered by the user.
+ */
+ [oneway] void setMin( [in] long Date );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set minimum date value that can be entered by
+ the user.
+ */
+ long getMin();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the maximum date value that can be entered by the user.
+ */
+ [oneway] void setMax( [in] long Date );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set maximum date value that can be entered by
+ the user.
+ */
+ long getMax();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the first value to be set on POS1 key.
+ */
+ [oneway] void setFirst( [in] long Date );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ long getFirst();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the last value to be set on END key.
+ */
+ [oneway] void setLast( [in] long Date );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set last value which is set on END key.
+ */
+ long getLast();
+
+ //-------------------------------------------------------------------------
+
+ /** determines if the long date format is to be used.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setStrictFormat( [in] boolean bStrict );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XDevice.idl b/offapi/com/sun/star/awt/XDevice.idl
new file mode 100644
index 000000000000..9d05c05e5e2e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDevice.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDevice_idl__
+#define __com_sun_star_awt_XDevice_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_DeviceInfo_idl__
+#include <com/sun/star/awt/DeviceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XDialog.idl b/offapi/com/sun/star/awt/XDialog.idl
new file mode 100644
index 000000000000..831c80597070
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialog.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDialog_idl__
+#define __com_sun_star_awt_XDialog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setTitle( [in] string Title );
+
+ //-------------------------------------------------------------------------
+
+ /** gets the title of the dialog.
+ */
+ string getTitle();
+
+ //-------------------------------------------------------------------------
+
+ /** shows the dialog.
+ */
+ short execute();
+
+ //-------------------------------------------------------------------------
+
+ /** hides the dialog and then causes <member>XDialog::execute</member>
+ to return.
+ */
+ void endExecute();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XDialog2.idl b/offapi/com/sun/star/awt/XDialog2.idl
new file mode 100644
index 000000000000..fbc5313aeb47
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialog2.idl
@@ -0,0 +1,35 @@
+#ifndef __com_sun_star_awt_XDialog2_idl__
+#define __com_sun_star_awt_XDialog2_idl__
+
+#ifndef __com_sun_star_awt_XDialog_idl__
+#include <com/sun/star/awt/XDialog.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Makes it possible to end a dialog and set a help id.
+
+ @since OOo 3.0
+ */
+interface XDialog2: com::sun::star::awt::XDialog
+{
+ /** hides the dialog and then causes <member>XDialog::execute</member>
+ 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
diff --git a/offapi/com/sun/star/awt/XDialogEventHandler.idl b/offapi/com/sun/star/awt/XDialogEventHandler.idl
new file mode 100644
index 000000000000..206d71bb5dee
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogEventHandler.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XDialogEventHandler_idl__
+#define __com_sun_star_awt_XDialogEventHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XDialog_idl__
+#include <com/sun/star/awt/XDialog.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Handles events fired by dialogs represented by a
+ <type scope="com::sun::star::awt">XDialog</type> 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 <type scope="com::sun::star::awt">XDialogProvider2</type>
+ 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
+ <type scope="com::sun::star::lang">EventObject</type>. 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
+ <type scope="com::sun::star::lang">WrappedTargetException</type>.
+
+ */
+ 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
diff --git a/offapi/com/sun/star/awt/XDialogProvider.idl b/offapi/com/sun/star/awt/XDialogProvider.idl
new file mode 100644
index 000000000000..2ab873df16b6
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogProvider.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XDialogProvider_idl__
+#define __com_sun_star_awt_XDialogProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XDialog_idl__
+#include <com/sun/star/awt/XDialog.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** provides dialogs implementing the
+ <type scope="com::sun::star::awt">XDialog</type> 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 <type scope="com::sun::star::awt">XDialog</type> 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
diff --git a/offapi/com/sun/star/awt/XDialogProvider2.idl b/offapi/com/sun/star/awt/XDialogProvider2.idl
new file mode 100644
index 000000000000..c08508a58bfe
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDialogProvider2.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XDialogProvider2_idl__
+#define __com_sun_star_awt_XDialogProvider2_idl__
+
+#ifndef __com_sun_star_awt_XDialogProvider_idl__
+#include <com/sun/star/awt/XDialogProvider.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** provides dialogs implementing the
+ <type scope="com::sun::star::awt">XDialog</type> 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 <type scope="com::sun::star::awt">XDialogEventHandler</type> 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
+ <type scope="com::sun::star::beans">Introspection</type>Introspection
+ service. To make this possible the handler implementation also has to
+ support <type scope="com::sun::star::lang">XTypeProvider</type>.
+
+ 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 vnd.sun.star.UNO:<HandlerMethodName> 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
+ <type scope="com::sun::star::awt">XDialogEventHandler</type>.
+
+ 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 <type scope="com::sun::star::awt">XDialog</type> 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 <type scope="com::sun::star::awt">XDialogEventHandler</type>
+
+ */
+ 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 <type>XWindowPeer</type> interface,
+ or a component supporting the <type>XControl</type> interfac, 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
+ <member>createDialogWithHandler</member> 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
diff --git a/offapi/com/sun/star/awt/XDisplayBitmap.idl b/offapi/com/sun/star/awt/XDisplayBitmap.idl
new file mode 100644
index 000000000000..b7b8d0fc3757
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDisplayBitmap.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDisplayBitmap_idl__
+#define __com_sun_star_awt_XDisplayBitmap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XDisplayConnection.idl b/offapi/com/sun/star/awt/XDisplayConnection.idl
new file mode 100644
index 000000000000..6e038bfe2b3c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDisplayConnection.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XDisplayConnection_idl__
+#define __com_sun_star_awt_XDisplayConnection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void addEventHandler( [in] any window, [in] XEventHandler eventHandler, [in] long eventMask );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a eventHandler from the handler list.
+
+ @param window
+ the platform specific window id the handler should be deregistered for.
+ If empty, the handler should be deregistered completly.
+
+ @param eventHandler
+ the handler to remove.
+ */
+ [oneway] void removeEventHandler( [in] any window, [in] XEventHandler eventHandler );
+
+ //-------------------------------------------------------------------------
+
+ /** register an error handler for toolkit specific errors.
+
+ @param errorHandler
+ the handler to register.
+ */
+ [oneway] void addErrorHandler( [in] XEventHandler errorHandler );
+
+ //-------------------------------------------------------------------------
+
+ /** remover an error handler from the handler list.
+
+ @param errorHandler
+ the handler to remove.
+ */
+ [oneway] void removeErrorHandler( [in] XEventHandler errorhandler );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a identifier.
+
+ @returns a unique platform dependend identifier for a display connection.
+ */
+ any getIdentifier();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XDockableWindow.idl b/offapi/com/sun/star/awt/XDockableWindow.idl
new file mode 100644
index 000000000000..f50e8b558eb9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDockableWindow.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDockableWindow_idl__
+#define __com_sun_star_awt_XDockableWindow_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDockableWindowListener_idl__
+#include <com/sun/star/awt/XDockableWindowListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::awt">XDockableWindowListener</type> 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 <type scope="com::sun::star::awt">XDockableWindowListener</type> for
+ the corresponding events
+ @param WindowRect
+ specifies the position and size of the popup window in frame coordinates
+ */
+ void startPopupMode( [in] com::sun::star::awt::Rectangle WindowRect );
+
+ //-------------------------------------------------------------------------
+
+ /** queries the current popup mode
+ @returns
+ <TRUE/> if the window is in popup mode
+ <FALSE/> if the window is not in popup mode
+ */
+ boolean isInPopupMode();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XDockableWindowListener.idl b/offapi/com/sun/star/awt/XDockableWindowListener.idl
new file mode 100644
index 000000000000..3a328993f170
--- /dev/null
+++ b/offapi/com/sun/star/awt/XDockableWindowListener.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XDockableWindowListener_idl__
+#define __com_sun_star_awt_XDockableWindowListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_awt_DockingData_idl__
+#include <com/sun/star/awt/DockingData.idl>
+#endif
+#ifndef __com_sun_star_awt_EndDockingEvent_idl__
+#include <com/sun/star/awt/EndDockingEvent.idl>
+#endif
+#ifndef __com_sun_star_awt_DockingEvent_idl__
+#include <com/sun/star/awt/DockingEvent.idl>
+#endif
+#ifndef __com_sun_star_awt_EndPopupModeEvent_idl__
+#include <com/sun/star/awt/EndPopupModeEvent.idl>
+#endif
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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 popupmode and wants to be undocked
+ or closed
+ */
+ void endPopupMode( [in] com::sun::star::awt::EndPopupModeEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
new file mode 100644
index 000000000000..547bab7c6efc
--- /dev/null
+++ b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XEnhancedMouseClickHandler_idl__
+#define __com_sun_star_awt_XEnhancedMouseClickHandler_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_EnhancedMouseEvent_idl__
+#include <com/sun/star/awt/EnhancedMouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** makes it possible to receive enhanced events from the mouse.
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/awt/XEventHandler.idl b/offapi/com/sun/star/awt/XEventHandler.idl
new file mode 100644
index 000000000000..223973b8f59c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XEventHandler.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XEventHandler_idl__
+#define __com_sun_star_awt_XEventHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ dependend event.
+
+ @returns <TRUE/> if the event was handled properly and no further
+ handling should take place, <FALSE/> otherwise.
+
+ @param event
+ the platform dependend event.
+ */
+ boolean handleEvent( [in] any event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XExtendedToolkit.idl b/offapi/com/sun/star/awt/XExtendedToolkit.idl
new file mode 100755
index 000000000000..0cb4cff2c800
--- /dev/null
+++ b/offapi/com/sun/star/awt/XExtendedToolkit.idl
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XExtendedToolkit_idl__
+#define __com_sun_star_awt_XExtendedToolkit_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindow_idl__
+#include <com/sun/star/awt/XTopWindow.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindowListener_idl__
+#include <com/sun/star/awt/XTopWindowListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#include <com/sun/star/awt/XKeyHandler.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** The <type>XExtendedToolkit</type> is an extension of the <type
+ scope="::com::sun::star::awt">XToolkit</type> 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 <member>XExtendedToolkit::getTopWindowCount</member> and
+ <member>XExtendedToolkit::getTopWindow</member> 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
+ <member>getTopWindowCount()</member> and successive calls to this
+ function.
+ @param nIndex
+ The index should be in the intervall from 0 up to but not
+ including the number of top-level windows as returned by
+ <member>getTopWindowCount()</member>.
+ @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 <type
+ scope="::com::sun::star::awt">XTopWindow</type>s. After having
+ obtained the current list of exisiting 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeTopWindowListener (
+ [in] ::com::sun::star::awt::XTopWindowListener xListener);
+
+ //-------------------------------------------------------------------------
+
+ /** Add a new listener that is called on <type
+ scope="::com::sun::star::awt">KeyEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+ //-------------------------------------------------------------------------
+
+ /** Add a new listener that is called on <type
+ scope="::com::sun::star::awt">FocusEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] 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
+ <type scope="com::sun::star::accessibility">XAccessible</type>.
+ */
+ [oneway] 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
+ <type scope="com::sun::star::accessibility">XAccessible</type>.
+ */
+ [oneway] void fireFocusLost (
+ [in] ::com::sun::star::uno::XInterface source);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XFileDialog.idl b/offapi/com/sun/star/awt/XFileDialog.idl
new file mode 100644
index 000000000000..b9fe07c9e472
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFileDialog.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XFileDialog_idl__
+#define __com_sun_star_awt_XFileDialog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setPath( [in] string Path );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the path.
+ */
+ string getPath();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the filters.
+ */
+ [oneway] void setFilters( [in] sequence<string> rFilterNames,
+ [in] sequence<string> rMasks );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the current filter.
+ */
+ [oneway] void setCurrentFilter( [in] string Filter );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently selected filter.
+ */
+ string getCurrentFilter();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XFixedHyperlink.idl b/offapi/com/sun/star/awt/XFixedHyperlink.idl
new file mode 100644
index 000000000000..9fb6965b6e4a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFixedHyperlink.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XFixedHyperlink_idl__
+#define __com_sun_star_awt_XFixedHyperlink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setText( [in] string Text );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the text of the control.
+ */
+ string getText();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the url of the control.
+ */
+ [oneway] 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>
+ */
+ [oneway] void setAlignment( [in] short nAlign );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the alignment of the text in the control.
+ */
+ short getAlignment();
+
+ //-------------------------------------------------------------------------
+
+ /** registers an event handler for click action event.
+ */
+ [oneway] void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters an event handler for click action event.
+ */
+ [oneway] void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/awt/XFixedText.idl b/offapi/com/sun/star/awt/XFixedText.idl
new file mode 100644
index 000000000000..55b3202e7173
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFixedText.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XFixedText_idl__
+#define __com_sun_star_awt_XFixedText_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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>
+ */
+ [oneway] void setAlignment( [in] short nAlign );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the alignment of the text in the control.
+ */
+ short getAlignment();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XFocusListener.idl b/offapi/com/sun/star/awt/XFocusListener.idl
new file mode 100644
index 000000000000..fc45be62aa07
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFocusListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#define __com_sun_star_awt_XFocusListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FocusEvent_idl__
+#include <com/sun/star/awt/FocusEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ */
+ [oneway] void focusGained( [in] com::sun::star::awt::FocusEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window loses the keyboard focus.
+
+ @see XActivateListener::windowDeactivated
+ */
+ [oneway] void focusLost( [in] com::sun::star::awt::FocusEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XFont.idl b/offapi/com/sun/star/awt/XFont.idl
new file mode 100644
index 000000000000..54df687ca1e2
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFont.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XFont_idl__
+#define __com_sun_star_awt_XFont_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_SimpleFontMetric_idl__
+#include <com/sun/star/awt/SimpleFontMetric.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** decribes 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 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
diff --git a/offapi/com/sun/star/awt/XFont2.idl b/offapi/com/sun/star/awt/XFont2.idl
new file mode 100644
index 000000000000..b67e8f2c1dee
--- /dev/null
+++ b/offapi/com/sun/star/awt/XFont2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XFont2_idl__
+#define __com_sun_star_awt_XFont2_idl__
+
+#ifndef __com_sun_star_awt_XFont_idl__
+#include <com/sun/star/awt/XFont.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** extends the <type>XFont</type> 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
diff --git a/offapi/com/sun/star/awt/XGraphics.idl b/offapi/com/sun/star/awt/XGraphics.idl
new file mode 100644
index 000000000000..2b6b63a26b2e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XGraphics.idl
@@ -0,0 +1,321 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XGraphics_idl__
+#define __com_sun_star_awt_XGraphics_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_SimpleFontMetric_idl__
+#include <com/sun/star/awt/SimpleFontMetric.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_RasterOperation_idl__
+#include <com/sun/star/awt/RasterOperation.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Gradient_idl__
+#include <com/sun/star/awt/Gradient.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setFont( [in] XFont xNewFont );
+
+ //-------------------------------------------------------------------------
+
+ /** creates a new font and sets the font.
+ */
+ [oneway] void selectFont( [in] FontDescriptor aDescription );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the text color used by text operations.
+ */
+ [oneway] void setTextColor( [in] com::sun::star::util::Color nColor );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the fill color used by text operations.
+ */
+ [oneway] void setTextFillColor( [in] com::sun::star::util::Color nColor );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the line color.
+ */
+ [oneway] void setLineColor( [in] com::sun::star::util::Color nColor );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the fill color.
+ */
+ [oneway] 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>
+ */
+ [oneway] void setRasterOp( [in] RasterOperation ROP );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the clip region to specified clipping.
+ */
+ [oneway] void setClipRegion( [in] XRegion Clipping );
+
+ //-------------------------------------------------------------------------
+
+ /** builds the intersection with the current region.
+ */
+ [oneway] void intersectClipRegion( [in] XRegion xClipping );
+
+ //-------------------------------------------------------------------------
+
+ /** saves all current settings (Font, TextColor, TextFillColor,
+ LineColor, FillColor, RasterOp, ClipRegion).
+ */
+ [oneway] void push();
+
+ //-------------------------------------------------------------------------
+
+ /** restores all previous saved settings.
+ */
+ [oneway] void pop();
+
+ //-------------------------------------------------------------------------
+
+ /** copies a rectangle of pixels from another device into this one.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void drawPixel( [in] long X,
+ [in] long Y );
+
+ //-------------------------------------------------------------------------
+
+ /** draws a line in the output device.
+ */
+ [oneway] void drawLine( [in] long X1,
+ [in] long Y1,
+ [in] long X2,
+ [in] long Y2 );
+
+ //-------------------------------------------------------------------------
+
+ /** draws a rectangle in the output device.
+ */
+ [oneway] void drawRect( [in] long X,
+ [in] long Y,
+ [in] long Width,
+ [in] long Height );
+
+ //-------------------------------------------------------------------------
+
+ /** draws a rectangle with rounded corners in the output device.
+ */
+ [oneway] 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.
+ */
+ [oneway] void drawPolyLine( [in] sequence<long> DataX,
+ [in] sequence<long> DataY );
+
+ //-------------------------------------------------------------------------
+
+ /** draws a polygon line in the output device.
+ */
+ [oneway] void drawPolygon( [in] sequence<long> DataX,
+ [in] sequence<long> DataY );
+
+ //-------------------------------------------------------------------------
+
+ /** draws multiple polygons in the output device at once.
+ */
+ [oneway] void drawPolyPolygon( [in] sequence< sequence<long> > DataX,
+ [in] sequence< sequence<long> > DataY );
+
+ //-------------------------------------------------------------------------
+
+ /** draws an ellipse in the output device.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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>
+ */
+ [oneway] 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.
+ */
+ [oneway] void drawGradient( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long Height,
+ [in] Gradient aGradient );
+
+ //-------------------------------------------------------------------------
+
+ /** draws text in the output device.
+ */
+ [oneway] void drawText( [in] long X,
+ [in] long Y,
+ [in] string Text );
+
+ //-------------------------------------------------------------------------
+
+ /** draws texts in the output device using an explicit kerning table.
+ */
+ [oneway] void drawTextArray( [in] long X,
+ [in] long Y,
+ [in] string Text,
+ [in] sequence<long> Longs );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XImageButton.idl b/offapi/com/sun/star/awt/XImageButton.idl
new file mode 100644
index 000000000000..e3676b50711d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageButton.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XImageButton_idl__
+#define __com_sun_star_awt_XImageButton_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for action events.
+ */
+ [oneway] void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the action command string.
+ */
+ [oneway] void setActionCommand( [in] string Command );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XImageConsumer.idl b/offapi/com/sun/star/awt/XImageConsumer.idl
new file mode 100644
index 000000000000..60c1223be42a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageConsumer.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XImageConsumer_idl__
+#define __com_sun_star_awt_XImageConsumer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void init( [in] long Width,
+ [in] long Height );
+
+ //-------------------------------------------------------------------------
+
+ /** changes color model for next pixels
+ typically called once after initialization.
+ */
+ [oneway] 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 <atom>long</atom> 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>
+ */
+ [oneway] 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 <atom>byte</atom> 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>
+ */
+ [oneway] 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>
+ */
+ [oneway] void complete( [in] long Status,
+ [in] XImageProducer xProducer );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XImageProducer.idl b/offapi/com/sun/star/awt/XImageProducer.idl
new file mode 100644
index 000000000000..0dc15218012c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageProducer.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XImageProducer_idl__
+#define __com_sun_star_awt_XImageProducer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XImageConsumer_idl__
+#include <com/sun/star/awt/XImageConsumer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XImageConsumer</type>
+ interface immediately, or when the next available image reconstruction
+ is triggered by a call to the startProduction method.</p>
+ */
+ [oneway] void addConsumer( [in] com::sun::star::awt::XImageConsumer xConsumer );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the given <type scope="com::sun::star::awt">XImageConsumer</type>
+ 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>
+ */
+ [oneway] 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>
+ */
+ [oneway] void startProduction();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XInfoPrinter.idl b/offapi/com/sun/star/awt/XInfoPrinter.idl
new file mode 100644
index 000000000000..71afa45e0bc1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XInfoPrinter.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XInfoPrinter_idl__
+#define __com_sun_star_awt_XInfoPrinter_idl__
+
+#ifndef __com_sun_star_awt_XPrinterPropertySet_idl__
+#include <com/sun/star/awt/XPrinterPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDevice_idl__
+#include <com/sun/star/awt/XDevice.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XDevice</type>.
+
+ <p>The current settings are used as a template.</p>
+ */
+ com::sun::star::awt::XDevice createDevice();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XItemEventBroadcaster.idl b/offapi/com/sun/star/awt/XItemEventBroadcaster.idl
new file mode 100644
index 000000000000..ca4bb0727f91
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemEventBroadcaster.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XItemEventBroadcaster_idl__
+#define __com_sun_star_awt_XItemEventBroadcaster_idl__
+
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#include <com/sun/star/awt/XItemListener.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for item events.
+ */
+ [oneway] void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XItemList.idl b/offapi/com/sun/star/awt/XItemList.idl
new file mode 100644
index 000000000000..6419ea94d0b0
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemList.idl
@@ -0,0 +1,286 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_awt_XItemList_idl__
+#define __offapi_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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 dependend 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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 <member>ItemCount</member>.
+
+ @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 dependend value associated with the given list item.
+ @see setItemData
+
+ @param Position
+ the position of the item whose data value should be retrieved. Must be greater or equal to 0, and
+ lesser than <member>ItemCount</member>.
+
+ @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
diff --git a/offapi/com/sun/star/awt/XItemListListener.idl b/offapi/com/sun/star/awt/XItemListListener.idl
new file mode 100644
index 000000000000..d41d8b104a02
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemListListener.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_awt_XItemListListener_idl__
+#define __offapi_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 a 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
+ <member>XItemList::removeAllItems</member>
+ */
+ void allItemsRemoved(
+ [in] ::com::sun::star::lang::EventObject Event
+ );
+
+ /** is called when the changes to the item list which occured 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 <type>XItemList</type>'s current state.</p>
+ */
+ void itemListChanged(
+ [in] ::com::sun::star::lang::EventObject Event
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/awt/XItemListener.idl b/offapi/com/sun/star/awt/XItemListener.idl
new file mode 100644
index 000000000000..ccb7b90ab773
--- /dev/null
+++ b/offapi/com/sun/star/awt/XItemListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#define __com_sun_star_awt_XItemListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_ItemEvent_idl__
+#include <com/sun/star/awt/ItemEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void itemStateChanged( [in] com::sun::star::awt::ItemEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XKeyHandler.idl b/offapi/com/sun/star/awt/XKeyHandler.idl
new file mode 100644
index 000000000000..dba9f36f8318
--- /dev/null
+++ b/offapi/com/sun/star/awt/XKeyHandler.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#define __com_sun_star_awt_XKeyHandler_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+
+module com { module sun { module star { module awt {
+
+/** This key handler is similar to <type
+ scope="::com::sun::star::awt">XKeyListener</type> 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 <type
+ scope="::com::sun::star::awt">XExtendedToolkit</type> 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 beeing 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 <type
+ scope="::com::sun::star::awt">XExtendedToolkit</type> 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 mutualy 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
diff --git a/offapi/com/sun/star/awt/XKeyListener.idl b/offapi/com/sun/star/awt/XKeyListener.idl
new file mode 100644
index 000000000000..299cfddb9ad3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XKeyListener.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XKeyListener_idl__
+#define __com_sun_star_awt_XKeyListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** makes it possible to receive keyboard events.
+ */
+published interface XKeyListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a key has been pressed.
+ */
+ [oneway] void keyPressed( [in] com::sun::star::awt::KeyEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a key has been released.
+ */
+ [oneway] void keyReleased( [in] com::sun::star::awt::KeyEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XLayoutConstrains.idl b/offapi/com/sun/star/awt/XLayoutConstrains.idl
new file mode 100644
index 000000000000..c715d1b7d5d8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutConstrains.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#define __com_sun_star_awt_XLayoutConstrains_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XLayoutContainer.idl b/offapi/com/sun/star/awt/XLayoutContainer.idl
new file mode 100644
index 000000000000..46711f551af6
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutContainer.idl
@@ -0,0 +1,89 @@
+#ifndef __com_sun_star_awt_XLayoutContainer_idl__
+#define __com_sun_star_awt_XLayoutContainer_idl__
+
+#ifndef __com_sun_star_awt_XLayoutConstrains_idl__
+#include <com/sun/star/awt/XLayoutConstrains.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+#ifndef __com_sun_star_awt_MaxChildrenException_idl__
+#include <com/sun/star/awt/MaxChildrenException.idl>
+#endif
+#ifndef __com_sun_star_awt_XLayoutUnit_idl__
+#include <com/sun/star/awt/XLayoutUnit.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+interface XLayoutUnit;
+
+/** specifies the layout constraints for a surrounding container.
+
+ @since OOo 3.0
+ */
+interface XLayoutContainer: com::sun::star::container::XChild
+{
+ /** Adds a child. Some containers provide an interface for
+ adding children which you should use. */
+ void addChild( [in] com::sun::star::awt::XLayoutConstrains Child )
+ raises( com::sun::star::awt::MaxChildrenException );
+
+ /** Remove a child. Some containers provide an interface for
+ adding children which you should use.
+ */
+ void removeChild( [in] com::sun::star::awt::XLayoutConstrains Child );
+
+ /** Returns a sequence of the children of this container. */
+ sequence< com::sun::star::awt::XLayoutConstrains > getChildren();
+
+ /** Read/modify some child layout properties. XPropertySet provides a
+ rich API that allows, e.g., for introspection.
+ Should rarely be a need to use; containers shall provide an interface
+ for setting properties more confortably. */
+ com::sun::star::beans::XPropertySet getChildProperties(
+ [in] com::sun::star::awt::XLayoutConstrains Child );
+
+ /** Set at initilization, this object should be notified when a containers state
+ changes, that may affect its size, to queue a layout re-calculation. */
+ void setLayoutUnit( [in] com::sun::star::awt::XLayoutUnit Unit );
+
+ // TEMP: no need for this...
+ com::sun::star::awt::XLayoutUnit getLayoutUnit();
+
+ /** To be used by the parent for the purpose of layout management.
+ For widgets, use XWindow::setPosSize() */
+ void allocateArea( [in] com::sun::star::awt::Rectangle NewArea );
+
+ /** Used by the layouting unit to evaluate size damage, and force a
+ re-allocation. */
+ com::sun::star::awt::Size getRequestedSize();
+
+ /** Used by the layouting unit to evaluate size damage, and force a
+ re-allocation. */
+ com::sun::star::awt::Rectangle getAllocatedArea();
+
+ /** For flow layouting (e.g. wrap-able labels). TODO: We might want to
+ re-design this approach -- check XLayoutConstrains::calcAdjustedSize(). */
+ long getHeightForWidth( [in] long Width );
+
+ /** For flow layouting (e.g. wrap-able labels). TODO: We might want to
+ re-design this approach -- check XLayoutConstrains::calcAdjustedSize(). */
+ boolean hasHeightForWidth();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XLayoutFlow.idl b/offapi/com/sun/star/awt/XLayoutFlow.idl
new file mode 100644
index 000000000000..1ec260aeab83
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutFlow.idl
@@ -0,0 +1,32 @@
+#ifndef __com_sun_star_awt_XLayoutFlow_idl__
+#define __com_sun_star_awt_XLayoutFlow_idl__
+
+//=============================================================================
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Enables height-for-width layout negociations, which allows for label wrapping
+ and flow containers. Can be implemented by either a container or an ordinary widget;
+ whether its parent will honor it is another story, so keep implementing
+ getMinimumSize().
+
+ @since OOo 3.0
+ */
+interface XLayoutFlow
+{
+ /** returns the prefered high this layout element would need for the given width. */
+ long getHeightForWidth( [in] long Width );
+
+ /** Allow the container/widget to toggle the functionality. */
+ boolean hasHeightForWidth();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XLayoutFlowContainer.idl b/offapi/com/sun/star/awt/XLayoutFlowContainer.idl
new file mode 100644
index 000000000000..45685964d488
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutFlowContainer.idl
@@ -0,0 +1,27 @@
+#ifndef __com_sun_star_awt_XLayoutUnit_idl__
+#define __com_sun_star_awt_XLayoutUnit_idl__
+
+#include <com/sun/star/awt/XLayoutContainer.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** Responsible to evaluate size damages and force a re-calculation. Containers
+ should let it know of state changes that may affects their size.
+ All children of a top-level window should share the same object.
+
+ @since OOo 3.0
+ */
+interface XLayoutContainer
+{
+ void queueResize( [in] com::sun::star::awt::XLayoutContainer Container );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XLayoutRoot.idl b/offapi/com/sun/star/awt/XLayoutRoot.idl
new file mode 100644
index 000000000000..3234f15e13cf
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutRoot.idl
@@ -0,0 +1,33 @@
+#ifndef __com_sun_star_awt_XLayoutRoot_idl__
+#define __com_sun_star_awt_XLayoutRoot_idl__
+
+#ifndef __com_sun_star_awt_XLayoutContainer_idl__
+#include <com/sun/star/awt/XLayoutContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies an interface for a top-level layoutable widget
+
+ @since OOo 3.0
+*/
+interface XLayoutRoot: com::sun::star::container::XNameAccess
+{
+ com::sun::star::awt::XLayoutContainer getLayoutContainer();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XLayoutUnit.idl b/offapi/com/sun/star/awt/XLayoutUnit.idl
new file mode 100644
index 000000000000..cc3581ae4aa3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XLayoutUnit.idl
@@ -0,0 +1,31 @@
+#ifndef __com_sun_star_awt_XLayoutUnit_idl__
+#define __com_sun_star_awt_XLayoutUnit_idl__
+
+#ifndef __com_sun_star_awt_XLayoutContainer_idl__
+#include <com/sun/star/awt/XLayoutContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+interface XLayoutContainer;
+
+/** Responsible to evaluate size damages and force a re-calculation. Containers
+ should let it know of state changes that may affects their size.
+ All children of a top-level window should share the same object.
+
+ @since OOo 3.0
+ */
+interface XLayoutUnit
+{
+ void queueResize( [in] com::sun::star::awt::XLayoutContainer Container );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XListBox.idl b/offapi/com/sun/star/awt/XListBox.idl
new file mode 100644
index 000000000000..32b458d62a2f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XListBox.idl
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XListBox_idl__
+#define __com_sun_star_awt_XListBox_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#include <com/sun/star/awt/XItemListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for item events.
+ */
+ [oneway] void removeItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** registers a listener for action events.
+ */
+ [oneway] void addActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for action events.
+ */
+ [oneway] void removeActionListener( [in] com::sun::star::awt::XActionListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** adds an item at the specified position.
+ */
+ [oneway] void addItem( [in] string aItem,
+ [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** adds multiple items at the specified position.
+ */
+ [oneway] void addItems( [in] sequence<string> aItems,
+ [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a number of items at the specified position.
+ */
+ [oneway] 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.
+ */
+ short getSelectedItemPos();
+
+ //-------------------------------------------------------------------------
+
+ /** returns the positions of all currently selected items.
+ */
+ sequence<short> getSelectedItemsPos();
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently selected item.
+ */
+ string getSelectedItem();
+
+ //-------------------------------------------------------------------------
+
+ /** returns all currently selected items.
+ */
+ sequence<string> getSelectedItems();
+
+ //-------------------------------------------------------------------------
+
+ /** selects/deselects the item at the specified position.
+ */
+ [oneway] void selectItemPos( [in] short nPos,
+ [in] boolean bSelect );
+
+ //-------------------------------------------------------------------------
+
+ /** selects/deselects multiple items at the specified positions.
+ */
+ [oneway] void selectItemsPos( [in] sequence<short> aPositions,
+ [in] boolean bSelect );
+
+ //-------------------------------------------------------------------------
+
+ /** selects/deselects the specified item.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setDropDownLineCount( [in] short nLines );
+
+ //-------------------------------------------------------------------------
+
+ /** makes the item at the specified position visible by scrolling.
+ */
+ [oneway] void makeVisible( [in] short nEntry );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenu.idl b/offapi/com/sun/star/awt/XMenu.idl
new file mode 100644
index 000000000000..f9ebc738f18f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenu.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenu_idl__
+#define __com_sun_star_awt_XMenu_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addMenuListener( [in] XMenuListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified menu listener so that it no longer
+ receives events from this menu.
+ */
+ [oneway] 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
+ <code>getItemCount()</code> or if it is negative.</p>
+ */
+ [oneway] void insertItem( [in] short nItemId,
+ [in] string aText,
+ [in] short nItemStyle,
+ [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** removes one or more items from the menu.
+ */
+ [oneway] void removeItem( [in] short nPos,
+ [in] short nCount );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the number of items in the menu.
+ */
+ short getItemCount();
+
+ //-------------------------------------------------------------------------
+
+ /** returns the id of the item at the specified position.
+ */
+ short getItemId( [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the position of the item with the specified id.
+ */
+ short getItemPos( [in] short nId );
+
+ //-------------------------------------------------------------------------
+
+ /** enables or disables the menu item.
+ */
+ [oneway] void enableItem( [in] short nItemId,
+ [in] boolean bEnable );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the state of the menu item.
+ */
+ boolean isItemEnabled( [in] short nItemId );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the text for the menu item.
+ */
+ [oneway] void setItemText( [in] short nItemId,
+ [in] string aText );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the string for the given item id.
+ */
+ string getItemText( [in] short nItemId );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the popup menu for a specified menu item.
+ */
+ [oneway] void setPopupMenu( [in] short nItemId,
+ [in] XPopupMenu aPopupMenu );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the popup menu from the menu item.
+ */
+ XPopupMenu getPopupMenu( [in] short nItemId );
+
+};
+
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenuBar.idl b/offapi/com/sun/star/awt/XMenuBar.idl
new file mode 100644
index 000000000000..40d92b9f0b80
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuBar.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#define __com_sun_star_awt_XMenuBar_idl__
+
+#ifndef __com_sun_star_awt_XMenu_idl__
+#include <com/sun/star/awt/XMenu.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** identifies a menu bar.
+ */
+published interface XMenuBar: com::sun::star::awt::XMenu
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenuBarExtended.idl b/offapi/com/sun/star/awt/XMenuBarExtended.idl
new file mode 100755
index 000000000000..97fbbb39f7a9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuBarExtended.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenuBarExtended_idl__
+#define __com_sun_star_awt_XMenuBarExtended_idl__
+
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#include <com/sun/star/awt/XMenuBar.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuExtended2_idl__
+#include <com/sun/star/awt/XMenuExtended2.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+ interface XMenuBarButtonListener;
+
+//=============================================================================
+
+/** multiple-inheritance interface designed to ease the use of all functions
+ available for a <type scope="com::sun::star::awt">MenuBar</type>.
+
+ @since OOo 3.1
+ */
+ interface XMenuBarExtended
+{
+ interface com::sun::star::awt::XMenuExtended2;
+ interface com::sun::star::awt::XMenuBar;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenuExtended.idl b/offapi/com/sun/star/awt/XMenuExtended.idl
new file mode 100644
index 000000000000..ba850ca5d416
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuExtended.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenuExtended_idl__
+#define __com_sun_star_awt_XMenuExtended_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+/** specifies extended menu functions.
+ */
+
+interface XMenuExtended: com::sun::star::uno::XInterface
+{
+ /** 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.
+ */
+ 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 aHelp );
+
+ /** retrieves the help command string for the menu item.
+
+ @param nItemId
+ specifies the menu item ID for which the help command should be set.
+ */
+ string getHelpCommand( [in] short nItemId );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenuExtended2.idl b/offapi/com/sun/star/awt/XMenuExtended2.idl
new file mode 100755
index 000000000000..adba6816a9e8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuExtended2.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenuExtended2_idl__
+#define __com_sun_star_awt_XMenuExtended2_idl__
+
+#ifndef __com_sun_star_awt_XMenu_idl__
+#include <com/sun/star/awt/XMenu.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuExtended_idl__
+#include <com/sun/star/awt/XMenuExtended.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MenuItemType_idl__
+#include <com/sun/star/awt/MenuItemType.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+/** specifies extended menu functions.
+ */
+
+interface XMenuExtended2
+{
+ /** specifies some extended menu functions, like setting a command URL and a help command for a menu item.<br>
+ These functions are available for both menu bar and popup menu.
+ */
+ interface com::sun::star::awt::XMenuExtended;
+
+ /** specifies basic menu functions.
+ */
+ interface com::sun::star::awt::XMenu;
+
+
+ //=========================================================================
+
+ /** checks whether an <type>XMenu</type> is an <type>XPopupMenu</type>.
+
+ @return
+ <TRUE/> if the menu is a <type>PopupMenu</type>, <FALSE/> if it is a <type>MenuBar</type>.
+ */
+ boolean isPopupMenu();
+
+ //.........................................................................
+
+ /** removes all items from the menu.
+ */
+ void clear();
+
+ //.........................................................................
+
+ /** retrieves the type of the menu item.
+
+ @param nItemPos
+ specifies the position of the menu item for which the item type is queried.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item in the position specified in <var>nItemPos</var>.
+
+ @see MenuItemType
+ */
+ ::com::sun::star::awt::MenuItemType getItemType( [in] short nItemPos )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //.........................................................................
+
+ /** specifies whether disabled menu entries should be hidden, or not.
+
+ @param bHide
+ if <TRUE/>, disabled menu entries are hidden.
+
+ @see
+ <member scope="com::sun::star::awt">XMenu::enableItem()</member>
+ */
+ void hideDisabledEntries( [in] boolean bHide );
+
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMenuListener.idl b/offapi/com/sun/star/awt/XMenuListener.idl
new file mode 100644
index 000000000000..12f713f83fb4
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMenuListener.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMenuListener_idl__
+#define __com_sun_star_awt_XMenuListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MenuEvent_idl__
+#include <com/sun/star/awt/MenuEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void highlight( [in] com::sun::star::awt::MenuEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a menu item is selected.
+ */
+ [oneway] void select( [in] com::sun::star::awt::MenuEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a menu is activated.
+ */
+ [oneway] void activate( [in] com::sun::star::awt::MenuEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a menu is deactivated.
+ */
+ [oneway] void deactivate( [in] com::sun::star::awt::MenuEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMessageBox.idl b/offapi/com/sun/star/awt/XMessageBox.idl
new file mode 100644
index 000000000000..e10984a42f01
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMessageBox.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMessageBox_idl__
+#define __com_sun_star_awt_XMessageBox_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** gives access to a message box.
+
+ @deprecated
+ */
+published interface XMessageBox: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the caption text.
+ */
+ [oneway] void setCaptionText( [in] string aText );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the caption text.
+ */
+ string getCaptionText();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the message text.
+ */
+ [oneway] void setMessageText( [in] string aText );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the message text.
+ */
+ string getMessageText();
+
+ //-------------------------------------------------------------------------
+
+ /** shows the message box.
+ */
+ short execute();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMessageBoxFactory.idl b/offapi/com/sun/star/awt/XMessageBoxFactory.idl
new file mode 100644
index 000000000000..67898a19f17a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMessageBoxFactory.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XMessageBoxFactory_idl__
+#define __com_sun_star_awt_XMessageBoxFactory_idl__
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMessageBox_idl__
+#include <com/sun/star/awt/XMessageBox.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MessageBoxButtons_idl__
+#include <com/sun/star/awt/MessageBoxButtons.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//=============================================================================
+
+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. This parameter
+ must not be null.
+
+ @param aPosSize
+ a rectangle which defines the position and size of the message
+ box in pixel.
+
+ @param aType
+ a string which determines the message box type.
+ The following strings are defined.
+ <ul>
+ <li><b>infobox</b>A message box to inform the user about a certain event.
+ <b>Attention:</b><br/>This type of message box ignores the argument
+ aButton because a info box always shows a OK button.
+ </li>
+ <li><b>warningbox</b>A message to warn the user about a certain problem.</li>
+ <li><b>errorbox</b>A message box to provide an error message to the user.</li>
+ <li><b>querybox</b>A message box to query information from the user.</li>
+ <li><b>messbox</b>A normal message box.</li>
+ </ul>
+
+ @param aButtons
+ specifies which buttons should be available on the
+ message box. A combination of
+ <type scope="com::sun::star::awt">MessageBoxButtons</type>. An <b>infobox</b>
+ ignores this paramter and always use button "OK".
+
+ @param aTitle
+ specifies the title of the message box.
+
+ @param aMessage
+ 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] com::sun::star::awt::Rectangle aPosSize, [in] string aType, [in] long aButtons, [in] string aTitle, [in] string aMessage );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMetricField.idl b/offapi/com/sun/star/awt/XMetricField.idl
new file mode 100644
index 000000000000..5bc6a7da40e2
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMetricField.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMetricField_idl__
+#define __com_sun_star_awt_XMetricField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_util_MeasureUnit_idl__
+#include <com/sun/star/util/MeasureUnit.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XMouseClickHandler.idl b/offapi/com/sun/star/awt/XMouseClickHandler.idl
new file mode 100644
index 000000000000..ad98f9012cba
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseClickHandler.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMouseClickHandler_idl__
+#define __com_sun_star_awt_XMouseClickHandler_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/awt/XMouseListener.idl b/offapi/com/sun/star/awt/XMouseListener.idl
new file mode 100644
index 000000000000..d89f1e910fde
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseListener.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMouseListener_idl__
+#define __com_sun_star_awt_XMouseListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** makes it possible to receive events from the mouse in a certain window.
+ */
+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 popup 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 <member>mousePressed</member> indicating
+ the mouse click, and another one indicating the context menu request. For
+ the latter, the <member>MouseEvent::PopupTrigger</member> member of the
+ event will be set to <TRUE/>.</p>
+ */
+ [oneway] void mousePressed( [in] com::sun::star::awt::MouseEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a mouse button has been released on a window.
+ */
+ [oneway] void mouseReleased( [in] com::sun::star::awt::MouseEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the mouse enters a window.
+ */
+ [oneway] void mouseEntered( [in] com::sun::star::awt::MouseEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the mouse exits a window.
+ */
+ [oneway] void mouseExited( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XMouseMotionHandler.idl b/offapi/com/sun/star/awt/XMouseMotionHandler.idl
new file mode 100644
index 000000000000..541419711036
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseMotionHandler.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMouseMotionHandler_idl__
+#define __com_sun_star_awt_XMouseMotionHandler_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XMouseMotionListener.idl b/offapi/com/sun/star/awt/XMouseMotionListener.idl
new file mode 100644
index 000000000000..66f2bf8bd9db
--- /dev/null
+++ b/offapi/com/sun/star/awt/XMouseMotionListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XMouseMotionListener_idl__
+#define __com_sun_star_awt_XMouseMotionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 button has been moved on a window
+ (with no buttons down).
+ */
+ void mouseMoved( [in] com::sun::star::awt::MouseEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XNumericField.idl b/offapi/com/sun/star/awt/XNumericField.idl
new file mode 100644
index 000000000000..f07131c453b1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XNumericField.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XNumericField_idl__
+#define __com_sun_star_awt_XNumericField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setSpinSize( [in] double Value );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set increment value for the spin button.
+ */
+ double getSpinSize();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the number of decimals.
+ */
+ [oneway] void setDecimalDigits( [in] short nDigits );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set number of decimals.
+ */
+ short getDecimalDigits();
+
+ //-------------------------------------------------------------------------
+
+ /** determines if the format is checked during user input.
+ */
+ [oneway] void setStrictFormat( [in] boolean bStrict );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPaintListener.idl b/offapi/com/sun/star/awt/XPaintListener.idl
new file mode 100644
index 000000000000..95874a5d6e10
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPaintListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPaintListener_idl__
+#define __com_sun_star_awt_XPaintListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_PaintEvent_idl__
+#include <com/sun/star/awt/PaintEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void windowPaint( [in] com::sun::star::awt::PaintEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPatternField.idl b/offapi/com/sun/star/awt/XPatternField.idl
new file mode 100644
index 000000000000..2db8433f8e57
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPatternField.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPatternField_idl__
+#define __com_sun_star_awt_XPatternField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setStrictFormat( [in] boolean bStrict );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPointer.idl b/offapi/com/sun/star/awt/XPointer.idl
new file mode 100644
index 000000000000..63e5f99944d9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPointer.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPointer_idl__
+#define __com_sun_star_awt_XPointer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>SystemPointer</type> for this mouse pointer.
+ */
+ [oneway] void setType( [in] long nType );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set <type>SystemPointer</type> of this mouse
+ pointer.
+ */
+ long getType();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPopupMenu.idl b/offapi/com/sun/star/awt/XPopupMenu.idl
new file mode 100644
index 000000000000..62280d4c6c89
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPopupMenu.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#define __com_sun_star_awt_XPopupMenu_idl__
+
+#ifndef __com_sun_star_awt_XMenu_idl__
+#include <com/sun/star/awt/XMenu.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+ published interface XWindowPeer;
+
+//=============================================================================
+
+/** controls a popup menu.
+ */
+published interface XPopupMenu: XMenu
+{
+ //-------------------------------------------------------------------------
+
+ /** inserts a separator at the specified position.
+ */
+ [oneway] void insertSeparator( [in] short nPos );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the menu default item.
+ */
+ [oneway] void setDefaultItem( [in] short nItemId );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the menu default item.
+ */
+ short getDefaultItem();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the state of the item to be checked or unchecked.
+ */
+ [oneway] void checkItem( [in] short nItemId,
+ [in] boolean bCheck );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the item is checked or unchecked.
+ */
+ boolean isItemChecked( [in] short nItemId );
+
+ //-------------------------------------------------------------------------
+
+ /** executes the popup menu and returns the selected item
+ or <code>0</code>, if cancelled.
+ */
+ short execute( [in] XWindowPeer Parent,
+ [in] Rectangle Area,
+ [in] short Direction );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPopupMenuExtended.idl b/offapi/com/sun/star/awt/XPopupMenuExtended.idl
new file mode 100755
index 000000000000..ecec10fad8ea
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPopupMenuExtended.idl
@@ -0,0 +1,361 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPopupMenuExtended_idl__
+#define __com_sun_star_awt_XPopupMenuExtended_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#include <com/sun/star/awt/XPopupMenu.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuExtended2_idl__
+#include <com/sun/star/awt/XMenuExtended2.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MenuLogo_idl__
+#include <com/sun/star/awt/MenuLogo.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+/** specifies extended functions for a <type scope="com::sun::star::awt">PopupMenu</type>.
+
+ @since OOo 3.1
+ */
+interface XPopupMenuExtended
+{
+ /** specifies basic functions for a popup menu.
+ */
+ interface ::com::sun::star::awt::XPopupMenu;
+
+ /** specifies extended menu functions, available for both
+ <type scope="com::sun::star::awt">MenuBar</type> and
+ <type scope="com::sun::star::awt">PopupMenu</type>.
+ */
+ interface ::com::sun::star::awt::XMenuExtended2;
+
+ //=========================================================================
+
+ /** queries if the <type scope="com::sun::star::awt">PopupMenu</type>
+ is being executed as a result of invoking
+ <member scope="com::sun::star::awt">XPopupMenu::execute()</member>; that is,
+ for a <type>PopupMenu</type> activated by a <type>MenuBar</type> item,
+ this methods returns <FALSE/>.
+
+ @return
+ <TRUE/> if the <type scope="com::sun::star::awt">PopupMenu</type>
+ is being executed, <FALSE/> otherwise.
+
+ @see <member scope="com::sun::star::awt">XPopupMenu::execute()</member>
+
+ @since OOo 3.1
+ */
+ boolean isInExecute();
+
+ /** ends the execution of the <type scope="com::sun::star::awt">PopupMenu</type>.
+ <member scope="com::sun::star::awt">XPopupMenu::execute()</member> will then return 0.
+
+ @see <member scope="com::sun::star::awt">XPopupMenu::execute()</member>
+
+ @since OOo 3.1
+ */
+ void endExecute();
+
+ //=============================================================================
+
+ /** sets the <type>MenuLogo</type> for this <type>PopupMenu</type>.
+
+ @param aMenuLogo
+ the <type>MenuLogo</type>.
+
+ @since OOo 3.1
+ */
+ void setLogo( [in] ::com::sun::star::awt::MenuLogo aMenuLogo );
+
+ /** retrieves the <type>MenuLogo</type> for this <type>PopupMenu</type>.
+
+ @return
+ the <type>MenuLogo</type>.
+
+ @since OOo 3.1
+ */
+ ::com::sun::star::awt::MenuLogo getLogo();
+
+
+ //=========================================================================
+
+
+ /** 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 <type>KeyEvent</type> for the menu item.
+
+ <p>The <type>KeyEvent</type> 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 (typicaly done via <type>XUserInputInterception</type>),
+ and dispatch the respective command.</p>
+
+ @param nItemId
+ specifies the menu item identifier for which the <type>KeyEvent</type> should be set.
+
+ @param aKeyEvent
+ specifies the <type>KeyEvent</type> for the menu item.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setAcceleratorKeyEvent( [in] short nItemId, [in] ::com::sun::star::awt::KeyEvent aKeyEvent )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** retrieves the <type>KeyEvent</type> for the menu item.
+
+ <p>The <type>KeyEvent</type> is <b>only</b> used as a container to transport
+ the shortcut information, so that in this case
+ <member scope="::com::sun::star::lang::">EventObject::Source</member> is <NULL/>.</p>
+
+ @param nItemId
+ specifies the menu item identifier for which the <type>KeyEvent</type> should be retrieved.
+
+ @return
+ the <type>KeyEvent</type> struct assigned to the requested menu item.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ ::com::sun::star::awt::KeyEvent getAcceleratorKeyEvent( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //=============================================================================
+
+ /** 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.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setHelpText( [in] short nItemId, [in] string sHelpText )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** 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.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ string getHelpText( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //=============================================================================
+
+ /** 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.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setTipHelpText( [in] short nItemId, [in] string sTipHelpText )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** 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.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ string getTipHelpText( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //=============================================================================
+
+ /** 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.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setItemImage( [in] short nItemId,
+ [in] ::com::sun::star::graphic::XGraphic xGraphic,
+ [in] boolean bScale )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** retrieves the image for the menu item.
+
+ @param nItemId
+ specifies the menu item identifier for which the image should be retrieved.
+
+ @return
+ a <type scope="::com::sun::star::graphic::">XGraphic</type> reference
+ to the current image for the requested menu item.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ ::com::sun::star::graphic::XGraphic getItemImage( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //.............................................................................
+
+
+ /** sets the rotation angle of a menu item image.
+
+ @param nItemId
+ specifies the menu item identifier for which the image angle should be set.
+
+ @param nAngle
+ specifies the rotation angle for the menu item image.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setItemImageAngle( [in] short nItemId, [in] long nAngle )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** retrieves the rotation angle of a menu item image.
+
+ @param nItemId
+ specifies the menu item identifier for which the rotation angle should be retrieved.
+
+ @return the rotation angle of the menu item image, or 0 if it has no rotation.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ long getItemImageAngle( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ //.............................................................................
+
+ /** sets the mirror mode of a menu item image.
+
+ @param nItemId
+ specifies the menu item identifier for which the mirror mode should be set.
+
+ @param bMirror
+ if <TRUE/>, the item image is mirrored.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ void setItemImageMirrorMode( [in] short nItemId, [in] boolean bMirror )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+ /** indicates whether the menu item image is mirrored.
+
+ @param nItemId
+ specifies the menu item identifier for which the image mirror mode should be checked.
+
+ @return <TRUE/> if the item image is mirrored, <FALSE/> otherwise.
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if there is no menu item with the identifier specified in <var>nItemId</var>.
+
+ @since OOo 3.1
+ */
+ boolean isItemImageInMirrorMode( [in] short nItemId )
+ raises ( ::com::sun::star::container::NoSuchElementException );
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XPrinter.idl b/offapi/com/sun/star/awt/XPrinter.idl
new file mode 100644
index 000000000000..4b600ad4ab01
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinter.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPrinter_idl__
+#define __com_sun_star_awt_XPrinter_idl__
+
+#ifndef __com_sun_star_awt_XPrinterPropertySet_idl__
+#include <com/sun/star/awt/XPrinterPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_awt_PrinterException_idl__
+#include <com/sun/star/awt/PrinterException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDevice_idl__
+#include <com/sun/star/awt/XDevice.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member scope="com::sun::star::awt">XPrinter::startPage</member> and a call
+ to <member scope="com::sun::star::awt">XPrinter::endPage</member>,
+ a <type scope="com::sun::star::beans">PropertyVetoException</type> 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
+ <member scope="com::sun::star::awt">XPrinter::end</member>
+ is called beforehand, then this call does nothing. If you call
+ <member scope="com::sun::star::awt">XPrinter::terminate</member>
+ in or before the call to
+ <member scope="com::sun::star::awt">XPrinter::start</member>,
+ <member scope="com::sun::star::awt">XPrinter::terminate</member>
+ 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
diff --git a/offapi/com/sun/star/awt/XPrinterPropertySet.idl b/offapi/com/sun/star/awt/XPrinterPropertySet.idl
new file mode 100644
index 000000000000..9dde4b077fe6
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinterPropertySet.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPrinterPropertySet_idl__
+#define __com_sun_star_awt_XPrinterPropertySet_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member scope="com::sun::star::awt">XPrinter::startPage</member>
+ and <member scope="com::sun::star::awt">XPrinter::endPage</member>, a
+ <type scope="com::sun::star::beans">PropertyVetoException</type>
+ 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
diff --git a/offapi/com/sun/star/awt/XPrinterServer.idl b/offapi/com/sun/star/awt/XPrinterServer.idl
new file mode 100644
index 000000000000..275590e3e665
--- /dev/null
+++ b/offapi/com/sun/star/awt/XPrinterServer.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XPrinterServer_idl__
+#define __com_sun_star_awt_XPrinterServer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XPrinter_idl__
+#include <com/sun/star/awt/XPrinter.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XInfoPrinter_idl__
+#include <com/sun/star/awt/XInfoPrinter.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member scope="com::sun::star::awt">XPrinter::start</member>
+ 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
diff --git a/offapi/com/sun/star/awt/XProgressBar.idl b/offapi/com/sun/star/awt/XProgressBar.idl
new file mode 100644
index 000000000000..6107c1211105
--- /dev/null
+++ b/offapi/com/sun/star/awt/XProgressBar.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XProgressBar_idl__
+#define __com_sun_star_awt_XProgressBar_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setForegroundColor( [in] com::sun::star::util::Color Color );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the background color (RGB) of the control.
+ */
+ [oneway] 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>
+ */
+ [oneway] void setRange( [in] long Min,
+ [in] long Max );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the progress value of the progress bar.
+ */
+ [oneway] void setValue( [in] long Value );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the current progress value of the progress bar.
+ */
+ long getValue();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XProgressMonitor.idl b/offapi/com/sun/star/awt/XProgressMonitor.idl
new file mode 100644
index 000000000000..74cda157a017
--- /dev/null
+++ b/offapi/com/sun/star/awt/XProgressMonitor.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XProgressMonitor_idl__
+#define __com_sun_star_awt_XProgressMonitor_idl__
+
+#ifndef __com_sun_star_awt_XProgressBar_idl__
+#include <com/sun/star/awt/XProgressBar.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addText ( [in] string Topic, [in] string Text, [in] boolean beforeProgress ) ;
+
+ //-------------------------------------------------------------------------
+
+ /** removes a text line from the control.
+ */
+ [oneway] void removeText ( [in] string Topic, [in] boolean beforeProgress ) ;
+
+ //-------------------------------------------------------------------------
+
+ /** updates an existing text line at the control.
+ */
+ [oneway] void updateText ( [in] string Topic, [in] string Text, [in] boolean beforeProgress ) ;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XRadioButton.idl b/offapi/com/sun/star/awt/XRadioButton.idl
new file mode 100644
index 000000000000..18a05a9cb5fe
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRadioButton.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XRadioButton_idl__
+#define __com_sun_star_awt_XRadioButton_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemListener_idl__
+#include <com/sun/star/awt/XItemListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addItemListener( [in] com::sun::star::awt::XItemListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for item events.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setState( [in] boolean b );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the label of the radio button.
+ */
+ [oneway] void setLabel( [in] string Label );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XRegion.idl b/offapi/com/sun/star/awt/XRegion.idl
new file mode 100644
index 000000000000..eabc39ac6697
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRegion.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XRegion_idl__
+#define __com_sun_star_awt_XRegion_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void clear();
+
+ //-------------------------------------------------------------------------
+
+ /** moves this region by the specified horizontal and vertical delta.
+ */
+ [oneway] void move( [in] long nHorzMove,
+ [in] long nVertMove );
+
+ //-------------------------------------------------------------------------
+
+ /** adds the specified rectangle to this region.
+ */
+ [oneway] void unionRectangle( [in] Rectangle Rect );
+
+ //-------------------------------------------------------------------------
+
+ /** intersects the specified rectangle with the current region.
+ */
+ [oneway] void intersectRectangle( [in] Rectangle Region );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the area of the specified rectangle from this region.
+ */
+ [oneway] void excludeRectangle( [in] Rectangle Rect );
+
+ //-------------------------------------------------------------------------
+
+ /** applies an exclusive-or operation with the specified rectangle
+ to this region.
+ */
+ [oneway] void xOrRectangle( [in] Rectangle Rect );
+
+ //-------------------------------------------------------------------------
+
+ /** adds the specified region to this region.
+ */
+ [oneway] void unionRegion( [in] XRegion Region );
+
+ //-------------------------------------------------------------------------
+
+ /** intersects the specified region with the current region.
+ */
+ [oneway] void intersectRegion( [in] XRegion Region );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the area of the specified region from this region.
+ */
+ [oneway] void excludeRegion( [in] XRegion Region );
+
+ //-------------------------------------------------------------------------
+
+ /** applies an exclusive-or operation with the specified region
+ to this region.
+ */
+ [oneway] void xOrRegion( [in] XRegion Region );
+
+ //-------------------------------------------------------------------------
+
+ /** returns all rectangles which are making up this region.
+ */
+ sequence<Rectangle> getRectangles();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XRequestCallback.idl b/offapi/com/sun/star/awt/XRequestCallback.idl
new file mode 100644
index 000000000000..7d89f0138683
--- /dev/null
+++ b/offapi/com/sun/star/awt/XRequestCallback.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XRequestCallback_idl__
+#define __com_sun_star_awt_XRequestCallback_idl__
+
+#ifndef __com_sun_star_awt_XCallback_idl__
+#include <com/sun/star/awt/XCallback.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifices 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
diff --git a/offapi/com/sun/star/awt/XReschedule.idl b/offapi/com/sun/star/awt/XReschedule.idl
new file mode 100644
index 000000000000..7aaff1830b41
--- /dev/null
+++ b/offapi/com/sun/star/awt/XReschedule.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XReschedule_idl__
+#define __com_sun_star_awt_XReschedulet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** The <type>XReschedule</type> 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
diff --git a/offapi/com/sun/star/awt/XScrollBar.idl b/offapi/com/sun/star/awt/XScrollBar.idl
new file mode 100644
index 000000000000..d5b0f2060582
--- /dev/null
+++ b/offapi/com/sun/star/awt/XScrollBar.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XScrollBar_idl__
+#define __com_sun_star_awt_XScrollBar_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XAdjustmentListener_idl__
+#include <com/sun/star/awt/XAdjustmentListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters an adjustment event listener.
+ */
+ [oneway] void removeAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the scroll value of the scroll bar.
+ */
+ [oneway] void setValue( [in] long n );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the scroll value, visible area and maximum scroll value
+ of the scoll bar.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setLineIncrement( [in] long n );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set increment for a single line move.
+ */
+ long getLineIncrement();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the increment for a block move.
+ */
+ [oneway] void setBlockIncrement( [in] long n );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set increment for a block move.
+ */
+ long getBlockIncrement();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the visible size of the scroll bar.
+ */
+ [oneway] void setVisibleSize( [in] long n );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently visible size of the scroll bar.
+ */
+ long getVisibleSize();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the <type>ScrollBarOrientation</type> of the scroll bar.
+ */
+ [oneway] void setOrientation( [in] long n );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set <type>ScrollBarOrientation</type> of the
+ scroll bar.
+ */
+ long getOrientation();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSimpleAnimation.idl b/offapi/com/sun/star/awt/XSimpleAnimation.idl
new file mode 100755
index 000000000000..bff9eeeb5a90
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSimpleAnimation.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSimpleAnimation_idl__
+#define __com_sun_star_awt_XSimpleAnimation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @deprecated
+ You should use <type>XAnimation</type>, <type>AnimatedImagesControl</type>, and <type>AnimatedImagesControlModel</type>.
+ */
+published interface XSimpleAnimation: com::sun::star::uno::XInterface
+{
+ void start();
+ void stop();
+ void setImageList( [in] sequence < com::sun::star::graphic::XGraphic > ImageList );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSimpleTabController.idl b/offapi/com/sun/star/awt/XSimpleTabController.idl
new file mode 100644
index 000000000000..0688a1d08018
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSimpleTabController.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSimpleTabController_idl__
+#define __com_sun_star_awt_XSimpleTabController_idl__
+
+#ifndef __com_sun_star_awt_XTabListener_idl__
+#include <com/sun/star/awt/XTabListener.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+ 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 an unique ID,
+ which can be used further to adress this tab by using other methods
+ of this interface.
+
+ @return [long
+ an 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 isnt used inside this tab controller.
+ */
+ void removeTab( [in] long ID )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** change some properties of the specified tab.
+
+ @descr 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 isnt 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 isnt 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.
+
+ @descr The new tab will be activated and all listener will get an event describing this.
+ Of course there will be an event too, which notify's 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 isnt 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.
+
+ @eturn [long]
+ the ID of the active tab.
+ */
+ long getActiveTabID();
+
+ //-------------------------------------------------------------------------
+ /** register listener for inserting/removing tab's and changing her properties.
+
+ @param Listener
+ the listener for registration.
+ */
+ void addTabListener( [in] XTabListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** deregister listener for inserting/removing tab's and changing her properties.
+
+ @param Listener
+ the listener for deregistration.
+ */
+ void removeTabListener( [in] XTabListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSpinField.idl b/offapi/com/sun/star/awt/XSpinField.idl
new file mode 100644
index 000000000000..580472c8372f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinField.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSpinField_idl__
+#define __com_sun_star_awt_XSpinField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XSpinListener_idl__
+#include <com/sun/star/awt/XSpinListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addSpinListener( [in] com::sun::star::awt::XSpinListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a listener for spin events.
+ */
+ [oneway] void removeSpinListener( [in] com::sun::star::awt::XSpinListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** increases the value by one step.
+ */
+ [oneway] void up();
+
+ //-------------------------------------------------------------------------
+
+ /** decreases the value by one step.
+ */
+ [oneway] void down();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the value to the previously set lower value.
+ */
+ [oneway] void first();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the value to the previously set upper value.
+ */
+ [oneway] void last();
+
+ //-------------------------------------------------------------------------
+
+ /** enables/disables automatic repeat mode.
+ */
+ [oneway] void enableRepeat( [in] boolean bRepeat );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSpinListener.idl b/offapi/com/sun/star/awt/XSpinListener.idl
new file mode 100644
index 000000000000..05446c42d29e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinListener.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSpinListener_idl__
+#define __com_sun_star_awt_XSpinListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_SpinEvent_idl__
+#include <com/sun/star/awt/SpinEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void up( [in] com::sun::star::awt::SpinEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the spin field is spun down.
+ */
+ [oneway] void down( [in] com::sun::star::awt::SpinEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the spin field is set to the lower value.
+ */
+ [oneway] void first( [in] com::sun::star::awt::SpinEvent rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the spin field is set to the upper value.
+ */
+ [oneway] void last( [in] com::sun::star::awt::SpinEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSpinValue.idl b/offapi/com/sun/star/awt/XSpinValue.idl
new file mode 100644
index 000000000000..be02f115a2c2
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSpinValue.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSpinValue_idl__
+#define __com_sun_star_awt_XSpinValue_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XAdjustmentListener_idl__
+#include <com/sun/star/awt/XAdjustmentListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener listener );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters an adjustment event listener.
+ */
+ [oneway] void removeAdjustmentListener( [in] com::sun::star::awt::XAdjustmentListener listener );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the current value of the control
+ */
+ [oneway] void setValue( [in] long value );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the value and value range of the control
+
+ @see setValue
+ @see setMinimum
+ @see setMaximum
+ */
+ [oneway] 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
+ */
+ [oneway] void setMinimum( [in] long minValue );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the maximum value which can be set on the control
+ */
+ [oneway] 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.
+ */
+ [oneway] 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 <type>ScrollBarOrientation</type> 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
diff --git a/offapi/com/sun/star/awt/XStyleChangeListener.idl b/offapi/com/sun/star/awt/XStyleChangeListener.idl
new file mode 100644
index 000000000000..819f211a737f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleChangeListener.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/XStyleSettings.idl b/offapi/com/sun/star/awt/XStyleSettings.idl
new file mode 100644
index 000000000000..67c3bba7d8f1
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleSettings.idl
@@ -0,0 +1,239 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 dialog elements displaying some info text
+ [attribute] ::com::sun::star::util::Color InfoTextColor;
+
+ /// 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 dialog elements displaying some info text
+ [attribute] FontDescriptor InfoFont;
+
+ /// 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
diff --git a/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl b/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl
new file mode 100644
index 000000000000..cb60994ff894
--- /dev/null
+++ b/offapi/com/sun/star/awt/XStyleSettingsSupplier.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/awt/XSystemChildFactory.idl b/offapi/com/sun/star/awt/XSystemChildFactory.idl
new file mode 100644
index 000000000000..d55fa005c4b2
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemChildFactory.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XSystemChildFactory_idl__
+#define __com_sun_star_awt_XSystemChildFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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 sytem-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>
+
+ OS2: HWND.<BR>
+ MAC: Not supported.<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
+ <type scope="com::sun::star::lang">SystemDependent</type>.
+ */
+ XWindowPeer createSystemChild( [in] any Parent, [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl b/offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl
new file mode 100644
index 000000000000..6ac9cce707b0
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemDependentMenuPeer.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSystemDependentMenuPeer_idl__
+#define __com_sun_star_awt_XSystemDependentMenuPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 sytem-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
+ <type scope="com::sun::star::lang">SystemDependent</type>.
+ */
+ any getMenuHandle( [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl b/offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl
new file mode 100644
index 000000000000..29fae21d88a6
--- /dev/null
+++ b/offapi/com/sun/star/awt/XSystemDependentWindowPeer.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XSystemDependentWindowPeer_idl__
+#define __com_sun_star_awt_XSystemDependentWindowPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 sytem-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>
+
+ OS2: Returns an HWND if possible, otherwise 0.<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
+ <type scope="com::sun::star::lang">SystemDependent</type>.
+ */
+ any getWindowHandle( [in] sequence< byte > ProcessId, [in] short SystemType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTabController.idl b/offapi/com/sun/star/awt/XTabController.idl
new file mode 100644
index 000000000000..c5d36ed8238f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabController.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTabController_idl__
+#define __com_sun_star_awt_XTabController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlContainer_idl__
+#include <com/sun/star/awt/XControlContainer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setModel( [in] com::sun::star::awt::XTabControllerModel Model );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the tab controller model.
+ */
+ com::sun::star::awt::XTabControllerModel getModel();
+
+ //-------------------------------------------------------------------------
+
+ /** set the control container.
+ */
+ [oneway] 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.
+ */
+ [oneway] void autoTabOrder();
+
+ //-------------------------------------------------------------------------
+
+ /** activates tab order.
+ */
+ [oneway] void activateTabOrder();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the focus to the first control that can be reached with the
+ TAB key.
+ */
+ [oneway] void activateFirst();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the focus to the last control that can be reached with the
+ TAB key.
+ */
+ [oneway] void activateLast();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTabControllerModel.idl b/offapi/com/sun/star/awt/XTabControllerModel.idl
new file mode 100644
index 000000000000..275a72d379ed
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabControllerModel.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#define __com_sun_star_awt_XTabControllerModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setGroupControl( [in] boolean GroupControl );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the control models.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/awt/XTabListener.idl b/offapi/com/sun/star/awt/XTabListener.idl
new file mode 100644
index 000000000000..e7018bb284af
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTabListener.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTabListener_idl__
+#define __com_sun_star_awt_XTabListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+ 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 it's 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 becames the new active state.
+ */
+ void deactivated( [in] long ID );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTextArea.idl b/offapi/com/sun/star/awt/XTextArea.idl
new file mode 100644
index 000000000000..051a74901303
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextArea.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTextArea_idl__
+#define __com_sun_star_awt_XTextArea_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/awt/XTextComponent.idl b/offapi/com/sun/star/awt/XTextComponent.idl
new file mode 100644
index 000000000000..92bbc8e8d219
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextComponent.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTextComponent_idl__
+#define __com_sun_star_awt_XTextComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTextListener_idl__
+#include <com/sun/star/awt/XTextListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Selection_idl__
+#include <com/sun/star/awt/Selection.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void addTextListener( [in] com::sun::star::awt::XTextListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters a text event listener.
+ */
+ [oneway] void removeTextListener( [in] com::sun::star::awt::XTextListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the text of the component.
+ */
+ [oneway] void setText( [in] string aText );
+
+ //-------------------------------------------------------------------------
+
+ /** inserts text at the specified position.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setEditable( [in] boolean bEditable );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the maximum text length.
+ */
+ [oneway] void setMaxTextLen( [in] short nLen );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set maximum text length.
+ */
+ short getMaxTextLen();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTextEditField.idl b/offapi/com/sun/star/awt/XTextEditField.idl
new file mode 100644
index 000000000000..b2898a72c6c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextEditField.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTextEditField_idl__
+#define __com_sun_star_awt_XTextEditField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setEchoChar( [in] char cEcho );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTextLayoutConstrains.idl b/offapi/com/sun/star/awt/XTextLayoutConstrains.idl
new file mode 100644
index 000000000000..642d525afe42
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextLayoutConstrains.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTextLayoutConstrains_idl__
+#define __com_sun_star_awt_XTextLayoutConstrains_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies the layout contstraints 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
diff --git a/offapi/com/sun/star/awt/XTextListener.idl b/offapi/com/sun/star/awt/XTextListener.idl
new file mode 100644
index 000000000000..cd476068b1ef
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTextListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTextListener_idl__
+#define __com_sun_star_awt_XTextListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_TextEvent_idl__
+#include <com/sun/star/awt/TextEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void textChanged( [in] com::sun::star::awt::TextEvent rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XThrobber.idl b/offapi/com/sun/star/awt/XThrobber.idl
new file mode 100644
index 000000000000..04dc6887cbe9
--- /dev/null
+++ b/offapi/com/sun/star/awt/XThrobber.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XThrobber_idl__
+#define __com_sun_star_awt_XThrobber_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/**
+ @deprecatd
+ You should use <type>XAnimation</type>, <type>AnimatedImagesControl</type>, and <type>AnimatedImagesControlModel</type>.
+ */
+published interface XThrobber: com::sun::star::uno::XInterface
+{
+ void start();
+ void stop();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTimeField.idl b/offapi/com/sun/star/awt/XTimeField.idl
new file mode 100644
index 000000000000..d2efddd4fa2b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTimeField.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTimeField_idl__
+#define __com_sun_star_awt_XTimeField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+
+ <p>The time value must be specified in the format HHMMSShh,
+ where HH are hours, MM are minutes, SS are seconds and hh are
+ hundredth seconds.</p>
+ */
+ [oneway] void setTime( [in] long Time );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the time value which is currently displayed in the time field.
+ */
+ long getTime();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the minimum time value that can be entered by the user.
+ */
+ [oneway] void setMin( [in] long Time );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set minimum time value that can be entered by
+ the user.
+ */
+ long getMin();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the maximum time value that can be entered by the user.
+ */
+ [oneway] void setMax( [in] long Time );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set maximum time value that can be entered by
+ the user.
+ */
+ long getMax();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the first value to be set on POS1 key.
+ */
+ [oneway] void setFirst( [in] long Time );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set first value which is set on POS1 key.
+ */
+ long getFirst();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the last value to be set on END key.
+ */
+ [oneway] void setLast( [in] long Time );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the currently set last value which is set on END key.
+ */
+ long 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.
+ */
+ [oneway] void setStrictFormat( [in] boolean bStrict );
+
+ //-------------------------------------------------------------------------
+
+ /** returns whether the format is currently checked during user input.
+ */
+ boolean isStrictFormat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XToggleButton.idl b/offapi/com/sun/star/awt/XToggleButton.idl
new file mode 100644
index 000000000000..447eebd5806c
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToggleButton.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XToggleButton_idl__
+#define __com_sun_star_awt_XToggleButton_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XItemEventBroadcaster_idl__
+#include <com/sun/star/awt/XItemEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XItemListener</type> instances.</p>
+ */
+interface XToggleButton: XItemEventBroadcaster
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XToolkit.idl b/offapi/com/sun/star/awt/XToolkit.idl
new file mode 100644
index 000000000000..c92d928403ce
--- /dev/null
+++ b/offapi/com/sun/star/awt/XToolkit.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XToolkit_idl__
+#define __com_sun_star_awt_XToolkit_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_WindowDescriptor_idl__
+#include <com/sun/star/awt/WindowDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDevice_idl__
+#include <com/sun/star/awt/XDevice.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XRegion_idl__
+#include <com/sun/star/awt/XRegion.idl>
+#endif
+
+
+//=============================================================================
+
+ 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();
+
+ //-------------------------------------------------------------------------
+
+ /** returns the complete work area for this toolkit.
+ */
+ 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
diff --git a/offapi/com/sun/star/awt/XTopWindow.idl b/offapi/com/sun/star/awt/XTopWindow.idl
new file mode 100644
index 000000000000..e74fc7e7ae7a
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindow.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTopWindow_idl__
+#define __com_sun_star_awt_XTopWindow_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindowListener_idl__
+#include <com/sun/star/awt/XTopWindowListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#include <com/sun/star/awt/XMenuBar.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void toFront();
+
+ //-------------------------------------------------------------------------
+
+ /** places this window at the bottom of the stacking order and
+ makes the corresponding adjustment to other visible windows.
+ */
+ [oneway] void toBack();
+
+ //-------------------------------------------------------------------------
+
+ /** sets a menu bar.
+ */
+ [oneway] void setMenuBar( [in] com::sun::star::awt::XMenuBar xMenu );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XTopWindow2.idl b/offapi/com/sun/star/awt/XTopWindow2.idl
new file mode 100644
index 000000000000..d06d1273bad8
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindow2.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/awt/XTopWindowListener.idl b/offapi/com/sun/star/awt/XTopWindowListener.idl
new file mode 100644
index 000000000000..cf78ff343839
--- /dev/null
+++ b/offapi/com/sun/star/awt/XTopWindowListener.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XTopWindowListener_idl__
+#define __com_sun_star_awt_XTopWindowListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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>
+ */
+ [oneway] void windowClosing( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window has been closed.
+ */
+ [oneway] void windowClosed( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window is iconified.
+ */
+ [oneway] void windowMinimized( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window is de-iconified.
+ */
+ [oneway] void windowNormalized( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window is activated.
+ */
+ [oneway] void windowActivated( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window is de-activated.
+ */
+ [oneway] void windowDeactivated( [in] com::sun::star::lang::EventObject e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XUnitConversion.idl b/offapi/com/sun/star/awt/XUnitConversion.idl
new file mode 100644
index 000000000000..b04802ee0728
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUnitConversion.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XUnitConversion_idl__
+#define __com_sun_star_awt_XUnitConversion_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>Point</type>, which is specified in pixels, into the given logical unit
+
+ @param Point
+ A given <type>Point</type> in a well known type
+ @param TargetUnit
+ A type from <type scope="com::sun::star::util">MeasureUnit</type> in which the Point will convert to.
+
+ @return
+ Returns a new <type>Point</type> 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 <type>Point</type>, which is specified in the given logical unit, into pixels
+
+ @param Point
+ A given Point in the SourceUnit type
+ @param SourceUnit
+ The type from <type scope="com::sun::star::util">MeasureUnit</type> of the Point.
+
+ @return
+ Return a new <type>Point</type> in Pixel type format.
+ */
+ com::sun::star::awt::Point convertPointToPixel( [in] com::sun::star::awt::Point aPoint, [in] short SourceUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** converts the given <type>Size</type>, which is specified in pixels, into the given logical unit
+
+ @param aSize
+ A given <type>Size</type> in a well known type
+ @param TargetUnit
+ A type from <type scope="com::sun::star::util">MeasureUnit</type> in which the Size will convert to.
+
+ @return
+ Returns a new <type>Size</type> in the TargetUnit type format.
+ */
+ com::sun::star::awt::Size convertSizeToLogic( [in] com::sun::star::awt::Size aSize, [in] short TargetUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts the given <type>Size</type>, which is specified in the given logical unit, into pixels
+
+ @param Size
+ A given <type>Size</type> in a well known type
+ @param TargetUnit
+ The type from <type scope="com::sun::star::util">MeasureUnit</type> of the Size.
+
+ @return
+ Returns a new <type>Size</type> in the TargetUnit type format.
+ */
+ com::sun::star::awt::Size convertSizeToPixel( [in] com::sun::star::awt::Size aSize, [in] short SourceUnit )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XUnoControlContainer.idl b/offapi/com/sun/star/awt/XUnoControlContainer.idl
new file mode 100644
index 000000000000..2d28b7152246
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUnoControlContainer.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XUnoControlContainer_idl__
+#define __com_sun_star_awt_XUnoControlContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTabController_idl__
+#include <com/sun/star/awt/XTabController.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** gives access to the tab controllers of a <type>UnoControlContainer</type>.
+ */
+published interface XUnoControlContainer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** sets a set of tab controllers.
+ */
+ [oneway] 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.
+ */
+ [oneway] void addTabController( [in] com::sun::star::awt::XTabController TabController );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a single tab controller.
+ */
+ [oneway] void removeTabController( [in] com::sun::star::awt::XTabController TabController );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XUserInputInterception.idl b/offapi/com/sun/star/awt/XUserInputInterception.idl
new file mode 100644
index 000000000000..a329e7d2f39e
--- /dev/null
+++ b/offapi/com/sun/star/awt/XUserInputInterception.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_awt_XUserInputInterception_idl__
+#define __com_sun_star_awt_XUserInputInterception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#include <com/sun/star/awt/XKeyHandler.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMouseClickHandler_idl__
+#include <com/sun/star/awt/XMouseClickHandler.idl>
+#endif
+
+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 <type
+ scope="::com::sun::star::awt">KeyEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+ /** Add a new listener that is called on <type
+ scope="::com::sun::star::awt">MouseEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeMouseClickHandler (
+ [in] ::com::sun::star::awt::XMouseClickHandler xHandler);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XVclContainer.idl b/offapi/com/sun/star/awt/XVclContainer.idl
new file mode 100644
index 000000000000..9126ad18f912
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainer.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XVclContainer_idl__
+#define __com_sun_star_awt_XVclContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XVclContainerListener_idl__
+#include <com/sun/star/awt/XVclContainerListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void removeVclContainerListener( [in] com::sun::star::awt::XVclContainerListener l );
+
+ //-------------------------------------------------------------------------
+
+ /** returns all windows.
+ */
+ sequence<com::sun::star::awt::XWindow> getWindows();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XVclContainerListener.idl b/offapi/com/sun/star/awt/XVclContainerListener.idl
new file mode 100644
index 000000000000..160972dd3036
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainerListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XVclContainerListener_idl__
+#define __com_sun_star_awt_XVclContainerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_VclContainerEvent_idl__
+#include <com/sun/star/awt/VclContainerEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void windowAdded( [in] com::sun::star::awt::VclContainerEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a window has been removed from the VCL container
+ window.
+ */
+ [oneway] void windowRemoved( [in] com::sun::star::awt::VclContainerEvent e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XVclContainerPeer.idl b/offapi/com/sun/star/awt/XVclContainerPeer.idl
new file mode 100644
index 000000000000..363e580ac7dc
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclContainerPeer.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XVclContainerPeer_idl__
+#define __com_sun_star_awt_XVclContainerPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void enableDialogControl( [in] boolean bEnable );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the tab order.
+ */
+ [oneway] void setTabOrder( [in] sequence<com::sun::star::awt::XWindow> WindowOrder,
+ [in] sequence<any> Tabs,
+ [in] boolean GroupControl );
+
+ //-------------------------------------------------------------------------
+
+ /** sets a group.
+ */
+ [oneway] void setGroup( [in] sequence<com::sun::star::awt::XWindow> Windows );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XVclWindowPeer.idl b/offapi/com/sun/star/awt/XVclWindowPeer.idl
new file mode 100644
index 000000000000..1e5e03b58b1f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XVclWindowPeer.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XVclWindowPeer_idl__
+#define __com_sun_star_awt_XVclWindowPeer_idl__
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setDesignMode( [in] boolean bOn );
+
+ //-------------------------------------------------------------------------
+
+ /** returns <true/> if the window peer is in design mode,
+ <false/> otherwise.
+ */
+ boolean isDesignMode();
+
+ //-------------------------------------------------------------------------
+
+ /** enables clipping of sibling windows.
+ */
+ [oneway] void enableClipSiblings( [in] boolean bClip );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the foreground color.
+ */
+ [oneway] void setForeground( [in] com::sun::star::util::Color Color );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the control font.
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/awt/XView.idl b/offapi/com/sun/star/awt/XView.idl
new file mode 100644
index 000000000000..fdc57452683f
--- /dev/null
+++ b/offapi/com/sun/star/awt/XView.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XView_idl__
+#define __com_sun_star_awt_XView_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XGraphics_idl__
+#include <com/sun/star/awt/XGraphics.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** makes it possible to attach an oputput 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
+ <member>XView::setGraphics</member>.
+ */
+ 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>
+ */
+ [oneway] 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>
+ */
+ [oneway] void setZoom( [in] float fZoomX,
+ [in] float fZoomY );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XWindow.idl b/offapi/com/sun/star/awt/XWindow.idl
new file mode 100644
index 000000000000..7742fd7b284d
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindow.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XWindow_idl__
+#define __com_sun_star_awt_XWindow_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowListener_idl__
+#include <com/sun/star/awt/XWindowListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XKeyListener_idl__
+#include <com/sun/star/awt/XKeyListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMouseListener_idl__
+#include <com/sun/star/awt/XMouseListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMouseMotionListener_idl__
+#include <com/sun/star/awt/XMouseMotionListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XPaintListener_idl__
+#include <com/sun/star/awt/XPaintListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>PosSize</type> and specify, which parameters
+ are taken into account when setting the outer bounds of the window.
+ */
+ [oneway] 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.
+ */
+ [oneway] void setVisible( [in] boolean Visible );
+
+ //-------------------------------------------------------------------------
+
+ /** enables or disables the window depending on the parameter.
+ */
+ [oneway] void setEnable( [in] boolean Enable );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the focus to the window.
+ */
+ [oneway] void setFocus();
+
+ //-------------------------------------------------------------------------
+
+ /** adds a window listener to the object.
+
+ @param xListener
+ the listener to add. If this listener also supports the <type>XWindowListener2</type> interface,
+ it will receive the additional events declared in XWindowListener2.
+ */
+ [oneway] void addWindowListener( [in] com::sun::star::awt::XWindowListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified window listener from the listener list.
+ */
+ [oneway] void removeWindowListener( [in] com::sun::star::awt::XWindowListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** adds a focus listener to the object.
+ */
+ [oneway] void addFocusListener( [in] com::sun::star::awt::XFocusListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified focus listener from the listener list.
+ */
+ [oneway] void removeFocusListener( [in] com::sun::star::awt::XFocusListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** adds a key listener to the object.
+ */
+ [oneway] void addKeyListener( [in] com::sun::star::awt::XKeyListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified key listener from the listener list.
+ */
+ [oneway] void removeKeyListener( [in] com::sun::star::awt::XKeyListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** adds a mouse listener to the object.
+ */
+ [oneway] void addMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified mouse listener from the listener list.
+ */
+ [oneway] void removeMouseListener( [in] com::sun::star::awt::XMouseListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** adds a mouse motion listener to the object.
+ */
+ [oneway] void addMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified mouse motion listener from the listener list.
+ */
+ [oneway] void removeMouseMotionListener( [in] com::sun::star::awt::XMouseMotionListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** adds a paint listener to the object.
+ */
+ [oneway] void addPaintListener( [in] com::sun::star::awt::XPaintListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified paint listener from the listener list.
+ */
+ [oneway] void removePaintListener( [in] com::sun::star::awt::XPaintListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XWindow2.idl b/offapi/com/sun/star/awt/XWindow2.idl
new file mode 100644
index 000000000000..0116ff88943b
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindow2.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XWindow2_idl__
+#define __com_sun_star_awt_XWindow2_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+
+//=============================================================================
+
+ 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 aSize );
+
+ //-------------------------------------------------------------------------
+
+ /** 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
diff --git a/offapi/com/sun/star/awt/XWindowListener.idl b/offapi/com/sun/star/awt/XWindowListener.idl
new file mode 100644
index 000000000000..2b7fb824d6fc
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowListener.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XWindowListener_idl__
+#define __com_sun_star_awt_XWindowListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_WindowEvent_idl__
+#include <com/sun/star/awt/WindowEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void windowResized( [in] com::sun::star::awt::WindowEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the window has been moved.
+ */
+ [oneway] void windowMoved( [in] com::sun::star::awt::WindowEvent e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the window has been shown.
+ */
+ [oneway] void windowShown( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the window has been hidden.
+ */
+ [oneway] void windowHidden( [in] com::sun::star::lang::EventObject e );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XWindowListener2.idl b/offapi/com/sun/star/awt/XWindowListener2.idl
new file mode 100644
index 000000000000..1313246664ef
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowListener2.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XWindowListener2_idl__
+#define __com_sun_star_awt_XWindowListener2_idl__
+
+#ifndef __com_sun_star_awt_XWindowListener_idl__
+#include <com/sun/star/awt/XWindowListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** allows receive window-related events, additional to the ones received by an <type>XWindowListener</type>
+ */
+interface XWindowListener2: XWindowListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called when the window has been enabled.
+ */
+ [oneway] void windowEnabled( [in] com::sun::star::lang::EventObject e );
+
+ //-------------------------------------------------------------------------
+
+ /** is called when the window has been disabled.
+ */
+ [oneway] void windowDisabled( [in] com::sun::star::lang::EventObject e );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/XWindowPeer.idl b/offapi/com/sun/star/awt/XWindowPeer.idl
new file mode 100644
index 000000000000..cc734d0c8784
--- /dev/null
+++ b/offapi/com/sun/star/awt/XWindowPeer.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#define __com_sun_star_awt_XWindowPeer_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setPointer( [in] XPointer Pointer );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the background color.
+ */
+ [oneway] void setBackground( [in] com::sun::star::util::Color Color );
+
+ //-------------------------------------------------------------------------
+
+ /** invalidates the whole window with the specified
+ <type>InvalidateStyle</type>.
+ */
+ [oneway] void invalidate( [in] short Flags );
+
+ //-------------------------------------------------------------------------
+
+ /** invalidates a rectangular area of the window with the specified
+ <type>InvalidateStyle</type>.
+ */
+ [oneway] void invalidateRect( [in] Rectangle Rect, [in] short Flags );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
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 000000000000..db69a6b5d842
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_DefaultGridColumnModel_idl__
+#define __com_sun_star_awt_DefaultGridColumnModel_idl__
+
+#ifndef __com_sun_star_awt_grid_XGridColumnModel_idl__
+#include <com/sun/star/awt/grid/XGridColumnModel.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** If you do not want to implement the <type>XGridColumnModel</type> yourself, use this service.
+ @since OOo 3.3.0
+ */
+service DefaultGridColumnModel
+{
+ interface com::sun::star::awt::grid::XGridColumnModel;
+};
+
+//=============================================================================
+
+}; }; }; };};
+
+#endif
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 000000000000..c487afc79b49
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_DefaultGridDataModel_idl__
+#define __com_sun_star_awt_DefaultGridDataModel_idl__
+
+#ifndef __com_sun_star_awt_grid_XGridDataModel_idl__
+#include <com/sun/star/awt/grid/XGridDataModel.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** If you do not want to implement the <type>XGridDataModel</type> yourself, use this service.
+
+ @since OOo 3.3.0
+ */
+service DefaultGridDataModel
+{
+ interface com::sun::star::awt::grid::XGridDataModel;
+};
+
+//=============================================================================
+
+}; }; }; };};
+
+#endif
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 000000000000..a87aef84f7d3
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridColumn.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_GridColumn_idl__
+#define __com_sun_star_awt_GridColumn_idl__
+
+#ifndef __com_sun_star_awt_grid_XGridColumn_idl__
+#include <com/sun/star/awt/grid/XGridColumn.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** Represents a column as used by the <type>DefaultGridColumnModel</type>
+
+ @since OOo 3.3.0
+ */
+service GridColumn
+{
+ interface com::sun::star::awt::grid::XGridColumn;
+};
+
+//=============================================================================
+
+}; }; }; };};
+
+#endif
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 000000000000..caab721185a5
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_GridColumnEvent_idl__
+#define __com_sun_star_awt_grid_GridColumnEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+/** An event used by a <type>XGridColumn</type> to notify changes in the column.
+
+ @since OOo 3.3.0
+ */
+struct GridColumnEvent: com::sun::star::lang::EventObject
+{
+ /** Contains the property name of the changed value **/
+ string valueName;
+
+ /** Contains the old value **/
+ any oldValue;
+
+ /** Contains the new value **/
+ any newValue;
+
+ /** Contains the index of the changed column**/
+ long index;
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/GridControlEvent.idl b/offapi/com/sun/star/awt/grid/GridControlEvent.idl
new file mode 100644
index 000000000000..ce8736fb1b93
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridControlEvent.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_GridControlEvent_idl__
+#define __com_sun_star_awt_GridControlEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+
+struct GridControlEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ string ActionCommand;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..1e0afb610f16
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 {
+
+//=============================================================================
+
+/** An event used by a <type>XGridDataModel</type> to notify changes in the data
+ model to the <type>XGridControl</type>.
+ You usually need to fill this event only if you implement the <type>XGridDataModel</type>
+ yourself.
+
+ @see XGridDataModel
+ @see XGridControl
+ @see XGridDataListener
+
+ @sonce OOo 3.3.0
+ */
+struct GridDataEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** Contains the property name of the changed value **/
+ string valueName;
+
+ /** Contains the old value **/
+ any oldValue;
+
+ /** Contains the new value **/
+ any newValue;
+
+ /** Contains the index of the changed row**/
+ long index;
+
+ /** Contains the header name of the changed row**/
+ string headerName;
+
+ /** Contains the changed row**/
+ sequence<any> rowData;
+
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..af1f90dfdc8b
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: GridInvalidDataException.idl,v $
+ * $Revision: 1.0 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_GridInvalidDataException_idl__
+#define __com_sun_star_awt_grid_GridInvalidDataException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+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.0
+ */
+exception GridInvalidDataException : com::sun::star::uno::RuntimeException
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..9d96daf624bb
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: GridInvalidModelException.idl,v $
+ * $Revision: 1.0 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_GridInvalidModelException_idl__
+#define __com_sun_star_awt_grid_GridInvalidModelException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+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.0
+ */
+exception GridInvalidModelException : com::sun::star::uno::RuntimeException
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..e9b87c2fe7ed
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_GridSelectionEvent_idl__
+#define __com_sun_star_awt_GridSelectionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_grid_SelectionEventType_idl__
+#include <com/sun/star/awt/grid/SelectionEventType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** An event used by a <type>XGridControl</type> to notify changes in the selection.
+
+ @see XGridControl
+ @see XGridSelectionListener
+ */
+struct GridSelectionEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** the selected row*/
+ long Row;
+
+ /** the selected column*/
+ long Column;
+
+ /**number of selected rows, if multiple rows selected*/
+ long Range;
+
+ /** Contains the action <type>SelectionEventType</types> that was performed **/
+ SelectionEventType Action;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/ScrollBarMode.idl b/offapi/com/sun/star/awt/grid/ScrollBarMode.idl
new file mode 100644
index 000000000000..d22cd8f30c78
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/ScrollBarMode.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_ScrollBarMode_idl__
+#define __com_sun_star_awt_grid_ScrollBarMode_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** specifies the adjustment type.
+ */
+enum ScrollBarMode
+{
+ //-------------------------------------------------------------------------
+
+ /** 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>
+ */
+ AUTO,
+
+ //-------------------------------------------------------------------------
+
+ /** 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>
+ */
+ ON,
+
+ OFF
+
+
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/SelectionEventType.idl b/offapi/com/sun/star/awt/grid/SelectionEventType.idl
new file mode 100644
index 000000000000..c7ee61498cc3
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/SelectionEventType.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_SelectionEventType_idl__
+#define __com_sun_star_awt_grid_SelectionEventType_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** specifies the type of a selection event, as used by
+ <type>GridSelectionEvent</type>.
+ */
+enum SelectionEventType
+{
+ //-------------------------------------------------------------------------
+
+ /** This value indicates that a selection was added to the grid control
+ */
+ ADD,
+
+ //-------------------------------------------------------------------------
+
+ /** This value indicates that a selection was removed from the grid control
+ */
+ REMOVE,
+
+ //-------------------------------------------------------------------------
+
+ /** This value indicates that a selection was changed
+ */
+ CHANGE
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..542c27085dcb
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_UnoControlGrid_idl__
+#define __com_sun_star_awt_UnoControlGrid_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_grid_XGridControl_idl__
+#include <com/sun/star/awt/grid/XGridControl.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+//=============================================================================
+
+/** A control that displays a set of tabular data.
+
+ <p>
+ <h4>The Column Model</h4>
+ <p>The horizontal structure of the grid is defined by the <type>XGridColumnModel</type> implemented in <type>DefaultGridColumnModel</type>
+ The <type>XGridColumn</type> implemented in <typeGridColumn</type> describes the properties and behavior of a single column. Use the <member>XGridColumnModel::addColumn()</member> to add a column to the column model.
+ </p>
+ <p>
+ <h4>The Data Model</h4>
+ <p> All row data are stored in the <type>XGridDataModel</type>.
+ Use the <type>DefaultGridDataModel</type> to add <member>XGridDataModel::addRow()</member> or remove <member>XGridDataModel::removeRow()</member> rows.
+ </p>
+
+ <p>The column and data model must be set at the <member>UnoControlGridModel::ColumnModel</member> and <member>UnoControlGridModel::GridDataModel</member> properties.</p>
+
+ <h4>Selection</h4>
+ <p>If you are interested in knowing when the selection changes implement a
+ <type>XGridSelectionListener</type> and add the instance with the method
+ <member>XGridSelection::addSelectionListener()</member>.
+ You than will be notified for any selection change.
+
+ The <type>XGridSelection</type> interface provides a bunch of methods to set and get selection for the grid control.
+ </p>
+ @since OOo 3.3.0
+ */
+service UnoControlGrid
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::grid::XGridControl;
+};
+
+//=============================================================================
+
+}; }; }; };};
+
+#endif
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 000000000000..b9cf8745d96e
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/grid/ScrollBarMode.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 <type>UnoControlGridModel</type>.
+
+ @since OOo 3.3.0
+ */
+service UnoControlGridModel
+{
+ /** specifies the standard model of an <type scope="com::sun::star::awt">UnoControl</type>. */
+ 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 whether the grid control should display a title row.
+ <p>The default value is <TRUE/></p>
+ */
+ [property] boolean ShowColumnHeader;
+
+ /** Specifies the <type>XGridColumnModel</type> that is providing the column structure.
+
+ <p>You can implement your own instance of <type>XGridColumnModel</type> or use
+ the <type>DefaultGridColumnModel</type>.
+ */
+ [property] XGridColumnModel ColumnModel;
+
+ /** Specifies the <type>XGridDataModel</type> that is providing the hierarchical data.
+
+ <p>You can implement your own instance of <type>XGridDataModel</type> or use
+ the <type>DefaultGridDataModel</type>.
+ */
+ [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 <member scope="com::sun::star::view">SelectionType::SINGLE</member></p>
+ */
+ [property] ::com::sun::star::view::SelectionType SelectionModel;
+
+ /** Specifies the background color of rows. If color for even rows is set, then specifies
+ the color of odd rows. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color RowBackgroundColor;
+
+ /** Specifies the background color of even rows. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color EvenRowBackgroundColor;
+
+ /** Specifies the background color of header. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color HeaderBackgroundColor;
+
+ /** Specifies the text color. Default value is black.
+ */
+ [property] ::com::sun::star::util::Color TextColor;
+
+ /** Specifies the line color. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color LineColor;
+
+ /** specifies the vertical alignment of the content in the control.
+
+ <pre>
+ TOP
+ MIDDLE
+ BOTTOM
+ </pre>
+ */
+ [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 <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ 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
diff --git a/offapi/com/sun/star/awt/grid/XGridCell.idl b/offapi/com/sun/star/awt/grid/XGridCell.idl
new file mode 100644
index 000000000000..08f3cfd1b2d5
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridCell.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridCell_idl__
+#define __com_sun_star_awt_grid_XGridCell_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+interface XGridCell
+{
+
+ [attribute] string Value;
+
+ [attribute] boolean Editable;
+
+ [attribute] any Data;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl b/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl
new file mode 100644
index 000000000000..7f9fa28c3307
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridCellRenderer_idl__
+#define __com_sun_star_awt_grid_XGridCellRenderer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** renderer for cells
+ */
+interface XGridCellRenderer
+{
+ //-------------------------------------------------------------------------
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..d217ff5d4ac6
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridColumn_idl__
+#define __com_sun_star_awt_grid_XGridColumn_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#include <com/sun/star/style/HorizontalAlignment.idl>
+#include <com/sun/star/awt/grid/XGridColumnListener.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** The <type>XGridColumn</types> defines the properties and behavior of a column in a grid control
+ @since OOo 3.3.0
+ */
+interface XGridColumn
+{
+ /** Specifies the an idendifier of the colomn.**/
+ [attribute] any Identifier;
+
+ /** Specifies the default column witdth. **/
+ [attribute] long ColumnWidth;
+
+ /** Specifies the preferred column witdth. **/
+ [attribute] long PreferredWidth;
+
+ /** Specifies the min column witdth. **/
+ [attribute] long MinWidth;
+
+ /** Specifies the max column witdth. **/
+ [attribute] long MaxWidth;
+
+ /** Specifies whether column has fixed size or not. **/
+ [attribute] boolean Resizeable;
+
+ /** Specifies the horizontal alignment of the content in the control.
+
+ <pre>
+ LEFT
+ CENTER
+ RIGHT
+ </pre>
+ */
+ [attribute] ::com::sun::star::style::HorizontalAlignment HorizontalAlign;
+
+ /** A title is displayed in the colum header row if <method>UnoControlGridModel::ShowRowHeader</method> is set to <true/>**/
+ [attribute] string Title;
+
+ /** Adds a listener for the <type>GridColumnEvent</type> posted after the grid changes.
+ @param Listener
+ the listener to add.
+ */
+ [oneway] void addColumnListener( [in] XGridColumnListener listener);
+
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addColumnListener()</method>.
+ @param Listener
+ the listener to remove.
+ */
+ [oneway] void removeColumnListener( [in] XGridColumnListener listener);
+
+ /**Updates changed column widths, when column widths are being resized.
+ @param name
+ can be PrefWidth or ColWidth, depending on which was changed
+ @param width
+ the new column width
+ */
+ void updateColumn( [in] string name, [in] long width);
+ /**Sets column index
+ @param index
+ index, which is the index of the column in the column array of the column model
+ */
+ void setIndex( [in] long index );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..8a2d044f33d5
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridColumnListener_idl__
+#define __com_sun_star_awt_grid_XGridColumnListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_grid_GridColumnEvent_idl__
+#include <com/sun/star/awt/grid/GridColumnEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>XGridColumnModel</type> to
+ get notifications about column model changes.
+
+ <p>Usually you must not implement this interface yourself, but you must notify it correctly if
+ you implement the <type>XGridColumnModel</type> yourself</p>.
+
+ @since OOo 3.3.0
+ */
+interface XGridColumnListener
+{
+ // /**
+ // Invoked after a column was added to the column model.
+ //*/
+ //void columnAdded( [in] GridColumnEvent event );
+ //
+ // /**
+ // Invoked after a column was removed from the column model.
+ //*/
+ //void columnRemoved( [in] GridColumnEvent event );
+
+ /**
+ Invoked after a column was modified.
+ */
+ void columnChanged( [in] GridColumnEvent event );
+};
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..86e77680cd95
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/awt/grid/XGridColumn.idl>
+
+#include <com/sun/star/awt/grid/XGridColumnListener.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>UnoControlGrid</type> 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 <type>DefaultGridColumnModel</type>.
+
+ @since OOo 3.3.0
+*/
+interface XGridColumnModel
+{
+ ///** Specifies whether column selection is allowed
+ //*/
+ //[attribute] boolean ColumnSelectionAllowed;
+
+ /**Specifies the height of column header.
+ */
+ [attribute] long ColumnHeaderHeight;
+
+ /** Returns the number of columns.
+ @returns
+ the number of columns.
+ */
+ long getColumnCount();
+
+ /** Adds a column to the model.
+ @param column
+ the column to add to the model.
+
+ @returns
+ the index of new created column.
+ */
+ long addColumn( [in] XGridColumn column );
+
+ /*
+ long getSelectedCount();
+
+ sequence<XGridColumn> getSelectedColumns();
+
+ sequence<long> getSelectedIndex();
+
+ */
+
+ /** Returns all columns of the model.
+ @returns
+ all columns associated with the model in a sequence of <type>XGridColumn</type>.
+ */
+ sequence<XGridColumn> getColumns();
+
+ /** Returns a specific column.
+ @param index
+ the position of the requested column.
+ @returns
+ the requested column.
+ */
+ XGridColumn getColumn( [in] long index);
+
+ /** Sets default columns to the column model.
+ @param elements
+ the number of default columns that should be set.
+ */
+ void setDefaultColumns([in] long elements);
+
+ /**Creates new XGridColumn with the settings of other column. To be used if the columns which are added to
+ the column model have the same settings.
+ @param column
+ the column, which is already created
+ */
+ XGridColumn copyColumn( [in] XGridColumn column );
+
+ /*
+ long getTotalColumnWidth();
+ */
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..5019a571663b
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridControl.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridControl_idl__
+#define __com_sun_star_awt_grid_XGridControl_idl__
+
+#include <com/sun/star/awt/grid/XGridSelection.idl>
+#include <com/sun/star/awt/grid/XGridColumnModel.idl>
+#include <com/sun/star/awt/grid/XGridDataModel.idl>
+#include <com/sun/star/awt/XMouseListener.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.0
+ */
+interface XGridControl: XGridSelection
+{
+ /** Converting
+ */
+
+ long getItemIndexAtPoint( [in] long x, [in] long y);
+
+ /** Sets tooltip for row
+ @param textForTooltip
+ text, which will be shown as tooltip.
+ If only cell content should be displayed, leave sequence empty.
+ @param columnsForTooltip
+ column numbers, which define the cell content that should be shown in the tooltip.
+ If only text should be shown, leave this sequence empty.
+ */
+ void setToolTip( [in] sequence< string > textForTooltip, [in] sequence< long > columnsForTooltip);
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/XGridControlListener.idl b/offapi/com/sun/star/awt/grid/XGridControlListener.idl
new file mode 100644
index 000000000000..6f4fdf68ccd4
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridControlListener.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridControlListener_idl__
+#define __com_sun_star_awt_grid_XGridControlListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+interface XGridControlListener
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..d6d0d930b331
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridDataListener_idl__
+#define __com_sun_star_awt_grid_XGridDataListener_idl__
+
+#ifndef __com_sun_star_awt_grid_GridDataEvent_idl__
+#include <com/sun/star/awt/grid/GridDataEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>XGridDataModel</type> 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 <type>XGridDataModel</type> yourself</p>.
+
+ @since OOo 3.3.0
+ */
+interface XGridDataListener: com::sun::star::lang::XEventListener
+{
+
+ /**
+ Invoked after a row was added to the data model.
+ */
+ void rowAdded( [in] GridDataEvent Event );
+
+ /**
+ Invoked after a row was added to the data model.
+ */
+ void rowRemoved( [in] GridDataEvent Event );
+
+ /**
+ Invoked after a row was added to the data model.
+ */
+ void dataChanged( [in] GridDataEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..5cc4085807e1
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * $Revision: 1.8 $
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/awt/grid/XGridDataListener.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+/** An instance of this interface is used by the <type>UnoControlGrid</type> 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 <type>DefaultGridDataModel</type>.
+
+ @since OOo 3.3.0
+*/
+interface XGridDataModel: ::com::sun::star::lang::XComponent
+{
+ /** Specifies the height of each row.
+ */
+ [attribute] long RowHeight;
+
+ /** Contains the row header.
+ */
+ [attribute] sequence< string > RowHeaders;
+
+ /** Returns the content of each row.
+ */
+ [attribute,readonly] sequence< sequence< any > > Data;
+
+ /**Specifies the width of row header.
+ */
+ [attribute] long RowHeaderWidth;
+
+ /** Returns the number of rows in in the model.
+ @returns
+ the number of rows.
+ */
+ long getRowCount();
+
+ /** Adds a row to the model.
+
+ @param headername
+ specifies the name of the row.
+ @param data
+ the content of the row.
+ */
+ void addRow( [in] string headername, [in] sequence< any > data );
+
+ /** Removes a row from the model.
+
+ @param index
+ the index of the row that should be removed.
+ */
+ void removeRow( [in] long index);
+
+ /** Removes all rows from the model.
+ */
+ void removeAll();
+
+ /**Updates the content of a given cell.
+ @param row
+ the row index
+ @param column
+ the column index
+ @param value
+ the new value of the cell.
+ */
+ void updateCell([in] long row, [in] long column, [in] any value );
+
+ /**Updates the content of a given row.
+ @param row
+ the row index
+ @param columns
+ column indexes of the cells, which should be updated
+ @param value
+ the new values of the cells.
+ */
+ void updateRow([in] long row, [in] sequence< long > columns, [in] sequence< any > values);
+
+ //-------------------------------------------------------------------------
+
+ /** Adds a listener for the <type>GridDataEvent</type> posted after the grid changes.
+ @param Listener
+ the listener to add.
+ */
+ [oneway] void addDataListener( [in] XGridDataListener listener);
+
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addDataListener()</method>.
+ @param Listener
+ the listener to remove.
+ */
+ [oneway] void removeDataListener( [in] XGridDataListener listener);
+
+};
+
+//=============================================================================
+
+}; }; }; };};
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/XGridSelection.idl b/offapi/com/sun/star/awt/grid/XGridSelection.idl
new file mode 100644
index 000000000000..5049426018b0
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridSelection.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridSelection_idl__
+#define __com_sun_star_awt_grid_XGridSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/grid/XGridSelectionListener.idl>
+#include <com/sun/star/view/SelectionType.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** This interfaces provides access to the selection of row for <type>UnoControlGrid</type>.
+ */
+interface XGridSelection
+{
+ /** Returns the lowest index of the selection.
+ @returns
+ the lowest index.
+ */
+ long getMinSelectionIndex();
+
+ /** Returns the highest index of the selection.
+ @returns
+ the highest index.
+ */
+ long getMaxSelectionIndex();
+
+ /** Selects all rows.
+ */
+ [oneway] void selectAllRows();
+
+ /** Selects multiple rows. Previous selections will be removed.
+ @param rangeOfRows
+ array of rows indexes, which will be selected.
+ */
+ [oneway] void selectRows( [in] sequence< long > rangeOfRows);
+
+ /** Deselects all selected rows.
+ */
+ [oneway] void deselectAllRows();
+
+ /** Deselects selected rows. Selected rows, which aren't in the range remain selected.
+ @param rangeOfRows
+ array of rows indexes, which will be deselected.
+ */
+ [oneway] void deselectRows( [in] sequence< long > rangeOfRows);
+
+ /** Returns the indicies of all selected rows.
+ @returns
+ a sequence of indicies.
+ */
+ sequence< long > getSelection();
+
+ /** Returns whether rows are selected.
+ @returns
+ <true/> if rows are selected otherwise <false/>.
+ */
+ boolean isSelectionEmpty();
+
+ /** Returns whether a specific row is selected.
+ @param
+ the index of a row.
+ @returns
+ <true/> if row are selected otherwise <false/>.
+ */
+ boolean isSelectedIndex( [in] long index);
+
+ /** Marks a row as selected.
+ @param index
+ the index of a row.
+ */
+ [oneway] void selectRow( [in] long index);
+
+ /*
+ [oneway] void selectColumn( [in] long x);
+ */
+
+ /** Adds a listener for the <type>GridSelectionEvent</type> posted after the grid changes.
+ @param listener
+ the listener to add.
+ */
+ [oneway] void addSelectionListener( [in] XGridSelectionListener listener);
+
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addSelectionListener()</method>.
+ @param listener
+ the listener to remove.
+ */
+ [oneway] void removeSelectionListener( [in] XGridSelectionListener listener);
+
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..61e8d3050b0d
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XGridSelectionListener.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_grid_XGridSelectionListener_idl__
+#define __com_sun_star_awt_grid_XGridSelectionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_grid_GridSelectionEvent_idl__
+#include <com/sun/star/awt/grid/GridSelectionEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module grid {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>XGridSelection</type> to
+ get notifications about selection changes.
+
+ <p>Usually you must not implement this interface yourself, but you must notify it correctly if
+ you implement the <type>XGridSelection</type> yourself</p>.
+ */
+interface XGridSelectionListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** Invoked after a selection was changed.
+ */
+ [oneway] void selectionChanged( [in] GridSelectionEvent gridSelectionEvent);
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/grid/makefile.mk b/offapi/com/sun/star/awt/grid/makefile.mk
new file mode 100644
index 000000000000..02c159f8ffec
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssawtgrid
+PACKAGE=com$/sun$/star$/awt$/grid
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ GridColumnEvent.idl\
+ GridControlEvent.idl\
+ GridDataEvent.idl\
+ SelectionEventType.idl\
+ GridSelectionEvent.idl\
+ XGridControlListener.idl\
+ XGridSelectionListener.idl\
+ XGridSelection.idl\
+ XGridColumn.idl\
+ XGridColumnListener.idl\
+ XGridDataListener.idl\
+ XGridCell.idl\
+ XGridCellRenderer.idl\
+ DefaultGridDataModel.idl\
+ XGridDataModel.idl\
+ XGridColumnModel.idl\
+ ScrollBarMode.idl\
+ XGridControl.idl\
+ UnoControlGrid.idl\
+ UnoControlGridModel.idl\
+ GridInvalidDataException.idl\
+ GridInvalidModelException.idl
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk
new file mode 100644
index 000000000000..c2397d81bf44
--- /dev/null
+++ b/offapi/com/sun/star/awt/makefile.mk
@@ -0,0 +1,348 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssawt
+PACKAGE=com$/sun$/star$/awt
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleButton.idl\
+ AccessibleCheckBox.idl\
+ AccessibleComboBox.idl\
+ AccessibleDropDownComboBox.idl\
+ AccessibleDropDownListBox.idl\
+ AccessibleEdit.idl\
+ AccessibleFixedText.idl\
+ AccessibleIconChoiceControl.idl\
+ AccessibleIconChoiceControlEntry.idl\
+ AccessibleList.idl\
+ AccessibleListBox.idl\
+ AccessibleListBoxList.idl\
+ AccessibleListItem.idl\
+ AccessibleMenu.idl\
+ AccessibleMenuBar.idl\
+ AccessibleMenuItem.idl\
+ AccessibleMenuSeparator.idl\
+ AccessiblePopupMenu.idl\
+ AccessibleRadioButton.idl\
+ AccessibleScrollBar.idl\
+ AccessibleStatusBar.idl\
+ AccessibleStatusBarItem.idl\
+ AccessibleTabBar.idl\
+ AccessibleTabBarPage.idl\
+ AccessibleTabBarPageList.idl\
+ AccessibleTabControl.idl\
+ AccessibleTabPage.idl\
+ AccessibleTextField.idl\
+ AccessibleToolBox.idl\
+ AccessibleToolBoxItem.idl\
+ AccessibleTreeListBox.idl\
+ AccessibleTreeListBoxEntry.idl\
+ AccessibleWindow.idl\
+ ActionEvent.idl\
+ AdjustmentEvent.idl\
+ AdjustmentType.idl\
+ AsyncCallback.idl\
+ CharSet.idl\
+ Command.idl\
+ DeviceCapability.idl\
+ DeviceInfo.idl\
+ DialogProvider.idl\
+ DialogProvider2.idl\
+ ContainerWindowProvider.idl\
+ DockingData.idl\
+ DockingEvent.idl\
+ EndDockingEvent.idl\
+ EndPopupModeEvent.idl\
+ EnhancedMouseEvent.idl\
+ FieldUnit.idl\
+ FocusChangeReason.idl\
+ FocusEvent.idl\
+ FontDescriptor.idl\
+ FontEmphasisMark.idl\
+ FontFamily.idl\
+ FontPitch.idl\
+ FontRelief.idl\
+ FontSlant.idl\
+ FontStrikeout.idl\
+ FontType.idl\
+ FontUnderline.idl\
+ FontWeight.idl\
+ FontWidth.idl\
+ Gradient.idl\
+ GradientStyle.idl\
+ ImageAlign.idl\
+ ImagePosition.idl\
+ ImageScaleMode.idl\
+ ImageStatus.idl\
+ InputEvent.idl\
+ InvalidateStyle.idl\
+ ItemEvent.idl\
+ Key.idl\
+ KeyEvent.idl\
+ KeyFunction.idl\
+ KeyGroup.idl\
+ KeyModifier.idl\
+ KeyStroke.idl\
+ LineEndFormat.idl\
+ MenuEvent.idl\
+ MenuItemStyle.idl\
+ MessageBoxButtons.idl\
+ MessageBoxCommand.idl\
+ MouseButton.idl\
+ MouseEvent.idl\
+ MouseWheelBehavior.idl\
+ PaintEvent.idl\
+ Point.idl\
+ PopupMenuDirection.idl\
+ PosSize.idl\
+ PrinterException.idl\
+ PushButtonType.idl\
+ RasterOperation.idl\
+ Rectangle.idl\
+ RoadmapItem.idl\
+ ScrollBarOrientation.idl\
+ Selection.idl\
+ SimpleFontMetric.idl\
+ Size.idl\
+ SpinEvent.idl\
+ Style.idl\
+ SystemPointer.idl\
+ TabController.idl\
+ TabControllerModel.idl\
+ TextAlign.idl\
+ TextEvent.idl\
+ Toolkit.idl\
+ UnoControl.idl\
+ UnoControlButton.idl\
+ UnoControlButtonModel.idl\
+ UnoControlCheckBox.idl\
+ UnoControlCheckBoxModel.idl\
+ UnoControlComboBox.idl\
+ UnoControlComboBoxModel.idl\
+ UnoControlContainer.idl\
+ UnoControlContainerModel.idl\
+ UnoControlCurrencyField.idl\
+ UnoControlCurrencyFieldModel.idl\
+ UnoControlDateField.idl\
+ UnoControlDateFieldModel.idl\
+ UnoControlDialog.idl\
+ UnoControlDialogElement.idl\
+ UnoControlDialogModel.idl\
+ UnoControlDialogModelProvider.idl\
+ UnoControlEdit.idl\
+ UnoControlEditModel.idl\
+ UnoControlFileControl.idl\
+ UnoControlFileControlModel.idl\
+ UnoControlFixedHyperlink.idl\
+ UnoControlFixedHyperlinkModel.idl\
+ UnoControlFixedLine.idl\
+ UnoControlFixedLineModel.idl\
+ UnoControlFixedText.idl\
+ UnoControlFixedTextModel.idl\
+ UnoControlFormattedField.idl\
+ UnoControlFormattedFieldModel.idl\
+ UnoControlGroupBox.idl\
+ UnoControlGroupBoxModel.idl\
+ UnoControlImageControl.idl\
+ UnoControlImageControlModel.idl\
+ UnoControlListBox.idl\
+ UnoControlListBoxModel.idl\
+ UnoControlModel.idl\
+ UnoControlNumericField.idl\
+ UnoControlNumericFieldModel.idl\
+ UnoControlPatternField.idl\
+ UnoControlPatternFieldModel.idl\
+ UnoControlProgressBar.idl\
+ UnoControlProgressBarModel.idl\
+ UnoControlRadioButton.idl\
+ UnoControlRadioButtonModel.idl\
+ UnoControlRoadmap.idl\
+ UnoControlRoadmapModel.idl\
+ UnoControlScrollBar.idl\
+ UnoControlScrollBarModel.idl\
+ UnoControlSimpleAnimation.idl\
+ UnoControlSimpleAnimationModel.idl\
+ UnoControlSpinButton.idl\
+ UnoControlSpinButtonModel.idl\
+ UnoControlThrobber.idl\
+ UnoControlThrobberModel.idl\
+ UnoControlTimeField.idl\
+ UnoControlTimeFieldModel.idl\
+ VclContainerEvent.idl\
+ VclWindowPeerAttribute.idl\
+ VisualEffect.idl\
+ WindowAttribute.idl\
+ WindowClass.idl\
+ WindowDescriptor.idl\
+ WindowEvent.idl\
+ XActionListener.idl\
+ XActivateListener.idl\
+ XAdjustmentListener.idl\
+ XBitmap.idl\
+ XButton.idl\
+ XCallback.idl\
+ XCheckBox.idl\
+ XComboBox.idl\
+ XControl.idl\
+ XControlContainer.idl\
+ XControlModel.idl\
+ XCurrencyField.idl\
+ XDataTransferProviderAccess.idl\
+ XDateField.idl\
+ XDevice.idl\
+ XDialog.idl\
+ XDialogProvider.idl\
+ XDialogProvider2.idl\
+ XDialogEventHandler.idl\
+ ContainerWindowProvider.idl\
+ XContainerWindowProvider.idl\
+ XContainerWindowEventHandler.idl\
+ XDisplayBitmap.idl\
+ XDisplayConnection.idl\
+ XDockableWindow.idl\
+ XDockableWindowListener.idl\
+ XEnhancedMouseClickHandler.idl\
+ XEventHandler.idl\
+ XExtendedToolkit.idl\
+ XFileDialog.idl\
+ XFixedHyperlink.idl\
+ XFixedText.idl\
+ XFocusListener.idl\
+ XFont.idl\
+ XFont2.idl\
+ XGraphics.idl\
+ XImageButton.idl\
+ XImageConsumer.idl\
+ XImageProducer.idl\
+ XInfoPrinter.idl\
+ XItemEventBroadcaster.idl\
+ XItemListener.idl\
+ XKeyHandler.idl\
+ XKeyListener.idl\
+ XLayoutConstrains.idl\
+ XListBox.idl\
+ XMenu.idl\
+ XMenuBar.idl\
+ XMenuListener.idl\
+ XMessageBox.idl\
+ XMessageBoxFactory.idl\
+ XMetricField.idl\
+ XMouseClickHandler.idl\
+ XMouseListener.idl\
+ XMouseMotionListener.idl\
+ XMouseMotionHandler.idl\
+ XNumericField.idl\
+ XPaintListener.idl\
+ XPatternField.idl\
+ XPointer.idl\
+ XPopupMenu.idl\
+ XPrinter.idl\
+ XPrinterPropertySet.idl\
+ XPrinterServer.idl\
+ XProgressBar.idl\
+ XProgressMonitor.idl\
+ XRadioButton.idl\
+ XRegion.idl\
+ XRequestCallback.idl\
+ XReschedule.idl\
+ XScrollBar.idl\
+ XSimpleTabController.idl\
+ XSpinField.idl\
+ XSpinListener.idl\
+ XSpinValue.idl\
+ XStyleChangeListener.idl\
+ XStyleSettings.idl\
+ XStyleSettingsSupplier.idl\
+ XSystemChildFactory.idl\
+ XSystemDependentMenuPeer.idl\
+ XSystemDependentWindowPeer.idl\
+ SystemDependentXWindow.idl\
+ XSimpleAnimation.idl\
+ XSimpleTabController.idl\
+ XThrobber.idl\
+ XTabController.idl\
+ XTabControllerModel.idl\
+ XTabListener.idl\
+ XTextArea.idl\
+ XTextComponent.idl\
+ XTextEditField.idl\
+ XTextLayoutConstrains.idl\
+ XTextListener.idl\
+ XTimeField.idl\
+ XToggleButton.idl\
+ XToolkit.idl\
+ XTopWindow.idl\
+ XTopWindow2.idl\
+ XTopWindowListener.idl\
+ XUnitConversion.idl\
+ XUnoControlContainer.idl\
+ XUserInputInterception.idl\
+ XVclContainer.idl\
+ XVclContainerListener.idl\
+ XVclContainerPeer.idl\
+ XVclWindowPeer.idl\
+ XView.idl\
+ XWindow.idl\
+ XWindow2.idl\
+ XWindowListener.idl\
+ XWindowListener2.idl\
+ XWindowPeer.idl\
+ XMenuExtended.idl\
+ MaxChildrenException.idl\
+ XDialog2.idl\
+ XLayoutContainer.idl\
+ XLayoutFlow.idl\
+ XLayoutFlowContainer.idl\
+ XLayoutRoot.idl\
+ XLayoutUnit.idl \
+ MenuItemType.idl \
+ MenuLogo.idl \
+ XMenuExtended2.idl \
+ XMenuBarExtended.idl \
+ XPopupMenuExtended.idl \
+ XItemList.idl \
+ XItemListListener.idl \
+ ItemListEvent.idl \
+ AnimatedImagesControl.idl \
+ AnimatedImagesControlModel.idl \
+ XAnimatedImages.idl \
+ XAnimation.idl \
+ SpinningProgressControlModel.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..ef678395fe06
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tab_TabPageActivationEvent_idl__
+#define __com_sun_star_awt_tab_TabPageActivationEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** An event used by a <type>XTabPageContainer</type> to notify changes in tab page activation.
+
+ @since OOo 3.4
+ */
+struct TabPageActivatedEvent: com::sun::star::lang::EventObject
+{
+ /** Contains the ID of the tab page
+ */
+ short TabPageID;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..6244b18e0c77
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+*/
+
+service UnoControlTabPage
+{
+ service com::sun::star::awt::UnoControlContainer;
+
+ interface XTabPage;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
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 000000000000..488ce4b5354a
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ */
+service UnoControlTabPageContainer
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::tab::XTabPageContainer;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
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 000000000000..b97b7881b416
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ */
+service UnoControlTabPageContainerModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ interface com::sun::star::awt::tab::XTabPageContainerModel;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
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 000000000000..3508e33260c7
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ */
+service UnoControlTabPageModel : XTabPageModel
+{
+ /** Creates a new XTabPageModel with a given ID.
+ */
+ create([in] short tabPageID);
+
+ /** Creates a new XTabPageModel with a given ID and a url which is used to load teh tab page model.
+ */
+ load([in] short tabPageID,[in] string url);
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..616820071f5b
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPage.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ */
+interface XTabPage
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..e62cf4c365c1
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ */
+interface XTabPageContainer
+{
+ /** Returns the number of tab pages.
+ @returns
+ the number of tab pages.
+ */
+ long getTabPageCount();
+
+ //-------------------------------------------------------------------------
+
+ /** Checks whether a tab page is activated.
+ @param
+ 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 <type>TabPageActivedEvent</type> posted after
+ the tab page was activated.
+ @param listener
+ the listener to add.
+ */
+ [oneway] void addTabPageListener( [in] XTabPageContainerListener listener);
+
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addTabPageListener()</method>.
+ @param listener
+ the listener to remove.
+ */
+ [oneway] void removeTabPageListener( [in] XTabPageContainerListener listener);
+
+ //-------------------------------------------------------------------------
+ /** Specifies the ID of the current active tab page.
+ */
+ [attribute] short ActiveTabPageID;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..f46951231513
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XTabPageContainer</type> to
+ get notifications about changes in activation of tab pages.
+
+ @since OOo 3.4
+ */
+interface XTabPageContainerListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** Invoked after a tab page was activated.
+ */
+ [oneway] void tabPageActivated( [in] TabPageActivatedEvent tabPageActivatedEvent);
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..cc815209a01d
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 {
+
+//=============================================================================
+
+/** specifies an interface for a UnoControlTabPageContainerModel.
+
+ @since OOo 3.4
+ */
+interface XTabPageContainerModel
+{
+ interface com::sun::star::container::XIndexContainer;
+ interface com::sun::star::container::XContainer;
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
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 000000000000..15fae422bb17
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageModel.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+*/
+
+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
diff --git a/offapi/com/sun/star/awt/tab/makefile.mk b/offapi/com/sun/star/awt/tab/makefile.mk
new file mode 100644
index 000000000000..39d1e66f7643
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssawttab
+PACKAGE=com$/sun$/star$/awt$/tab
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ TabPageActivatedEvent.idl\
+ XTabPageContainerListener.idl\
+ XTabPageModel.idl\
+ XTabPage.idl\
+ XTabPageContainerModel.idl\
+ XTabPageContainer.idl\
+ UnoControlTabPage.idl\
+ UnoControlTabPageModel.idl\
+ UnoControlTabPageContainer.idl\
+ UnoControlTabPageContainerModel.idl
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..cbee77879859
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/ExpandVetoException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_ExpandVetoException_idl__
+#define __com_sun_star_awt_tree_ExpandVetoException_idl__
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_TreeExpansionEvent_idl__
+#include <com/sun/star/awt/tree/TreeExpansionEvent.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..92875a7806d8
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/MutableTreeDataModel.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_MutableTreeDataModel_idl__
+#define __com_sun_star_awt_tree_MutableTreeDataModel_idl__
+
+#ifndef __com_sun_star_awt_tree_XMutableTreeDataModelidl__
+#include <com/sun/star/awt/tree/XMutableTreeDataModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XMutableTreeNode_idl__
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** If you do not want to implement the <type>XTreeDataModel</type> yourself, use this service.
+ This implementation uses <type>MutableTreeNode</type> for its nodes.
+ */
+service MutableTreeDataModel : XMutableTreeDataModel
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..c2db72d93bb6
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/MutableTreeNode.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_MutableTreeNode_idl__
+#define __com_sun_star_awt_tree_MutableTreeNode_idl__
+
+#ifndef __com_sun_star_awt_tree_XMutableTreeNode_idl__
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** Represents an editable tree node as used by the <type>MutableTreeDataModel</type>
+ */
+service MutableTreeNode : XMutableTreeNode
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..79ed4b86ab90
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeControl.idl
@@ -0,0 +1,97 @@
+/************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_TreeControl_idl__
+#define __com_sun_star_awt_tree_TreeControl_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeControl_idl__
+#include <com/sun/star/awt/tree/XTreeControl.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XTreeNode</type>.
+ A leaf node is a node without any children and that returns <FALSE/> when calling <member>XTreeNode::hasChildrenOnDemand()</member>.
+ 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 <type>XTreeDataModel</type>.
+ You can implement it yourself or use the <type>MutableTreeDataModel</type>
+ which uses <type>XMutableTreeNode</type> and <type>XMutableTreeDataModel</type>
+ for a simple and mutable data model.
+
+ <p>The data model must be set at the <member>TreeControlModel::TreeDataModel</member> property.</p>
+
+ <h4>Selection</h4>
+ <p>If you are interested in knowing when the selection changes implement a
+ <type scope="com::sun::star::view">XSelectionChangeListener</type> and add the instance with the method
+ <member scope="::com::sun::star::view">XSelectionSupplier::addSelectionChangeListener()</member>.
+ 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 <type scope="com::sun::star::awt">XWindow</type>
+ and add yourself as a <type scope="com::sun::star::awt">XMouseClickHandler</type>. You can use the
+ method <member>XTreeControl::getNodeForLocation()</member> 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 <member>XTreeNode::hasChildrenOnDemand()</member> either
+ by implementing <type>XTreeNode</type> yourself or if you use the <type>MutableTreeDataModel</type>,
+ use <member>XMutableTreeNode::setHasChildrenOnDemand()</member>.</li>
+ <li>Implement a <type>XTreeExpansionListener</type> and add the instance with the method
+ <member>XTreeControl::addTreeExpansionListener()</member>.</li>
+ </ul>
+ Now you get called when the node will become expanded or collapsed.
+ So on <member>XTreeExpansionListener::treeExpanding()</member> you can
+ check the <type>TreeExpansionEvent</type> 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 <type>ExpandVetoException</type>.
+ </p>
+ */
+service TreeControl: XTreeControl
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..6a84d52e165e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeControlModel.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_TreeControlModel_idl__
+#define __com_sun_star_awt_tree_TreeControlModel_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeDataModel_idl__
+#include <com/sun/star/awt/tree/XTreeDataModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_view_SelectionType_idl__
+#include <com/sun/star/view/SelectionType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** specifies the standard model of a <type>TreeControl</type>.
+ */
+service TreeControlModel
+{
+ /** specifies the standard model of an <type scope="com::sun::star::awt">UnoControl</type>. */
+ service ::com::sun::star::awt::UnoControlModel;
+
+ /** Specifies the selection mode that is enabled for this tree.
+ <p>The default value is <member scope="com::sun::star::view">SelectionType::NONE</member></p>
+ */
+ [property] ::com::sun::star::view::SelectionType SelectionType;
+
+ /** Specifies the <type>XTreeDataModel</type> that is providing the hierarchical data.
+
+ <p>You can implement your own instance of <type>XTreeDataModel</type> or use
+ the <type>MutableTreeDataModel</type>.
+ */
+ [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 <type>XTreeControl</type> and can't be used with any method of
+ <type>XTreeControl</type>.
+ <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 hirarchie<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
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 000000000000..380848950e6e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeDataModelEvent.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_TreeDataModelEvent_idl__
+#define __com_sun_star_awt_tree_TreeDataModelEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** An event used by a <type>XTreeDataModel</type> to notify changes in the data
+ model to the <type>XTreeControl</type>.
+ You usually need to fill this event only if you implement the <type>XTreeDataModel</type>
+ 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 <member>ParentNode</member> as parent. */
+ sequence< XTreeNode > Nodes;
+
+ /** holds the parent node for changed, added or removed nodes.
+ <p> If this is null, <member>Nodes</member> must contain only the root node */
+ XTreeNode ParentNode;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..20ee645d56e8
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/TreeExpansionEvent.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_TreeExpansionEvent_idl__
+#define __com_sun_star_awt_tree_TreeExpansionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..b2ef8c65a706
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XMutableTreeDataModel.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XMutableTreeDataModel_idl__
+#define __com_sun_star_awt_tree_XMutableTreeDataModel_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeDataModel_idl__
+#include <com/sun/star/awt/tree/XTreeDataModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XMutableTreeNode_idl__
+#include <com/sun/star/awt/tree/XMutableTreeNode.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** This is the editable version of the <type>XTreeDataModel</type>.
+
+ <p>Note that only <type>XTreeNode</type> created from the same instance with <member>createNode</member>
+ are valids nodes for this instance.</p>
+ */
+interface XMutableTreeDataModel : XTreeDataModel
+{
+ /** creates a new tree node with the given value and given settings.
+
+ @param DisplayValue
+ should be convertable to a string and is used by the <type>XTreeControl</type>
+ as a textual represenation 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 <type>XTreeControl</type>, even when it has no child nodes.
+
+ @returns
+ a new <type>XMutableTreeNode</type> 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 <type>XMutableTreeNode</type> 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 <type>XTreeDataModel</type>.
+ */
+ void setRoot( [in] XMutableTreeNode RootNode )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..1ecf30290400
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XMutableTreeNode.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XMutableTreeNode_idl__
+#define __com_sun_star_awt_tree_XMutableTreeNode_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** Represents a mutable tree node as used by the <type>MutableTreeDataModel</type>
+ */
+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 <type>XTreeDataModel</type>.
+ */
+ 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.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>ChildNode</var> is not a valid node of the corresponding <type>XTreeDataModel</type>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <var>Index</var> is less than 0 or greater then <member>XTreeNode::getChildCount()</member>.
+ */
+ 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 then <member>XTreeNode::getChildCount()</member>.
+ */
+ 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 dependend value.
+
+ <p>You can use this attribute to store data for this node that
+ is independend 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, <member>XTreeControl::DefaultExpandedGraphicURL</member> 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, <member>XTreeControl::DefaultCollapsedGraphicURL</member> is used.
+ */
+ void setCollapsedGraphicURL( [in] string URL );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..a5341257ba45
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeControl.idl
@@ -0,0 +1,295 @@
+/************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeControl_idl__
+#define __com_sun_star_awt_tree_XTreeControl_idl__
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XTreeExpansionListener_idl__
+#include <com/sun/star/awt/tree/XTreeExpansionListener.idl>
+#endif
+
+#ifndef __com_sun_star_view_XMultiSelectionSupplier_idl__
+#include <com/sun/star/view/XMultiSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XTreeEditListener_idl__
+#include <com/sun/star/awt/tree/XTreeEditListener.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XTreeNode</type> or sequence&lt;<type>XTreeNode</type>&gt;.</p>
+
+ <method scope="::com::sun::star::view">XSelectionSupplier::getSelection()</method>
+ returns an emtpy any for no selection, an any with <type>XTreeNode</type> for
+ a single selection and a sequence&lt;<type>XTreeNode</type>&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 <type>XTreeNode</type> 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 <type>XTreeDataModel</type>.
+ */
+ boolean isNodeExpanded( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns <TRUE/> if <var>Node</var> is currently collapsed.
+
+ @param Node
+ the <type>XTreeNode</type> 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 <type>XTreeDataModel</type>.
+ */
+ 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 <type>XTreeNode</type> specifying the node to make visible.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding <type>XTreeDataModel</type>.
+
+ @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
+ <type>XTreeExpansionListener</type> raised a <type>ExpandVetoException</type>.
+ */
+ 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 <type>XTreeDataModel</type>.
+ */
+ 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 <type>XTreeNode</type> identifying a node.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding <type>XTreeDataModel</type>.
+
+ @throws ExpandVetoException
+ if expanding <var>Node</var> failed because at least one of the registered
+ <type>XTreeExpansionListener</type> raised a <type>ExpandVetoException</type>.
+ */
+ void expandNode( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException, ExpandVetoException );
+
+ /** Ensures that <var>Node</var> is collapsed.
+
+ @param Node
+ the <type>XTreeNode</type> identifying a node
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding <type>XTreeDataModel</type>.
+
+ @raises ExpandVetoException
+ if collapsing <var>Node</var> failed because at least one of the registered
+ <type>XTreeExpansionListener</type> raised a <type>ExpandVetoException</type>.
+ */
+ void collapseNode( [in] XTreeNode Node )
+ raises( com::sun::star::lang::IllegalArgumentException, ExpandVetoException );
+
+ /** Adds a listener for <type>TreeExpansion</type> events.
+
+ @param Listener
+ a <type>XTreeExpansionListener</type> that will be notified when a tree
+ node is expanded or collapsed.
+ */
+ void addTreeExpansionListener( [in] XTreeExpansionListener Listener );
+
+ /** Removes a listener for <type>TreeExpansion</type> events.
+
+ @param Listener
+ the <type>XTreeExpansionListener</type> 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 overriden for individual nodes by <member>XTreeNode::getExpandedGraphicURL()</member></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 overriden for individual nodes by <member>XTreeNode::getCollapsedGraphicURL()</member></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 <type>XTreeNode</type> 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 <member>getNodeForLocation()</member>.
+
+ @param x
+ an integer giving the number of pixels horizontally from the left edge of the controls display area
+ @para y
+ an integer giving the number of pixels vertically from the top edge of the controls display area
+ @returns
+ the <type>XTreeNode</type> 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 <method scope="com::sun::star::view">XSelectionSupplier::getSelection()</method>.
+
+ @returns
+ <TRUE/> if the user is currently editing a node
+ */
+ boolean isEditing();
+
+ /** Ends the current editing session.
+ <p>All registered <type>XTreeEditListener</type> 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 <member>TreeControlModel::Editable</member> is <FALSE/> or if there are no
+ registered <type>XTreeEditListener</type>, this call has no effect.</p>
+
+ <p>Calling this method also ensures that <var>Node</var> will become visible.</p>
+
+ @param Node
+ the <type>XTreeNode</type> identifying a node.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <var>Node</var> is not a valid node of the corresponding <type>XTreeDataModel</type>.
+ */
+ void startEditingAtNode( [in] XTreeNode Node )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** Adds a <type>XTreeEditListener</type>.
+
+ @param xListener
+ a <type>XTreeEditListener</type> that will be notified
+ before and after a tree node is edited.
+ */
+ void addTreeEditListener( [in] XTreeEditListener Listener );
+
+ /** Removes a <type>XTreeEditListener</type>.
+
+ @param xListener
+ the <type>XTreeEditListener</type> to remove
+ */
+ void removeTreeEditListener( [in] XTreeEditListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..50f6dcae2151
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeDataModel.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeDataModel_idl__
+#define __com_sun_star_awt_tree_XTreeDataModel_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeDataModelListener_idl__
+#include <com/sun/star/awt/tree/XTreeDataModelListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>TreeControl</type> to
+ retrieve the hierarchical outline data that is displayed in the actual control.
+
+ <p>If you implement your own <type>XTreeDataModel</type> you need to notify registered
+ <type>XTreeDataModelListener</type> if your model changes after the control is created.
+ If this is not done correctly the <type>TreeControl</type> will not update the data properly.</p>
+
+ If you do not need your own model implementation, you can also use the <type>MutableTreeDataModel</type>.
+*/
+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 <type>TreeDataModelEvent</type> posted after the tree changes.
+
+ @param Listener
+ the listener to add.
+ */
+ void addTreeDataModelListener( [in] XTreeDataModelListener Listener );
+
+
+ /** Removes a listener previously added with <method>addTreeDataModelListener()</method>.
+
+ @param Listener
+ the listener to remove.
+ */
+ void removeTreeDataModelListener( [in] XTreeDataModelListener Listener );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..5110dac3623e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeDataModelListener.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeDataModelListener_idl__
+#define __com_sun_star_awt_tree_XTreeDataModelListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_TreeDataModelEvent_idl__
+#include <com/sun/star/awt/tree/TreeDataModelEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>TreeControl</type> to
+ get notifications about data model changes.
+
+ <p>Usually you must not implement this interface yourself as it is already handled
+ by the <type>TreeControl</type>, but you must notify it correctly if
+ you implement the <type>XTreeDataModel</type> 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, <member>TreeDataModelEvent::Nodes</member> will contain
+ the root node and <member>TreeDataModelEvent::ParentNode</member> will be empty.
+ */
+ void treeNodesChanged( [in] TreeDataModelEvent Event );
+
+ /** Invoked after nodes have been inserted into the tree.
+
+ Use <member>TreeDataModelEvent::ParentNode</member> to get the parent of the new node(s).
+ <member>TreeDataModelEvent::Nodes</member> 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 <member>TreeDataModelEvent::ParentNode</member> to get the former parent of the deleted node(s).
+ <member>TreeDataModelEvent::Nodes</member> contains the removed node(s).
+ */
+ void treeNodesRemoved( [in] TreeDataModelEvent Event );
+
+ /** Invoked after the tree has drastically changed structure from a given node down.
+
+ Use <member>TreeDataModelEvent::ParentNode</member> to get the node which
+ structure has changed. <member>TreeDataModelEvent::Nodes</member> is empty.
+ */
+ void treeStructureChanged( [in] TreeDataModelEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..dcaec810dae8
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeEditListener.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeEditListener_idl__
+#define __com_sun_star_awt_tree_XTreeEditListener_idl__
+
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#include <com/sun/star/awt/tree/XTreeNode.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** You can implement this interface and register with <method scope="XTreeControl">addTreeEditListener</method>
+ to get notifcaitons when editing of a node starts and ends.
+
+ <p>You have to set the <member>TreeControlModel::Editable</member> property to
+ <TRUE/> before a tree supports editing.</p>
+ */
+interface XTreeEditListener : ::com::sun::star::lang::XEventListener
+{
+ /** This method is called from the <type>TreeControl</type> implementation when editing of
+ <var>Node</var> is requested by calling <member>XTreeControl::startEditingAtNode()</member>.
+
+ @param Node
+ the <type>XTreeNode</type> for that an edit request was fired by calling
+ <method scope="XTreeControl">startEditingAtNode</method>
+
+ @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 <type>TreeControl</type> implementation when editing
+ of <var>Node</var> is finished and was not canceled.
+
+ <p>Implementations that register a <type>XTreeEditListener</type> must update the
+ display value at the Node.</p>
+
+ @param Node
+ the <type>XTreeNode</type> for that an edit request was fired by calling
+ <method scope="XTreeControl">startEditingAtNode</method>
+
+ @param NewText
+ the text that was entered by the user.
+ */
+ void nodeEdited( [in] XTreeNode Node, [in] string NewText );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..8b235ff6db28
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeExpansionListener.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeExpansionListener_idl__
+#define __com_sun_star_awt_tree_XTreeExpansionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_TreeExpansionEvent_idl__
+#include <com/sun/star/awt/tree/TreeExpansionEvent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_tree_ExpandVetoException_idl__
+#include <com/sun/star/awt/tree/ExpandVetoException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** An instance of this interface can get notifications from a <type>TreeControl</type>
+ 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 befor the <method>treeExpanding()</method>
+ 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 <type>XTreeControl</type> that expanding
+ <member>TreeExpansionEvent::Node</member> should faild.
+ */
+ 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 <type>XTreeControl</type> that collapsing
+ <member>TreeExpansionEvent::Node</member> should faild.
+ */
+ void treeCollapsing( [in] TreeExpansionEvent Event )
+ raises ( ExpandVetoException );
+
+ /** Called whenever a node in the tree has been succesfully expanded. */
+ void treeExpanded( [in] TreeExpansionEvent Event );
+
+ /** Called whenever a node in the tree has been succesfully collapsed. */
+ void treeCollapsed( [in] TreeExpansionEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..b19af432f5d2
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/XTreeNode.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tree_XTreeNode_idl__
+#define __com_sun_star_awt_tree_XTreeNode_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef _com_sun_star_lang_IndexOutOfBoundsException_idl_
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tree {
+
+//=============================================================================
+
+/** An instance implementing this interface represents the model data for an entry in a
+ <type>XTreeDataModel</type>.
+ <p>The <type>TreeControl</type> uses this interface to retrieve the model
+ information needed to display a hierarchical outline</p>
+ <p>Each XTreeNode in a <type>XTreeDataModel</type> 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 then <member>getChildCount</member>.
+ */
+ 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</Node> in this instances children.
+ @returns
+ The child index of <var>Node</Node> , or -1 if <var>Node</Node> 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 <type>TreeControl</type> will handle a node that returns <TRUE/> always
+ like a node that has child nodes, even if <member>getChildCount</member>
+ 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, <member>XTreeControl::DefaultExpandedGraphicURL</member> 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, <member>XTreeControl::DefaultCollapsedGraphicURL</member> is used.
+ */
+ string getCollapsedGraphicURL();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tree/makefile.mk b/offapi/com/sun/star/awt/tree/makefile.mk
new file mode 100644
index 000000000000..797644e7628e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tree/makefile.mk
@@ -0,0 +1,61 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssawttree
+PACKAGE=com$/sun$/star$/awt$/tree
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ MutableTreeDataModel.idl\
+ ExpandVetoException.idl\
+ MutableTreeNode.idl\
+ TreeControl.idl\
+ TreeControlModel.idl\
+ TreeDataModelEvent.idl\
+ TreeExpansionEvent.idl\
+ XMutableTreeDataModel.idl\
+ XMutableTreeNode.idl\
+ XTreeControl.idl\
+ XTreeDataModel.idl\
+ XTreeDataModelListener.idl\
+ XTreeExpansionListener.idl\
+ XTreeNode.idl\
+ XTreeEditListener.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
new file mode 100644
index 000000000000..82f4d48daadb
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_chart_AccessibleChartDocumentView_idl__
+#define __com_sun_star_chart_AccessibleChartDocumentView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+module com { module sun { module star { module chart {
+
+/** The <type>AccessibleChartDocumentView</type> 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 <type>AccessibleChartDocumentView</type>
+ 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
+*/
+published service AccessibleChartDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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
+ <const scope="com::sun::star::accessibility">AccessibleRole::DOCUMENT</const>.</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
+ <type>AccessibleChartElement</type>. Additionally, there may be
+ shapes a user added via the clipboard. For details see the
+ <type scope="::com::sun::star::drawing">AccessibleShape</type>.
+ </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
+ <member scope="com::sun::star::accessibility">XAccessibleContext::getAccessibleRelationSet</member>
+ will always return an empty set.</dd>
+ <dt>States</dt>
+ <dd>The following states are supported:
+ <ul>
+ <li><const scope="com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ is set if a document view becomes obsolete like when
+ the window, which displays the view, is closed.</li>
+ <li><const scope="com::sun::star::accessibility">AccessibleStateType::ENABLED</const>
+ is always set unless the
+ <const scope="com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ state is set.</li>
+ <li><const scope="com::sun::star::accessibility">AccessibleStateType::OPAQUE</const>
+ is always set.</li>
+ <li><const scope="com::sun::star::accessibility">AccessibleStateType::SHOWING</const>
+ is always set unless the
+ <const scope="com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ state is set.</li>
+ <li><const scope="com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>
+ is always set unless the
+ <const scope="com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ 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
+ <type>AccessibleChartElement</type></p>
+
+ @see AccessibleChartElement
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/AccessibleChartElement.idl b/offapi/com/sun/star/chart/AccessibleChartElement.idl
new file mode 100644
index 000000000000..3ea8cc050a10
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartElement.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_chart_AccessibleChartElement_idl__
+#define __com_sun_star_chart_AccessibleChartElement_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+
+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
+ <type scope="::com::sun::star::chart">ChartTitle</type>,
+ <type scope="::com::sun::star::chart">ChartLegend</type>,
+ <type scope="::com::sun::star::chart">Diagram</type>,
+ <type scope="::com::sun::star::chart">ChartAxis</type>,
+ <type scope="::com::sun::star::chart">ChartDataRowProperties</type>,
+ <type scope="::com::sun::star::chart">ChartDataPointProperties</type>.
+ </p>
+
+ <p>The
+ <type scope="::com::sun::star::accessibility">XAccessibleExtendedComponent</type>
+ is suported by all chart elements.</p>
+
+ @since OOo 1.1.2
+*/
+published service AccessibleChartElement
+{
+ /** Base interface for being accessible. It gives access to the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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
+ <const scope="::com::sun::star::accessibility">AccessibleRole::SHAPE</const>.
+ </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 <type scope="::com::sun::star::chart">Diagram</type> and
+ the <type scope="::com::sun::star::chart">ChartLegend</type>
+ 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 JAA 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><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ 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><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const></li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const>
+ is always set.<sup>&dagger;</sup></li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTILINE</const>
+ is set for all titles.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const>
+ is set for all elements that do have a transparency
+ attributes set to 0% and no transparency gradient.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZABLE</const>
+ Is set for the diagram object only. All other chart elements may not be resized.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTABLE</const></li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTED</const></li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>
+ is always set.<sup>&dagger;</sup></li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>
+ is always set.<sup>&dagger;</sup></li>
+ </ul>
+ <sup>&dagger;</sup>always, except if the state
+ <const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
+ 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. These information are 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
+ <type scope="::com::sun::star::accessibility">XAccessibleText</type> and
+ <type scope="::com::sun::star::accessibility">XAccessibleEditableText</type>
+ 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
+ <type scope="::com::sun::star::accessibility">XAccessibleText</type>
+ 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
diff --git a/offapi/com/sun/star/chart/AreaDiagram.idl b/offapi/com/sun/star/chart/AreaDiagram.idl
new file mode 100644
index 000000000000..19f3cee7ce1d
--- /dev/null
+++ b/offapi/com/sun/star/chart/AreaDiagram.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_AreaDiagram_idl__
+#define __com_sun_star_chart_AreaDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisZSupplier_idl__
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Dim3DDiagram_idl__
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_StackableDiagram_idl__
+#include <com/sun/star/chart/StackableDiagram.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/BarDiagram.idl b/offapi/com/sun/star/chart/BarDiagram.idl
new file mode 100644
index 000000000000..7040781e9c50
--- /dev/null
+++ b/offapi/com/sun/star/chart/BarDiagram.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_BarDiagram_idl__
+#define __com_sun_star_chart_BarDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisZSupplier_idl__
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Dim3DDiagram_idl__
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_StackableDiagram_idl__
+#include <com/sun/star/chart/StackableDiagram.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member>BarDiagram::NumberOfLines</member> data rows are shown as lines. It is
+ currently supported by two dimensional vertical bar charts only. </p>
+
+ @deprecated
+ */
+ [property] long NumberOfLines;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/BubbleDiagram.idl b/offapi/com/sun/star/chart/BubbleDiagram.idl
new file mode 100644
index 000000000000..99298ed947d7
--- /dev/null
+++ b/offapi/com/sun/star/chart/BubbleDiagram.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_BubbleDiagram_idl__
+#define __com_sun_star_chart_BubbleDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/Chart3DBarProperties.idl b/offapi/com/sun/star/chart/Chart3DBarProperties.idl
new file mode 100644
index 000000000000..31b77e446bf9
--- /dev/null
+++ b/offapi/com/sun/star/chart/Chart3DBarProperties.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_Chart3DBarProperties_idl__
+#define __com_sun_star_chart_Chart3DBarProperties_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartArea.idl b/offapi/com/sun/star/chart/ChartArea.idl
new file mode 100644
index 000000000000..66109be78471
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartArea.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartArea_idl__
+#define __com_sun_star_chart_ChartArea_idl__
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>ChartArea</type> 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::UserDefinedAttributeSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl
new file mode 100644
index 000000000000..20a6722af5d8
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxis.idl
@@ -0,0 +1,340 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartAxis_idl__
+#define __com_sun_star_chart_ChartAxis_idl__
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisArrangeOrderType_idl__
+#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisPosition_idl__
+#include <com/sun/star/chart/ChartAxisPosition.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisLabelPosition_idl__
+#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__
+#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisType_idl__
+#include <com/sun/star/chart/ChartAxisType.idl>
+#endif
+
+#ifndef __com_sun_star_chart_TimeIncrement_idl__
+#include <com/sun/star/chart/TimeIncrement.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XAxis_idl__
+#include <com/sun/star/chart/XAxis.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>ChartAxis</type> 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::UserDefinedAttributeSupplier;
+
+ /** 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 producces 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 maximium 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 choosen 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 fileformat does not allow for
+ further axis posiioning 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 <member>NumberFormat</member>.
+ */
+ [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
diff --git a/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl
new file mode 100644
index 000000000000..1fbd6f311883
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisAssign.idl b/offapi/com/sun/star/chart/ChartAxisAssign.idl
new file mode 100644
index 000000000000..5f9916b2b5a0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisAssign.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl
new file mode 100644
index 000000000000..c22ca85f2885
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl
new file mode 100644
index 000000000000..c47d7b05f22d
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisMarks.idl b/offapi/com/sun/star/chart/ChartAxisMarks.idl
new file mode 100644
index 000000000000..06e84453f3a3
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarks.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisPosition.idl
new file mode 100644
index 000000000000..190f3089b557
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisPosition.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartAxisType.idl b/offapi/com/sun/star/chart/ChartAxisType.idl
new file mode 100644
index 000000000000..e705424115e8
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisType.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 choosen 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
diff --git a/offapi/com/sun/star/chart/ChartAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl
new file mode 100644
index 000000000000..3b3060bb8df7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartAxisXSupplier_idl__
+
+#ifndef __com_sun_star_chart_XAxisXSupplier_idl__
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** has to be supported by charts providing the cpabilities 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
diff --git a/offapi/com/sun/star/chart/ChartAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl
new file mode 100644
index 000000000000..aa33daad6031
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartAxisYSupplier_idl__
+
+#ifndef __com_sun_star_chart_XAxisYSupplier_idl__
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartAxisZSupplier.idl b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl
new file mode 100644
index 000000000000..3e18709c0319
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartAxisZSupplier_idl__
+#define __com_sun_star_chart_ChartAxisZSupplier_idl__
+
+#ifndef __com_sun_star_chart_XAxisZSupplier_idl__
+#include <com/sun/star/chart/XAxisZSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartData.idl b/offapi/com/sun/star/chart/ChartData.idl
new file mode 100644
index 000000000000..ec5efcbe8db6
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartData.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartData_idl__
+#define __com_sun_star_chart_ChartData_idl__
+
+#ifndef __com_sun_star_chart_XChartData_idl__
+#include <com/sun/star/chart/XChartData.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartDataArray.idl b/offapi/com/sun/star/chart/ChartDataArray.idl
new file mode 100644
index 000000000000..da4e2564f5c9
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataArray.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataArray_idl__
+#define __com_sun_star_chart_ChartDataArray_idl__
+
+#ifndef __com_sun_star_chart_ChartData_idl__
+#include <com/sun/star/chart/ChartData.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartData_idl__
+#include <com/sun/star/chart/XChartData.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartDataCaption.idl b/offapi/com/sun/star/chart/ChartDataCaption.idl
new file mode 100644
index 000000000000..a6b3d4f56607
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataCaption.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartDataChangeEvent.idl b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl
new file mode 100644
index 000000000000..bca4a7b565fd
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataChangeEvent_idl__
+#define __com_sun_star_chart_ChartDataChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartDataChangeType_idl__
+#include <com/sun/star/chart/ChartDataChangeType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartDataChangeType.idl b/offapi/com/sun/star/chart/ChartDataChangeType.idl
new file mode 100644
index 000000000000..cd75583a55be
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeType.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>ChartDataChangeEvent</type>, has changed.
+ */
+ DATA_RANGE,
+
+ //-------------------------------------------------------------------------
+
+ /** The column given in the <type>ChartDataChangeEvent</type>, was
+ inserted.
+ */
+ COLUMN_INSERTED,
+
+ //-------------------------------------------------------------------------
+
+ /** The row given in the <type>ChartDataChangeEvent</type>, was
+ inserted.
+ */
+ ROW_INSERTED,
+
+ //-------------------------------------------------------------------------
+
+ /** The column given in the <type>ChartDataChangeEvent</type>, was
+ deleted.
+ */
+ COLUMN_DELETED,
+
+ //-------------------------------------------------------------------------
+
+ /** The row given in the <type>ChartDataChangeEvent</type>, was
+ deleted.
+ */
+ ROW_DELETED
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartDataPoint.idl b/offapi/com/sun/star/chart/ChartDataPoint.idl
new file mode 100644
index 000000000000..3494ae1f3853
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPoint.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataPoint_idl__
+#define __com_sun_star_chart_ChartDataPoint_idl__
+
+#ifndef __com_sun_star_chart_ChartDataValue_idl__
+#include <com/sun/star/chart/ChartDataValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module chart {
+
+//=============================================================================
+/** @deprecated
+*/
+published typedef sequence<ChartDataValue> ChartDataPoint;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartDataPointProperties.idl b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
new file mode 100644
index 000000000000..d7a9db2da496
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataPointProperties_idl__
+#define __com_sun_star_chart_ChartDataPointProperties_idl__
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Chart3DBarPropertiesidl__
+#include <com/sun/star/chart/Chart3DBarProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>ChartDataRowProperties</type> 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 <type>ChartDataPointProperties</type> 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::UserDefinedAttributeSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** is only available if the chart is of type
+ <type>BarDiagram</type> and <type>Dim3DDiagram</type> and the
+ property <member>ChartDataPointProperties::Dim3D</member> 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>
+
+ @see ChartSymbolType
+ */
+ [optional, property] string SymbolBitmapURL;
+
+ /** the offset by which pie segments in a <type>PieDiagram</type>
+ are dragged outside from the center. This value is given in
+ percent of the radius.
+ */
+ [optional, property] long SegmentOffset;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartDataRow.idl b/offapi/com/sun/star/chart/ChartDataRow.idl
new file mode 100644
index 000000000000..05f2002d60c8
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRow.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataRow_idl__
+#define __com_sun_star_chart_ChartDataRow_idl__
+
+#ifndef __com_sun_star_chart_ChartDataValue_idl__
+#include <com/sun/star/chart/ChartDataValue.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartDataRowProperties.idl b/offapi/com/sun/star/chart/ChartDataRowProperties.idl
new file mode 100644
index 000000000000..27a02f598c3e
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowProperties.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDataRowProperties_idl__
+#define __com_sun_star_chart_ChartDataRowProperties_idl__
+
+#ifndef __com_sun_star_chart_ChartDataPointProperties_idl__
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type>ChartDataPointProperties</type> 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 <type>ChartDataRowProperties</type> 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::UserDefinedAttributeSupplier;
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartDataRowSource.idl b/offapi/com/sun/star/chart/ChartDataRowSource.idl
new file mode 100644
index 000000000000..8e9dc226d90f
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowSource.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 (<type>ChartDataArray</type>).
+ */
+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
diff --git a/offapi/com/sun/star/chart/ChartDataValue.idl b/offapi/com/sun/star/chart/ChartDataValue.idl
new file mode 100644
index 000000000000..532ed8c9958b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataValue.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl
new file mode 100644
index 000000000000..2c5227329778
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDocument.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartDocument_idl__
+#define __com_sun_star_chart_ChartDocument_idl__
+
+#ifndef __com_sun_star_chart_XChartDocument_idl__
+#include <com/sun/star/chart/XChartDocument.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+#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 <type>ChartDocument</type> 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::UserDefinedAttributeSupplier;
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartErrorCategory.idl b/offapi/com/sun/star/chart/ChartErrorCategory.idl
new file mode 100644
index 000000000000..6f51ca054a07
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorCategory.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ChartStatistics::PercentageError</member> of its
+ value.
+
+ @see ChartStatistics
+ */
+ PERCENT,
+
+ //-------------------------------------------------------------------------
+
+ /** The length of the error indicators for all data points is
+ calculated by taking the percentage given as
+ <member>ChartStatistics::ErrorMargin</member> 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
+ <member>ChartStatistics::ConstantErrorLow</member> and
+ <member>ChartStatistics::ConstantErrorHigh</member></p>
+
+ @see ChartStatistics
+ */
+ CONSTANT_VALUE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl
new file mode 100644
index 000000000000..fd3dd80f299d
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartGrid.idl b/offapi/com/sun/star/chart/ChartGrid.idl
new file mode 100644
index 000000000000..b4c6f6001e13
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartGrid.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartGrid_idl__
+#define __com_sun_star_chart_ChartGrid_idl__
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>ChartAxis</type>.</p>@see ChartAxis
+ */
+published service ChartGrid
+{
+ service com::sun::star::drawing::LineProperties;
+
+ /** If a <type>ChartGrid</type> 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::UserDefinedAttributeSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartLegend.idl b/offapi/com/sun/star/chart/ChartLegend.idl
new file mode 100644
index 000000000000..a0fcf587c7ef
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegend.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartLegend_idl__
+#define __com_sun_star_chart_ChartLegend_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartLegendPosition_idl__
+#include <com/sun/star/chart/ChartLegendPosition.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::drawing">Shape</type> 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 <type scope="com::sun::star::drawing">XShape</type>
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+ //-------------------------------------------------------------------------
+
+ service com::sun::star::style::CharacterProperties;
+
+ //-------------------------------------------------------------------------
+
+ /** If a <type>ChartLegend</type> 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::UserDefinedAttributeSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** determines the alignment of the legend relative
+ to the diagram.
+ */
+ [property] com::sun::star::chart::ChartLegendPosition Alignment;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartLegendPosition.idl b/offapi/com/sun/star/chart/ChartLegendPosition.idl
new file mode 100644
index 000000000000..a7ef3e49bfdc
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegendPosition.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ChartDocument::HasLegend</member> 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 an 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 an the right hand
+ side of the first one.</p>
+ */
+ BOTTOM
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartLine.idl b/offapi/com/sun/star/chart/ChartLine.idl
new file mode 100644
index 000000000000..e9ae401edc11
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLine.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartLine_idl__
+#define __com_sun_star_chart_ChartLine_idl__
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl
new file mode 100644
index 000000000000..b771d59e4c8d
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartPieSegmentProperties_idl__
+#define __com_sun_star_chart_ChartPieSegmentProperties_idl__
+
+#ifndef __com_sun_star_chart_ChartDataPointProperties_idl__
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>PieDiagram</type>
+ 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
diff --git a/offapi/com/sun/star/chart/ChartRegressionCurveType.idl b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl
new file mode 100644
index 000000000000..ab31eceabe2a
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartRegressionCurveType_idl__
+#define __com_sun_star_chart_ChartRegressionCurveType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** specifiest 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>&middot;<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>&middot;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>&middot;e<sup><i>B</i>&middot;<i>x</i></sup>.</p>
+
+ */
+ EXPONENTIAL,
+
+ //-------------------------------------------------------------------------
+
+ /** displays a polynomial regression curve.
+
+ @deprecated
+ */
+ 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&middot;<i>x</i><sup>B</sup></i>.</p>
+ */
+ POWER
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartSeriesAddress.idl b/offapi/com/sun/star/chart/ChartSeriesAddress.idl
new file mode 100644
index 000000000000..70c328b5ecca
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSeriesAddress.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/ChartSolidType.idl b/offapi/com/sun/star/chart/ChartSolidType.idl
new file mode 100644
index 000000000000..e07500fd7802
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSolidType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+
+ //-------------------------------------------------------------------------
+
+ /** pyramidial with a square as base
+ */
+ const long PYRAMID = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartStatistics.idl b/offapi/com/sun/star/chart/ChartStatistics.idl
new file mode 100644
index 000000000000..303c3fd9a706
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartStatistics.idl
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#define __com_sun_star_chart_ChartStatistics_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartErrorCategory_idl__
+#include <com/sun/star/chart/ChartErrorCategory.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartErrorIndicatorType_idl__
+#include <com/sun/star/chart/ChartErrorIndicatorType.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartRegressionCurveType_idl__
+#include <com/sun/star/chart/ChartRegressionCurveType.idl>
+#endif
+
+#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
+ <member>ChartStatistics::ErrorCategory</member> is set to
+ <member>ChartErrorCategory::CONSTANT_VALUE</member>.</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
+ <member>ChartStatistics::ErrorCategory</member> is set to
+ <member>ChartErrorCategory::CONSTANT_VALUE</member>.</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 percentatge of its value.</p>
+
+ <p>this setting is effective if the
+ <member>ChartStatistics::ErrorCategory</member> is set to
+ <member>ChartErrorCategory::PERCENT</member>.</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
+ <member>ChartStatistics::ErrorCategory</member> is set to
+ <member>ChartErrorCategory::ERROR_MARGIN</member>.</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 positve error bars. This
+ property is used when the <type>ErrorBarCategory</type> is set
+ to <member>ErrorBarCategory::FROM_DATA</member>.
+ */
+ [optional, property] string ErrorBarRangePositive;
+
+ /** contains a cell range string for negative error bars. This
+ property is used when the <type>ErrorBarCategory</type> is set
+ to <member>ErrorBarCategory::FROM_DATA</member>.
+ */
+ [optional, property] string ErrorBarRangeNegative;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/ChartSymbolType.idl b/offapi/com/sun/star/chart/ChartSymbolType.idl
new file mode 100644
index 000000000000..2b669055c33b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSymbolType.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ChartDataPointProperties::SymbolBitmapURL</member> 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
diff --git a/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl
new file mode 100644
index 000000000000..a9f72f0824cc
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartTableAddressSupplier_idl__
+#define __com_sun_star_chart_ChartTableAddressSupplier_idl__
+
+#ifndef __com_sun_star_chart_ChartSeriesAddress_idl__
+#include <com/sun/star/chart/ChartSeriesAddress.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/chart/ChartTitle.idl b/offapi/com/sun/star/chart/ChartTitle.idl
new file mode 100644
index 000000000000..a35ba37300cd
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTitle.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartTitle_idl__
+#define __com_sun_star_chart_ChartTitle_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::drawing">XShape</type>
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+ //-------------------------------------------------------------------------
+
+ /** If a <type>ChartTitle</type> 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::UserDefinedAttributeSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** 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 can not 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
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl
new file mode 100644
index 000000000000..66e1970da564
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisXSupplier_idl__
+
+#ifndef __com_sun_star_chart_XTwoAxisXSupplier_idl__
+#include <com/sun/star/chart/XTwoAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl
new file mode 100644
index 000000000000..cba1dfd64b32
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+
+#ifndef __com_sun_star_chart_XTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/XTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/DataLabelPlacement.idl b/offapi/com/sun/star/chart/DataLabelPlacement.idl
new file mode 100644
index 000000000000..20639b5c7108
--- /dev/null
+++ b/offapi/com/sun/star/chart/DataLabelPlacement.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl
new file mode 100644
index 000000000000..854baadb38cc
--- /dev/null
+++ b/offapi/com/sun/star/chart/Diagram.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_Diagram_idl__
+#define __com_sun_star_chart_Diagram_idl__
+
+#ifndef __com_sun_star_chart_XDiagram_idl__
+#include <com/sun/star/chart/XDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XAxisSupplier_idl__
+#include <com/sun/star/chart/XAxisSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XDiagramPositioning_idl__
+#include <com/sun/star/chart/XDiagramPositioning.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XSecondAxisTitleSupplier_idl__
+#include <com/sun/star/chart/XSecondAxisTitleSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartDataRowSource_idl__
+#include <com/sun/star/chart/ChartDataRowSource.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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., <type>PieDiagram</type> or
+ <type>LineDiagram</type>, can be instantiated by the
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type> of
+ the <type>XChartDocument</type>.</p>
+
+ */
+published service Diagram
+{
+
+ interface com::sun::star::chart::XDiagram;
+
+ /** Provides easier access to the differnet 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 <type scope="com::sun::star::drawing">XShape</type>
+ to set a concrete position (note <type scope="com::sun::star::chart">XDiagram</type> is derived from <type scope="com::sun::star::drawing">XShape</type>).
+ */
+ [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 <type scope="com::sun::star::drawing">XShape</type>
+ to set a concrete size (note <type scope="com::sun::star::chart">XDiagram</type> is derived from <type scope="com::sun::star::drawing">XShape</type>).
+ */
+ [optional, property] boolean AutomaticSize;
+
+ //-------------------------------------------------------------------------
+
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ /** If a <type>Diagram</type> 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::UserDefinedAttributeSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** 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
diff --git a/offapi/com/sun/star/chart/Dim3DDiagram.idl b/offapi/com/sun/star/chart/Dim3DDiagram.idl
new file mode 100644
index 000000000000..16d010c26a58
--- /dev/null
+++ b/offapi/com/sun/star/chart/Dim3DDiagram.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_Dim3DDiagram_idl__
+#define __com_sun_star_chart_Dim3DDiagram_idl__
+
+#ifndef __com_sun_star_chart_X3DDisplay_idl__
+#include <com/sun/star/chart/X3DDisplay.idl>
+#endif
+#ifndef __com_sun_star_chart_X3DDefaultSetter_idl__
+#include <com/sun/star/chart/X3DDefaultSetter.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 suiteable 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
diff --git a/offapi/com/sun/star/chart/DonutDiagram.idl b/offapi/com/sun/star/chart/DonutDiagram.idl
new file mode 100644
index 000000000000..ff041f4561e0
--- /dev/null
+++ b/offapi/com/sun/star/chart/DonutDiagram.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_DonutDiagram_idl__
+#define __com_sun_star_chart_DonutDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/ErrorBarStyle.idl b/offapi/com/sun/star/chart/ErrorBarStyle.idl
new file mode 100755
index 000000000000..12738b4e60a2
--- /dev/null
+++ b/offapi/com/sun/star/chart/ErrorBarStyle.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ChartStatistics::ConstantErrorLow</member> and
+ <member>ChartStatistics::ConstantErrorHigh</member></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
+ <member>ChartStatistics::PercentageError</member> 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
+ <member>ChartStatistics::ErrorMargin</member> 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
+ <member>ChartStatistics::ErrorBarRangePositive</member> for
+ positive indicators and
+ <member>ChartStatistics::ErrorBarRangeNegative</member> for
+ negative indicators.</p>
+ */
+ const long FROM_DATA = 7;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/FilledNetDiagram.idl b/offapi/com/sun/star/chart/FilledNetDiagram.idl
new file mode 100644
index 000000000000..bb6682ad4688
--- /dev/null
+++ b/offapi/com/sun/star/chart/FilledNetDiagram.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_FilledNetDiagram_idl__
+#define __com_sun_star_chart_FilledNetDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_StackableDiagram_idl__
+#include <com/sun/star/chart/StackableDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/LineDiagram.idl b/offapi/com/sun/star/chart/LineDiagram.idl
new file mode 100644
index 000000000000..b9a118238486
--- /dev/null
+++ b/offapi/com/sun/star/chart/LineDiagram.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_LineDiagram_idl__
+#define __com_sun_star_chart_LineDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisZSupplier_idl__
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Dim3DDiagram_idl__
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_StackableDiagram_idl__
+#include <com/sun/star/chart/StackableDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <member>ChartSymbolType::NONE</member> and
+ <member>ChartSymbolType::AUTO</member> are supported. Later
+ versions may support the selection of the symbols shape.</p>
+
+ <p>If you set this property to
+ <member>ChartSymbolType::AUTO</member>, you can change the
+ symbol shape for objects supporting the service
+ <type>ChartDataPointProperties</type> or
+ <type>ChartDataRowProperties</type>.</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.
+
+ <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>
+ </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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/MissingValueTreatment.idl b/offapi/com/sun/star/chart/MissingValueTreatment.idl
new file mode 100644
index 000000000000..d695ea5e0020
--- /dev/null
+++ b/offapi/com/sun/star/chart/MissingValueTreatment.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/NetDiagram.idl b/offapi/com/sun/star/chart/NetDiagram.idl
new file mode 100644
index 000000000000..328e33b50c69
--- /dev/null
+++ b/offapi/com/sun/star/chart/NetDiagram.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_NetDiagram_idl__
+#define __com_sun_star_chart_NetDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_StackableDiagram_idl__
+#include <com/sun/star/chart/StackableDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/PieDiagram.idl b/offapi/com/sun/star/chart/PieDiagram.idl
new file mode 100644
index 000000000000..54010971d450
--- /dev/null
+++ b/offapi/com/sun/star/chart/PieDiagram.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_PieDiagram_idl__
+#define __com_sun_star_chart_PieDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Dim3DDiagram_idl__
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/StackableDiagram.idl b/offapi/com/sun/star/chart/StackableDiagram.idl
new file mode 100644
index 000000000000..b30cb7f410c8
--- /dev/null
+++ b/offapi/com/sun/star/chart/StackableDiagram.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/StockDiagram.idl b/offapi/com/sun/star/chart/StockDiagram.idl
new file mode 100644
index 000000000000..9d960468b17b
--- /dev/null
+++ b/offapi/com/sun/star/chart/StockDiagram.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_StockDiagram_idl__
+#define __com_sun_star_chart_StockDiagram_idl__
+
+#ifndef __com_sun_star_chart_XStatisticDisplay_idl__
+#include <com/sun/star/chart/XStatisticDisplay.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member>Diagram::DataRowSource</member>). Then you need tables of
+ the following structures for different types:</p>
+
+ <p><strong>
+ <member>StockDiagram::Volume</member> is <FALSE/><br>
+ <member>StockDiagram::UpDown</member> is <FALSE/>
+ </strong>
+ <table border>
+ <tr><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td></tr>
+ </table></p>
+
+ <p><strong>
+ <member>StockDiagram::Volume</member> is <TRUE/><br>
+ <member>StockDiagram::UpDown</member> is <FALSE/>
+ </strong>
+ <table border>
+ <tr><td><strong>Volume</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td></tr>
+ </table></p>
+
+ <p><strong>
+ <member>StockDiagram::Volume</member> is <FALSE/><br>
+ <member>StockDiagram::UpDown</member> is <TRUE/>
+ </strong>
+ <table border>
+ <tr><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td></tr>
+ </table></p>
+
+ <p><strong>
+ <member>StockDiagram::Volume</member> is <TRUE/><br>
+ <member>StockDiagram::UpDown</member> 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>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</td><td>&hellip;</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 <type>BarDiagram</type>.</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 <member>StockDiagram::Volume</member> 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
diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl
new file mode 100644
index 000000000000..3eba8d903c63
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeIncrement.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>::com::sun::star::chart::TimeInterval</type>
+ 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 <type>::com::sun::star::chart::TimeInterval</type>
+ 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 <type>::com::sun::star::chart::TimeUnit</type>
+ 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 choosen automatically by the application.
+ */
+ any TimeResolution;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl
new file mode 100644
index 000000000000..c1280f815655
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeInterval.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>::com::sun::star::chart::TimeUnit</type>.</p>
+ */
+ long TimeUnit;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/TimeUnit.idl b/offapi/com/sun/star/chart/TimeUnit.idl
new file mode 100644
index 000000000000..37cbd55d1a94
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeUnit.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart/X3DDefaultSetter.idl b/offapi/com/sun/star/chart/X3DDefaultSetter.idl
new file mode 100644
index 000000000000..d002b9d4e76d
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDefaultSetter.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_X3DDefaultSetter_idl__
+#define __com_sun_star_chart_X3DDefaultSetter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** makes it easy to set suiteable 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 suiteable default for the rotation of the current 3D chart.
+ The result may depend on the current chart type.
+ */
+ void setDefaultRotation();
+
+ /** set suiteable 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
diff --git a/offapi/com/sun/star/chart/X3DDisplay.idl b/offapi/com/sun/star/chart/X3DDisplay.idl
new file mode 100644
index 000000000000..f117ccc7b4af
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDisplay.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_X3DDisplay_idl__
+#define __com_sun_star_chart_X3DDisplay_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl
new file mode 100755
index 000000000000..763e2f45412b
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxis.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XAxis_idl
+#define com_sun_star_chart_XAxis_idl
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+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 <type>ChartTitle</type>.
+ */
+ com::sun::star::beans::XPropertySet getAxisTitle();
+
+ /** @returns
+ the properties of the major grid of the axis. The returned object supports service <type>ChartGrid</type>.
+ */
+ com::sun::star::beans::XPropertySet getMajorGrid();
+
+ /** @returns
+ the properties of the minor grid of the axis. The returned object supports service <type>ChartGrid</type>.
+ */
+ com::sun::star::beans::XPropertySet getMinorGrid();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl
new file mode 100755
index 000000000000..cf2bde2e310d
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XAxisSupplier_idl
+#define com_sun_star_chart_XAxisSupplier_idl
+
+#ifndef __com_sun_star_chart_XAxis_idl__
+#include <com/sun/star/chart/XAxis.idl>
+#endif
+
+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 <type>ChartAxis</type>.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says wether 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 <type>ChartAxis</type>.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says wether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/XAxisXSupplier.idl b/offapi/com/sun/star/chart/XAxisXSupplier.idl
new file mode 100644
index 000000000000..5a66136d25f0
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisXSupplier.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XAxisXSupplier_idl__
+#define __com_sun_star_chart_XAxisXSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>PieDiagram</type>.</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
diff --git a/offapi/com/sun/star/chart/XAxisYSupplier.idl b/offapi/com/sun/star/chart/XAxisYSupplier.idl
new file mode 100644
index 000000000000..a84562415948
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisYSupplier.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XAxisYSupplier_idl__
+#define __com_sun_star_chart_XAxisYSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>PieDiagram</type>.</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
diff --git a/offapi/com/sun/star/chart/XAxisZSupplier.idl b/offapi/com/sun/star/chart/XAxisZSupplier.idl
new file mode 100644
index 000000000000..220aef76afb2
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisZSupplier.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XAxisZSupplier_idl__
+#define __com_sun_star_chart_XAxisZSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/XChartData.idl b/offapi/com/sun/star/chart/XChartData.idl
new file mode 100644
index 000000000000..4bcb4b199704
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartData.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XChartData_idl__
+#define __com_sun_star_chart_XChartData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartDataChangeEventListener_idl__
+#include <com/sun/star/chart/XChartDataChangeEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type>XChartDataChangeEventListener</type> interface to
+ register as listener. The component will be notified with a
+ <type>ChartDataChangeEvent</type> 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
+ <member>XChartData::getNotANumber</member> 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
diff --git a/offapi/com/sun/star/chart/XChartDataArray.idl b/offapi/com/sun/star/chart/XChartDataArray.idl
new file mode 100644
index 000000000000..4e7519864382
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataArray.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#define __com_sun_star_chart_XChartDataArray_idl__
+
+#ifndef __com_sun_star_chart_XChartData_idl__
+#include <com/sun/star/chart/XChartData.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** gives access to data represented as an array of rows.
+
+ <p>Can be obtained from interface <type>XChartDocument</type> via method getData().</p>
+
+ <p>If used for an <type>XYDiagram</type>, 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
diff --git a/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl
new file mode 100644
index 000000000000..13b6145a452f
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XChartDataChangeEventListener_idl__
+#define __com_sun_star_chart_XChartDataChangeEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartDataChangeEvent_idl__
+#include <com/sun/star/chart/ChartDataChangeEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XChartData</type> 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
diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl
new file mode 100644
index 000000000000..1ffd268be59d
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDocument.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XChartDocument_idl__
+#define __com_sun_star_chart_XChartDocument_idl__
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XDiagram_idl__
+#include <com/sun/star/chart/XDiagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartData_idl__
+#include <com/sun/star/chart/XChartData.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type>X3DDisplay</type>.</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
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>,
+ which should be implemented by an
+ <type>XChartDocument</type>.
+ */
+ void setDiagram( [in] com::sun::star::chart::XDiagram xDiagram );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the data of the chart.
+
+ <p>The returned object supports interface <type>XChartDataArray</type>
+ which can be used to access the concrete data.</p>
+
+ <p>Since OOo 3.3 the returned object also supports interface <type>XComplexDescriptionAccess</type>
+ which can be used to access complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 the returned object also supports interface <type>XDateCategories</type>.</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 <type>XChartDataArray</type>.</p>
+
+ <p>Since OOo 3.3 if the given object might support interface <type>XComplexDescriptionAccess</type>
+ which allows to set complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 if the given object might support interface <type>XDateCategories</type>
+ 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
diff --git a/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl
new file mode 100755
index 000000000000..4e5af5f3ba83
--- /dev/null
+++ b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XComplexDescriptionAccess_idl__
+#define __com_sun_star_chart_XComplexDescriptionAccess_idl__
+
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** Offers access to complex column and row descriptions.
+
+<p>Can be obtained from interface <type>XChartDocument</type> 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
diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl
new file mode 100755
index 000000000000..868670cb9c6f
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDateCategories.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XChartDocument</type> 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
diff --git a/offapi/com/sun/star/chart/XDiagram.idl b/offapi/com/sun/star/chart/XDiagram.idl
new file mode 100644
index 000000000000..959ec6ce9dcd
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagram.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XDiagram_idl__
+#define __com_sun_star_chart_XDiagram_idl__
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl
new file mode 100644
index 000000000000..f64bbef4b641
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDiagramPositioning.idl,v $
+ * $Revision: 1.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XDiagramPositioning_idl__
+#define __com_sun_star_chart_XDiagramPositioning_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ 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 automtically
+ */
+ void setAutomaticDiagramPositioning();
+
+ /** @returns whether the diagram is placed automtically
+ */
+ 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
diff --git a/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl
new file mode 100644
index 000000000000..fcd347eeed47
--- /dev/null
+++ b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl
@@ -0,0 +1,24 @@
+#ifndef __com_sun_star_chart_XSecondAxisTitleSupplier_idl__
+#define __com_sun_star_chart_XSecondAxisTitleSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+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 \ No newline at end of file
diff --git a/offapi/com/sun/star/chart/XStatisticDisplay.idl b/offapi/com/sun/star/chart/XStatisticDisplay.idl
new file mode 100644
index 000000000000..a81038ab0c6d
--- /dev/null
+++ b/offapi/com/sun/star/chart/XStatisticDisplay.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XStatisticDisplay_idl__
+#define __com_sun_star_chart_XStatisticDisplay_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** gives access to statistical elements for the chart.
+
+ <p>Statistical elements are used by a
+ <type>StockDiagram</type>.</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
+ <member>StockDiagram::UpDown</member> 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
+ <member>StockDiagram::UpDown</member> 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
diff --git a/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl
new file mode 100644
index 000000000000..2fbbf8f6cbf5
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisXSupplier_idl__
+
+#ifndef __com_sun_star_chart_XAxisXSupplier_idl__
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl
new file mode 100644
index 000000000000..01c8839df463
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisYSupplier_idl__
+
+#ifndef __com_sun_star_chart_XAxisYSupplier_idl__
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/XYDiagram.idl b/offapi/com/sun/star/chart/XYDiagram.idl
new file mode 100644
index 000000000000..501608669f0c
--- /dev/null
+++ b/offapi/com/sun/star/chart/XYDiagram.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart_XYDiagram_idl__
+#define __com_sun_star_chart_XYDiagram_idl__
+
+#ifndef __com_sun_star_chart_Diagram_idl__
+#include <com/sun/star/chart/Diagram.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartStatistics_idl__
+#include <com/sun/star/chart/ChartStatistics.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_LineDiagram_idl__
+#include <com/sun/star/chart/LineDiagram.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk
new file mode 100644
index 000000000000..7c9d53e12eed
--- /dev/null
+++ b/offapi/com/sun/star/chart/makefile.mk
@@ -0,0 +1,126 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csschart
+PACKAGE=com$/sun$/star$/chart
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleChartElement.idl\
+ AccessibleChartDocumentView.idl\
+ AreaDiagram.idl\
+ BarDiagram.idl\
+ BubbleDiagram.idl\
+ Chart3DBarProperties.idl\
+ ChartArea.idl\
+ ChartAxis.idl\
+ ChartAxisArrangeOrderType.idl\
+ ChartAxisAssign.idl\
+ ChartAxisMarks.idl\
+ ChartAxisPosition.idl\
+ ChartAxisLabelPosition.idl\
+ ChartAxisMarkPosition.idl\
+ ChartAxisType.idl\
+ ChartAxisXSupplier.idl\
+ ChartAxisYSupplier.idl\
+ ChartAxisZSupplier.idl\
+ ChartData.idl\
+ ChartDataArray.idl\
+ ChartDataCaption.idl\
+ ChartDataChangeEvent.idl\
+ ChartDataChangeType.idl\
+ ChartDataPoint.idl\
+ ChartDataPointProperties.idl\
+ ChartDataRow.idl\
+ ChartDataRowProperties.idl\
+ ChartDataRowSource.idl\
+ ChartDataValue.idl\
+ ChartDocument.idl\
+ ChartErrorCategory.idl\
+ ChartErrorIndicatorType.idl\
+ ChartGrid.idl\
+ ChartLegend.idl\
+ ChartLegendPosition.idl\
+ ChartLine.idl\
+ ChartPieSegmentProperties.idl\
+ ChartRegressionCurveType.idl\
+ ChartSeriesAddress.idl\
+ ChartSolidType.idl\
+ ChartStatistics.idl\
+ ChartSymbolType.idl\
+ ChartTableAddressSupplier.idl\
+ ChartTitle.idl\
+ ChartTwoAxisXSupplier.idl\
+ ChartTwoAxisYSupplier.idl\
+ DataLabelPlacement.idl\
+ TimeIncrement.idl \
+ Diagram.idl\
+ Dim3DDiagram.idl\
+ DonutDiagram.idl\
+ FilledNetDiagram.idl\
+ LineDiagram.idl\
+ MissingValueTreatment.idl\
+ NetDiagram.idl\
+ PieDiagram.idl\
+ StackableDiagram.idl\
+ StockDiagram.idl\
+ TimeUnit.idl\
+ TimeInterval.idl\
+ X3DDefaultSetter.idl\
+ X3DDisplay.idl\
+ XAxis.idl\
+ XAxisSupplier.idl\
+ XAxisXSupplier.idl\
+ XAxisYSupplier.idl\
+ XAxisZSupplier.idl\
+ XChartData.idl\
+ XChartDataArray.idl\
+ XChartDataChangeEventListener.idl\
+ XChartDocument.idl\
+ XComplexDescriptionAccess.idl\
+ XDateCategories.idl\
+ XDiagram.idl\
+ XDiagramPositioning.idl\
+ XStatisticDisplay.idl\
+ XTwoAxisXSupplier.idl\
+ XTwoAxisYSupplier.idl\
+ XSecondAxisTitleSupplier.idl\
+ XYDiagram.idl\
+ ErrorBarStyle.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/chart2/Axis.idl b/offapi/com/sun/star/chart2/Axis.idl
new file mode 100644
index 000000000000..009abd05a500
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Axis.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_Axis_idl
+#define com_sun_star_chart_Axis_idl
+
+#include <com/sun/star/beans/PropertySet.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 wether the labels are allowed to break into more than one line
+ */
+ [property] boolean TextBreak;
+
+ /** Determines wether the labels are allowed to overlap
+ */
+ [property] boolean TextOverlap;
+
+ /** Determines wether 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
+ <type>XDataSequence</type>s used by the data series attached
+ to it (see <member>XDataSequence::getNumberFormatKeyByIndex</member>).
+ </p>
+ */
+ [property, maybevoid] long NumberFormat;
+
+ [property] ::com::sun::star::awt::Size ReferencePageSize;
+
+ /** determines what kind of tickmarks should be shown for major ticks.
+
+ @see <type>TickmarkStyle</type>.
+ */
+ [property] long MajorTickmarks;
+
+ /** determines what kind of tickmarks should be shown for minor ticks.
+
+ @see <type>TickmarkStyle</type>.
+ */
+ [property] long MinorTickmarks;
+
+ /** Determines where the interval marks are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/AxisOrientation.idl b/offapi/com/sun/star/chart2/AxisOrientation.idl
new file mode 100644
index 000000000000..688535e26eba
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisOrientation.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl
new file mode 100644
index 000000000000..47cebc96388e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisType.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/CandleStickChartType.idl b/offapi/com/sun/star/chart2/CandleStickChartType.idl
new file mode 100644
index 000000000000..747531409fd3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CandleStickChartType.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ShowFirst</member> 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 <member>Japanese</member> 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 <type scope="com::sun::star::beans">XPropertySet</type>
+ given here must support the services
+ <type scope="com::sun::star::drawing">FillProperties</type>
+ and
+ <type scope="com::sun::star::drawing">LineProperties</type>.</p>
+ */
+ [maybevoid, property] com::sun::star::beans::XPropertySet WhiteDay;
+
+ /** If the candlestick chart shows japanese candlesticks, that is
+ the property <member>Japanese</member> 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 <type scope="com::sun::star::beans">XPropertySet</type>
+ given here must support the services
+ <type scope="com::sun::star::drawing">FillProperties</type>
+ and
+ <type scope="com::sun::star::drawing">LineProperties</type>.</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
diff --git a/offapi/com/sun/star/chart2/ChartDocument.idl b/offapi/com/sun/star/chart2/ChartDocument.idl
new file mode 100644
index 000000000000..c4927d8297be
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocument.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/XUndoSupplier.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
+ <type-scope="com::sun::star::frame">XModel</type>. 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;
+
+ [optional] interface XUndoSupplier;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl
new file mode 100644
index 000000000000..a0075b449aa4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="::com::sun::star::chart">ChartDocument</type> service and
+ is initialized with a
+ <type scope="::com::sun::star::chart2">ChartDocument</type> via
+ the <type scope="::com::sun::star::uno">XAggregation</type> interface.
+ */
+service ChartDocumentWrapper
+{
+ /** This service will be available for a
+ <type>ChartDocument</type> (of namespace chart2) through this
+ wrapper.
+ */
+ service ::com::sun::star::chart::ChartDocument;
+
+ /** provides the possibility to forward requests to a
+ <type>ChartDocument</type>.
+ */
+ interface ::com::sun::star::uno::XAggregation;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/ChartType.idl b/offapi/com/sun/star/chart2/ChartType.idl
new file mode 100644
index 000000000000..266ab33fc8d2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartType.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/ChartTypeManager.idl b/offapi/com/sun/star/chart2/ChartTypeManager.idl
new file mode 100644
index 000000000000..2d47cc007ef5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeManager.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_ChartTypeManager_idl
+#define com_sun_star_chart_ChartTypeManager_idl
+
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A factory for creating <type>ChartTypeTemplate</type>s.
+ */
+service ChartTypeManager
+{
+ /** A factory for creating objects the support the service
+ <type>ChartTypeTemplate</type>.
+ */
+ service ::com::sun::star::lang::MultiServiceFactory;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+#endif
diff --git a/offapi/com/sun/star/chart2/ChartTypeTemplate.idl b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl
new file mode 100644
index 000000000000..a3801a745e63
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl
@@ -0,0 +1,25 @@
+#ifndef com_sun_star_chart_ChartTypeTemplate_idl
+#define com_sun_star_chart_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
diff --git a/offapi/com/sun/star/chart2/CoordinateSystem.idl b/offapi/com/sun/star/chart2/CoordinateSystem.idl
new file mode 100644
index 000000000000..41695eb199af
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystem.idl
@@ -0,0 +1,56 @@
+#ifndef com_sun_star_chart2_CoordinateSystem_idl
+#define com_sun_star_chart2_CoordinateSystem_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef com_sun_star_chart2_XScale_idl
+#include <com/sun/star/chart2/XScale.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+service CoordinateSystem
+{
+ /**
+ */
+ interface XCoordinateSystem;
+
+ /** a coordinate system can contain several charttypes, which than 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
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemType.idl b/offapi/com/sun/star/chart2/CoordinateSystemType.idl
new file mode 100644
index 000000000000..faba718fe384
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemType.idl
@@ -0,0 +1,36 @@
+#ifndef com_sun_star_chart2_CoordinateSystemType_idl
+#define com_sun_star_chart2_CoordinateSystemType_idl
+
+// #ifndef com_sun_star_chart2_XCoordinateSystemType_idl
+// #include <com/sun/star/chart2/XCoordinateSystemType.idl>
+// #endif
+
+//=============================================================================
+
+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 it's 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
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl
new file mode 100644
index 000000000000..40de71ad6fb3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl
@@ -0,0 +1,17 @@
+#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
diff --git a/offapi/com/sun/star/chart2/CurveStyle.idl b/offapi/com/sun/star/chart2/CurveStyle.idl
new file mode 100644
index 000000000000..e8f97fde9b77
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CurveStyle.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 smoothed B-spline curve. The
+ data points themselves are not necessarily part of to the
+ curve.
+ */
+ B_SPLINES,
+
+ /**
+ */
+ NURBS
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/CustomLegendEntry.idl b/offapi/com/sun/star/chart2/CustomLegendEntry.idl
new file mode 100644
index 000000000000..9668eaf90de4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CustomLegendEntry.idl
@@ -0,0 +1,50 @@
+#ifndef com_sun_star_chart_CustomLegendEntry_idl
+#define com_sun_star_chart_CustomLegendEntry_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/XLegendSymbolProvider.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A legend entry that does not depend on data series or other chart
+ objects. It may contain any text a user specifies.
+ */
+service CustomLegendEntry
+{
+ /** Is used to identify an object as one that may be shown in a
+ legend.
+ */
+ interface XLegendEntry;
+
+ /** Is used to display a legend text
+ */
+ interface XTitled;
+
+ /** If the legend entry should contain a user-defined symbol, you
+ have to implement this interface.
+ */
+ [optional] interface XLegendSymbolProvider;
+
+ /** must be supported, if properties are implemented
+ */
+ [optional] service ::com::sun::star::beans::XPropertySet;
+
+ /** determines what kind of symbol is displayed next to the entry
+ in the legend.
+ */
+ [optional, property] LegendSymbolStyle SymbolStyle;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/DataPoint.idl b/offapi/com/sun/star/chart2/DataPoint.idl
new file mode 100644
index 000000000000..9278ffb3566c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPoint.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/XStyle.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 <type scope="com::sun::star::style">Style</type>.
+
+ <p>It should provide templates for all properties in this
+ service, thus it must also support <type>DataPoint</type>.</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
diff --git a/offapi/com/sun/star/chart2/DataPointGeometry3D.idl b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl
new file mode 100644
index 000000000000..a751491a99a5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/chart2/DataPointLabel.idl b/offapi/com/sun/star/chart2/DataPointLabel.idl
new file mode 100644
index 000000000000..f0a73b5a2a51
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointLabel.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>ShowNumberInPercent</member>
+ */
+ boolean ShowNumber;
+
+ /** This is only effective, if <member>ShowNumber</member> 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;
+};
+
+//=============================================================================
+
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/DataPointProperties.idl b/offapi/com/sun/star/chart2/DataPointProperties.idl
new file mode 100644
index 000000000000..1b3974ff37a4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointProperties.idl
@@ -0,0 +1,328 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/awt/Gradient.idl>
+#include <com/sun/star/drawing/Hatch.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+#include <com/sun/star/style/XStyle.idl>
+
+#include <com/sun/star/chart2/BitmapProperty.idl>
+#include <com/sun/star/chart2/TransparencyStyle.idl>
+#include <com/sun/star/chart2/DataCaptionStyle.idl>
+#include <com/sun/star/chart2/Symbol.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service DataPointProperties
+{
+ /** to give acces to the properties required by this service.
+ */
+ service ::com::sun::star::beans::PropertySet;
+
+ // ----------------------------------------------------------------------
+
+ /** 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 <member>Color</member> 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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ <type scope="com::sun::star::uno">XMultiServiceFactory</type>
+ of the <type>ChartDocument</type>.
+ */
+ [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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ <type scope="com::sun::star::uno">XMultiServiceFactory</type>
+ of the <type>ChartDocument</type>.
+ */
+ [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
+ witdh 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 a 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 datapoint.
+ Number is one of constant group <type>DataPointGeometry3D</type>.
+ <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 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 ::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 <type scope="com::sun::star::beans">XPropertySet</type>
+ must support the service <type>ErrorBar</type>.</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 <type scope="com::sun::star::beans">XPropertySet</type>
+ must support the service <type>ErrorBar</type>.</p>
+ */
+ [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarY;
+
+ /** In case <member>ErrorBarX</member> and
+ <member>ErrorBarY</member> 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;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/DataSeries.idl b/offapi/com/sun/star/chart2/DataSeries.idl
new file mode 100644
index 000000000000..e78592fb7144
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataSeries.idl
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/style/XStyle.idl>
+
+//#include <com/sun/star/chart2/ChartTypeSupplier.idl>
+#include <com/sun/star/chart2/CoordinateSystemSupplier.idl>
+#include <com/sun/star/chart2/data/XDataSink.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/data/XDataSeries.idl>
+#include <com/sun/star/chart2/XRegressionCurveContainer.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+ // NOTES
+
+ // kombinierbarkeit - data series combiner (andere Komponente?)
+ //
+ // coordinatesystem-supplier
+ //
+ // chart-typ ? property string rendererServiceName
+
+
+/** reflects the model data of the object that has all the information
+ for a <type>DataRenderer</type> to create a visible data series in
+ a chart.
+
+ <p>It combines one or more <type>DataSequence</type>s 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
+ <type scope="com::sun::star::container">XIndexAccess</type>
+ are of type
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ and support the service
+ <type>DataPoint</type>.
+ */
+// interface ::com::sun::star::container::XIndexContainer;
+
+ /** establishes a broadcaster-listener mechanism for the
+ <type scope="com::sun::star::container">XIndexContainer</type>
+ to keep changes and the property
+ <member>DataSeries::AttributedDataPoints</member> 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
+ <member>DataSeries::DataSequenceRoles</member> 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 <member>DataPointProperties</member> of the data
+ series.</p>
+
+ <p>If the sequence is empty, that means that all data points
+ look alike. They are formatted using the propery values set
+ in the data series.</p>
+
+ <p>The indexes in this sequence match the indexes used by the
+ <type>XIndexContainer</type>.</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 wether 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 wether 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;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl
new file mode 100644
index 000000000000..2ca0e1ade86d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Diagram.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_Diagram_idl
+#define com_sun_star_chart_Diagram_idl
+
+#ifndef com_sun_star_chart2_XDiagram_idl__
+#include <com/sun/star/chart2/XDiagram.idl>
+#endif
+
+#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/layout/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 suiteable 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 diagam 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::layout::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;
+
+ /** 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;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/ErrorBar.idl b/offapi/com/sun/star/chart2/ErrorBar.idl
new file mode 100644
index 000000000000..c9f87c92e4f7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ErrorBar.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_ErrorBar_idl
+#define com_sun_star_chart_ErrorBar_idl
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/chart/ErrorBarStyle.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;
+ /**
+ */
+ [property] ::com::sun::star::chart::ErrorBarStyle 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
diff --git a/offapi/com/sun/star/chart2/ExponentialScaling.idl b/offapi/com/sun/star/chart2/ExponentialScaling.idl
new file mode 100644
index 000000000000..95fd88853c71
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ExponentialScaling.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_ExponentialScaling_idl
+#define com_sun_star_chart2_ExponentialScaling_idl
+
+#ifndef com_sun_star_chart2_XScaling_idl
+#include <com/sun/star/chart2/XScaling.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ service Scaling;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/FillBitmap.idl b/offapi/com/sun/star/chart2/FillBitmap.idl
new file mode 100644
index 000000000000..a3020b50b8b0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FillBitmap.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_FillBitmap_idl
+#define com_sun_star_chart2_FillBitmap_idl
+
+// #ifndef __com_sun_star_awt_XBitmap_idl__
+// #include <com/sun/star/awt/XBitmap.idl>
+// #endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_BitmapMode_idl__
+#include <com/sun/star/drawing/BitmapMode.idl>
+#endif
+#ifndef __com_sun_star_drawing_RectanglePoint_idl__
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#endif
+
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** This strucutre 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 witdh 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 a 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
diff --git a/offapi/com/sun/star/chart2/FormattedString.idl b/offapi/com/sun/star/chart2/FormattedString.idl
new file mode 100644
index 000000000000..5c9c094adc5d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FormattedString.idl
@@ -0,0 +1,44 @@
+#ifndef com_sun_star_chart_XFormattedString_idl
+#define com_sun_star_chart_XFormattedString_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#include <com/sun/star/beans/PropertySet.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
+{
+
+service FormattedString
+{
+ /**
+ */
+ service com::sun::star::beans::PropertySet;
+
+ service ::com::sun::star::style::CharacterProperties;
+ [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
+ [optional] service ::com::sun::star::style::CharacterPropertiesComplex;
+
+ /**
+ */
+ interface XFormattedString;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/GridProperties.idl b/offapi/com/sun/star/chart2/GridProperties.idl
new file mode 100644
index 000000000000..878e63ec2569
--- /dev/null
+++ b/offapi/com/sun/star/chart2/GridProperties.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_GridProperties_idl
+#define com_sun_star_chart_GridProperties_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart2/XGrid.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 redered by the view.
+ */
+ [property] boolean Show;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl
new file mode 100644
index 000000000000..ffd595807ce9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/IncrementData.idl
@@ -0,0 +1,65 @@
+#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 <type>Axis</type>
+@see <type>Grid</type>
+@see <type>Scale</type>
+@see <type>XScaling</type>
+*/
+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;
+
+ /**
+ <member>PostEquidistant</member> rules wether the member <member>Distance</member>
+ describes a distance before or after the scaling is applied.
+
+ <p>If <member>PostEquidistant</member> equals <TRUE/> <member>Distance</member>
+ is given in values after <type>XScaling</type> is applied, thus resulting
+ main tickmarks will always look equidistant on the screen.
+ If <member>PostEquidistant</member> equals <FALSE/> <member>Distance</member>
+ is given in values before <type>XScaling</type> 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;
+
+ /** <member>SubIncrements</member> 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
diff --git a/offapi/com/sun/star/chart2/InterpretedData.idl b/offapi/com/sun/star/chart2/InterpretedData.idl
new file mode 100644
index 000000000000..0eedd9c44df3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/InterpretedData.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_InterpretedData_idl
+#define com_sun_star_chart2_InterpretedData_idl
+
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** offers tooling to interpret different data sources in a structural
+ and chart-type-dependent way.
+ */
+struct InterpretedData
+{
+ /**
+ */
+ sequence< sequence< XDataSeries > > Series;
+
+ /**
+ */
+ data::XLabeledDataSequence Categories;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/Legend.idl b/offapi/com/sun/star/chart2/Legend.idl
new file mode 100644
index 000000000000..0d51492ae4c2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Legend.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/LegendExpansion.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 <type>Diagram</type>.
+ */
+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 <member>LegendExpansion::HIGH</member>
+ for a legend that is positioned on the right or left hand
+ side. Use <member>LegendExpansion::WIDE</member> for a legend
+ that is positioned on top or the bottom.</p>
+ */
+ [property] LegendExpansion Expansion;
+
+ /** Determines, whether the legend should be redered by the view.
+ */
+ [property] boolean Show;
+
+ /** 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
+ <member>AnchorPosition</member>.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/LegendExpansion.idl b/offapi/com/sun/star/chart2/LegendExpansion.idl
new file mode 100644
index 000000000000..8a51a47bb3a1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LegendExpansion.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_LegendExpansion_idl
+#define com_sun_star_chart_LegendExpansion_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+enum LegendExpansion
+{
+ /** The legend is laid out such that it is wider that high. The
+ aspect ratio is greater than 1.
+
+ <p>This is usually used for legends that are displayed at the
+ top or bottom of the page.</p>
+ */
+ WIDE,
+
+ /** The legend is laid out such that it is higher that wide. The
+ aspect ratio is less than 1.
+
+ <p>This is usually used for legends that are displayed on the
+ left or right hand side of the page.</p>
+ */
+ HIGH,
+
+ /** The legend is laid out such that height and width are not
+ differing too much. It is not guaranteed to have an aspect
+ ratio of 1.
+ */
+ BALANCED,
+
+ /** The aspect ratio of the legend is given explicitly
+ */
+ CUSTOM
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/LegendPosition.idl b/offapi/com/sun/star/chart2/LegendPosition.idl
new file mode 100644
index 000000000000..0cdd32270eb5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LegendPosition.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_LegendPosition_idl
+#define com_sun_star_chart_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
diff --git a/offapi/com/sun/star/chart2/LegendSymbolStyle.idl b/offapi/com/sun/star/chart2/LegendSymbolStyle.idl
new file mode 100644
index 000000000000..13d47ee3a7c9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LegendSymbolStyle.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_LegendSymbolStyle_idl
+#define com_sun_star_chart_LegendSymbolStyle_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/chart2/XTitle.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+enum LegendSymbolStyle
+{
+ /** A square box with border.
+ */
+ BOX,
+
+ /** A rectangle that is wider than high with border.
+ */
+ BAR,
+
+ /** A square box with border, that may change its aspect ratio if
+ the layout of the legend requires this.
+ */
+ RECTANGLE,
+
+ /** A filled rectangle with no border that uses all the space
+ available for the legend entry's symbol, leaving no padding
+ space. This is especially useful for legends representing a
+ color-scale.
+ */
+ STRETCHED_RECTANGLE,
+
+ /** A line extending from the left edge to the right edge
+ */
+ HORIZONTAL_LINE,
+
+ /** A line extending from the top edge to the bottom edge
+ */
+ VERTICAL_LINE,
+
+ /** A line spanning the diagonal of the box you would get with
+ <member>BOX</member>.
+ */
+ DIAGONAL_LINE,
+
+ /** A line like with <member>LINE</member>, but with a small
+ bordered square box in the middle.
+ */
+ LINE_WITH_BOX,
+
+ /** A line like with <member>LINE</member>, but with the symbol
+ that is returned by <member>XLegendEntry::getSymbol</member>
+ (see also <member>USER_DEFINED</member>).
+ */
+ LINE_WITH_SYMBOL,
+
+ /** A bordered circle which has the same bounding-box as the
+ <member>BOX</member>.
+ */
+ CIRCLE,
+
+ /** Use the symbol that is returned by
+ <member>XLegendEntry::getSymbol</member>.
+ */
+ USER_DEFINED
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/LightSource.idl b/offapi/com/sun/star/chart2/LightSource.idl
new file mode 100644
index 000000000000..d437338ede7c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LightSource.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_LightSource_idl
+#define com_sun_star_chart_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
diff --git a/offapi/com/sun/star/chart2/LinearScaling.idl b/offapi/com/sun/star/chart2/LinearScaling.idl
new file mode 100644
index 000000000000..6d1b4c90aa38
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LinearScaling.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_LinearScaling_idl
+#define com_sun_star_chart2_LinearScaling_idl
+
+#ifndef com_sun_star_chart2_XScaling_idl
+#include <com/sun/star/chart2/XScaling.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module chart2 {
+
+//=============================================================================
+
+/** Scaling that scales a value <em>x</em> by calculating <em>m &middot;
+ 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
+{
+ service Scaling;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/LogarithmicScaling.idl b/offapi/com/sun/star/chart2/LogarithmicScaling.idl
new file mode 100644
index 000000000000..0c6c2eedba26
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogarithmicScaling.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_LogarithmicScaling_idl
+#define com_sun_star_chart2_LogarithmicScaling_idl
+
+#ifndef com_sun_star_chart2_XScaling_idl
+#include <com/sun/star/chart2/XScaling.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ service Scaling;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/LogicTargetModel.idl b/offapi/com/sun/star/chart2/LogicTargetModel.idl
new file mode 100644
index 000000000000..f4edf4f31c0d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogicTargetModel.idl
@@ -0,0 +1,41 @@
+#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 chartdocument.
+ */
+ [ readonly, property ] string ID;
+
+ /** identifies an instance of the service com::sun::star::chart2::LegendModel within one chartdocument.
+ * 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
diff --git a/offapi/com/sun/star/chart2/MutableDataSequence.idl b/offapi/com/sun/star/chart2/MutableDataSequence.idl
new file mode 100644
index 000000000000..8c37c8d74de5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/MutableDataSequence.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_MutableDataSequence_idl
+#define com_sun_star_chart2_MutableDataSequence_idl
+
+#include <com/sun/star/chart2/DataSequence.idl>
+#include <com/sun/star/chart2/XMutableDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+service MutableDataSequence
+{
+ /** provides read-access to and structural properties of the
+ underlying data.
+ */
+ service DataSequence;
+
+ /** provides write-access to the underlying data.
+ */
+ interface ::com::sun::star::chart2::XMutableDataSequence;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/PieChartOffsetMode.idl b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl
new file mode 100644
index 000000000000..0210ed104a52
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/PowerScaling.idl b/offapi/com/sun/star/chart2/PowerScaling.idl
new file mode 100644
index 000000000000..1d82f2a8f951
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PowerScaling.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_PowerScaling_idl
+#define com_sun_star_chart2_PowerScaling_idl
+
+#ifndef com_sun_star_chart2_XScaling_idl
+#include <com/sun/star/chart2/XScaling.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ service Scaling;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/PropertyPool.idl b/offapi/com/sun/star/chart2/PropertyPool.idl
new file mode 100644
index 000000000000..dfceeaf102ae
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PropertyPool.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::style">Style</type> implies the
+ implementation of
+ <type scope="com::sun::star::beans">XPropertySet</type>, the
+ method
+ <member scope="com::sun::star::style">XDefaultsSupplier::getDefaults</member>
+ should return itself.
+ */
+ interface ::com::sun::star::style::XDefaultsSupplier;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/RegressionCurve.idl b/offapi/com/sun/star/chart2/RegressionCurve.idl
new file mode 100644
index 000000000000..4a7c416bf40b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurve.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+
+// /**
+// */
+// interface ::com::sun::star::lang::XServiceName;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/RegressionCurveEquation.idl b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl
new file mode 100644
index 000000000000..99204903f192
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>
+
+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] 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 \ No newline at end of file
diff --git a/offapi/com/sun/star/chart2/RelativePosition.idl b/offapi/com/sun/star/chart2/RelativePosition.idl
new file mode 100644
index 000000000000..7363a47f8f5a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativePosition.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_RelativePosition_idl
+#define com_sun_star_chart2_RelativePosition_idl
+
+#ifndef __com_sun_star_drawing_Alignment_idl__
+#include <com/sun/star/drawing/Alignment.idl>
+#endif
+
+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 coorediantes. If Anchor is RIGHT the right middle corner of the object will
+ be placed at the given coorediantes.</p>
+ */
+ ::com::sun::star::drawing::Alignment Anchor;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/RelativeSize.idl b/offapi/com/sun/star/chart2/RelativeSize.idl
new file mode 100644
index 000000000000..669bf0f0df24
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativeSize.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>Orientation</type>. 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 <type>Orientation</type> 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
+ <type>Orientation</type>. 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 <type>Orientation</type> this is the
+ height.</p>
+ */
+ double Secondary;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl
new file mode 100644
index 000000000000..9bb51005e206
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ScaleData.idl
@@ -0,0 +1,93 @@
+#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
+ <const>AxisOrientation::MATHEMATICAL</const> rotates the pie
+ counterclockwise, the value <const>AxisOrientation::REVERSE</const>
+ 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;
+
+ 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 <type>AxisType</type>.</p>
+ */
+ long AxisType;
+
+ /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates
+ */
+ boolean AutoDateAxis;
+
+ /** describes wether 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
diff --git a/offapi/com/sun/star/chart2/Scaling.idl b/offapi/com/sun/star/chart2/Scaling.idl
new file mode 100644
index 000000000000..47b554dbc72e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Scaling.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_Scaling_idl
+#define com_sun_star_chart2_Scaling_idl
+
+#ifndef com_sun_star_chart2_XScaling_idl
+#include <com/sun/star/chart2/XScaling.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module chart2 {
+
+//=============================================================================
+
+/** stateless service
+*/
+service Scaling
+{
+ /** required interface
+ */
+ interface com::sun::star::chart2::XScaling;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/StackingDirection.idl b/offapi/com/sun/star/chart2/StackingDirection.idl
new file mode 100644
index 000000000000..fcdb098d8a96
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StackingDirection.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
new file mode 100644
index 000000000000..6733715f1703
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_StandardDiagramCreationParameters_idl
+#define com_sun_star_chart_StandardDiagramCreationParameters_idl
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** parameters that may be passed to
+ <member>XChartTypeTemplate::createDiagramByDataSource</member>.
+ */
+service StandardDiagramCreationParameters
+{
+ /** States whether the first <type>XLabeledDataSequence</type> 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
diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl
new file mode 100644
index 000000000000..b886f2c531fb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SubIncrement.idl
@@ -0,0 +1,27 @@
+#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
diff --git a/offapi/com/sun/star/chart2/Symbol.idl b/offapi/com/sun/star/chart2/Symbol.idl
new file mode 100644
index 000000000000..3743a68253a1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Symbol.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_Symbol_idl
+#define com_sun_star_chart2_Symbol_idl
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#endif
+
+#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 <member>Style</member> is set
+ to <member>SymbolStlye::STANDARD</member>.
+
+ <p>If n is the number of standard symbols available in an
+ implementation, the symbol number is
+ <member>StandardSymbol</member> 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 rules="groups">
+ <thead>
+ <tr><th>&nbsp;value StandardSymbol&nbsp;</th><th>&nbsp;visible Symbol&nbsp;</th></tr>
+ </thead>
+ <tbody>
+ <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>
+ </tbody>
+ </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 insted of longs
+ */
+ com::sun::star::awt::Size Size;
+
+ /** The color used for drawing the border of symbols.
+
+ <p>Only effective if <member>Style</member> is
+ <member>SymbolStyle::AUTO</member>,
+ <member>SymbolStyle::STANDARD</member> or
+ <member>SymbolStyle::POLYGON</member>.</p>
+ */
+ long BorderColor;
+
+ /** The color used for filling symbols that contain closed polygons.
+
+ <p>Only effective if <member>Style</member> is
+ <member>SymbolStyle::AUTO</member>,
+ <member>SymbolStyle::STANDARD</member> or
+ <member>SymbolStyle::POLYGON</member>.</p>
+ */
+ long FillColor;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/chart2/SymbolStyle.idl b/offapi/com/sun/star/chart2/SymbolStyle.idl
new file mode 100644
index 000000000000..654ed38923c2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SymbolStyle.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>Symbol::StandardSymbol</member>.
+ */
+ STANDARD,
+
+ /** uses the symbol given in the
+ <type scope="com::sun::star::drawing">PolyPolygonBezierCoords</type>
+ given in <member>Symbol::PolygonCoords</member>.
+ */
+ POLYGON,
+
+ /** uses the graphic given in
+ <member>Symbol::Graphic</member> as symbol.
+ */
+ GRAPHIC
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/chart2/TextAnchor.idl b/offapi/com/sun/star/chart2/TextAnchor.idl
new file mode 100644
index 000000000000..b5de66e70eb8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TextAnchor.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_TextAnchor_idl
+#define com_sun_star_chart2_TextAnchor_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+constants TextAnchor
+{
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/TickmarkStyle.idl b/offapi/com/sun/star/chart2/TickmarkStyle.idl
new file mode 100644
index 000000000000..88e27470d83e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TickmarkStyle.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/Title.idl b/offapi/com/sun/star/chart2/Title.idl
new file mode 100644
index 000000000000..d28cdcb6c4f9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Title.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_Title_idl
+#define com_sun_star_chart_Title_idl
+
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/layout/LayoutElement.idl>
+
+#include <com/sun/star/chart2/XTitle.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
+{
+
+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;
+ [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
diff --git a/offapi/com/sun/star/chart2/TransparencyStyle.idl b/offapi/com/sun/star/chart2/TransparencyStyle.idl
new file mode 100644
index 000000000000..13a1c93b1154
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TransparencyStyle.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/ViewLegendEntry.idl b/offapi/com/sun/star/chart2/ViewLegendEntry.idl
new file mode 100644
index 000000000000..0e5ea231628c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ViewLegendEntry.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_ViewLegendEntry_idl
+#define com_sun_star_chart2_ViewLegendEntry_idl
+
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/chart2/XFormattedString.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module chart2 {
+
+//=============================================================================
+
+/**
+ */
+struct ViewLegendEntry
+{
+ /** The legend symbol that represents a data series or other
+ information contained in the legend
+ */
+ ::com::sun::star::drawing::XShape aSymbol;
+
+ /** The descriptive text for a legend entry.
+ */
+ sequence< XFormattedString > aLabel;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
new file mode 100755
index 000000000000..ca455c401264
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_chart2_XAnyDescriptionAccess_idl__
+#define __com_sun_star_chart2_XAnyDescriptionAccess_idl__
+
+#ifndef __com_sun_star_chart_XComplexDescriptionAccess_idl__
+#include <com/sun/star/chart/XComplexDescriptionAccess.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>XChartDocument</type> 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
diff --git a/offapi/com/sun/star/chart2/XAxis.idl b/offapi/com/sun/star/chart2/XAxis.idl
new file mode 100644
index 000000000000..55a9089da0cf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAxis.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XAxis_idl
+#define com_sun_star_chart_XAxis_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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
+ <type>GridProperties</type>
+ */
+ com::sun::star::beans::XPropertySet getGridProperties();
+
+ /** the returned property sets must support the service
+ <type>GridProperties</type>
+
+ <p>If you do not want to render certain a sub-grid, in the
+ corresponding <type>XPropertySet</type> the property
+ <member>GridProperties::Show</member> must be <FALSE/>.</p>
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubGridProperties();
+
+ /** the returned property sets must support the service
+ <type>TickProperties</type>
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubTickProperties();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XChartDocument.idl b/offapi/com/sun/star/chart2/XChartDocument.idl
new file mode 100644
index 000000000000..890b54a5112d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartDocument.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 chose 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 chose 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
+ <type scope="com::sun::star::chart2">XDataProvider</type> 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
+ <member>createInternalDataProvider</member> 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
+ <member scope="com::sun::star::frame">XModel::initNew</member>.
+ </p>
+ */
+ boolean hasInternalDataProvider();
+
+ /** Returns the currently set data provider. This may be an
+ internal one, if <member>createInternalDataProvider</member>
+ has been called before, or an external one if
+ <member>XDataReceiver::attachDataProvider</member> has been
+ called.
+ */
+ data::XDataProvider getDataProvider();
+
+ /** sets a new component that is able to create different chart
+ type templates (components of type
+ <type>ChartTypeTemplate</type>)
+ */
+ void setChartTypeManager( [in] XChartTypeManager xNewManager );
+
+ /** retrieves the component that is able to create different chart
+ type templates (components of type
+ <type>ChartTypeTemplate</type>)
+ */
+ 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
+ <member>XDiagram::getWall</member>.</p>
+ */
+ com::sun::star::beans::XPropertySet getPageBackground();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XChartShape.idl b/offapi/com/sun/star/chart2/XChartShape.idl
new file mode 100644
index 000000000000..c58f35023457
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShape.idl
@@ -0,0 +1,96 @@
+#ifndef com_sun_star_chart2_XChartShape_idl
+#define com_sun_star_chart2_XChartShape_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef com_sun_star_chart2_XTransformation_idl
+#include <com/sun/star/chart2/XTransformation.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/chart2/XChartShapeContainer.idl b/offapi/com/sun/star/chart2/XChartShapeContainer.idl
new file mode 100644
index 000000000000..f7505e030de6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShapeContainer.idl
@@ -0,0 +1,36 @@
+#ifndef com_sun_star_chart2_XChartShapeContainer_idl
+#define com_sun_star_chart2_XChartShapeContainer_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/chart2/XChartType.idl b/offapi/com/sun/star/chart2/XChartType.idl
new file mode 100644
index 000000000000..fb395790ff9b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartType.idl
@@ -0,0 +1,75 @@
+#ifndef com_sun_star_chart2_XChartType_idl
+#define com_sun_star_chart2_XChartType_idl
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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 charttype.
+ */
+ string getChartType();
+
+ /** Creates a coordinate systems that fits the chart-type with its
+ current settings and for the given dimension.
+
+ @throws IllegalArgumentException
+ This charttype 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 undestood by this chart
+ type.
+
+ <p>All roles must be listed in the order in which they are
+ usually parsed. This ensures that glueing 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
+ <member>XChartType::getSupportedMandatoryRoles()</member>).
+
+ <p>An example for an optional role are error-bars.</p>
+ */
+ sequence< string > getSupportedOptionalRoles();
+
+ /** Returns the role of the <type>XLabeledDataSequence</type> of
+ which the label will be taken to identify the
+ <type>DataSeries</type> in dialogs or the legend.
+ */
+ string getRoleOfSequenceForSeriesLabel();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XChartTypeContainer.idl b/offapi/com/sun/star/chart2/XChartTypeContainer.idl
new file mode 100644
index 000000000000..c9e61ff9d9e8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeContainer.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XChartTypeContainer_idl
+#define com_sun_star_chart2_XChartTypeContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#ifndef com_sun_star_chart_XChartType_idl
+#include <com/sun/star/chart2/XChartType.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+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 deries 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
diff --git a/offapi/com/sun/star/chart2/XChartTypeManager.idl b/offapi/com/sun/star/chart2/XChartTypeManager.idl
new file mode 100644
index 000000000000..efc9e7a12e16
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeManager.idl
@@ -0,0 +1,27 @@
+#ifndef com_sun_star_chart_XChartTypeManager_idl
+#define com_sun_star_chart_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
diff --git a/offapi/com/sun/star/chart2/XChartTypeTemplate.idl b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
new file mode 100644
index 000000000000..05308ba7dfcf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XChartTypeTemplate_idl
+#define com_sun_star_chart_XChartTypeTemplate_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#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 <type>DataSeries</type> 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 <type>StandardDiagramCreationParameters</type>.
+ </p>
+
+ @return
+ The new diagram which represents this
+ <type>ChartTypeTemplate</type>.
+ */
+ XDiagram createDiagramByDataSource(
+ [in] 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
+ <type>DataSeries</type> and <type>Categories</type> and
+ creates a new diagram based on these series.
+
+ <p>Note, that if <member>matchesTemplate</member> returns
+ <TRUE/> for the given <type>XDiagram</type>, the latter should
+ not be changed.</p>
+
+ @param xDiagram
+ The diagram given will be modified such that it represents
+ this <type>ChartTypeTemplate</type>.
+ */
+ 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 <member>matchesTemplate</member> call for the
+ given diagram should return <TRUE/> before this method is
+ called.</p>
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the <type>DataSeries</type> 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 <type>StandardDiagramCreationParameters</type>.
+ </p>
+ */
+ void changeDiagramData(
+ [in] XDiagram xDiagram,
+ [in] 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 <type>DataSeriesTree</type> of
+ the diagram to determine if the structure matches the one
+ which would have been created by
+ <member>createDiagramByDataSource</member>.</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
+ itselfs stays unmodified.
+
+ @return
+ <TRUE/> if the diagram given is structurally identical to
+ a diagram that was created using
+ <member>createDiagramByDataSource</member> or
+ <member>changeDiagram</member>. 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 charttypes during the creation of a new chart type.
+ The list might be empty.
+ */
+ XChartType getChartTypeForNewSeries( [in] sequence< XChartType > aFormerlyUsedChartTypes );
+
+ /**
+ */
+ XDataInterpreter getDataInterpreter();
+
+ /** Applies default styles to the given XDataSeries.
+
+ The default implementation assigns the system-wide chart-color defaults
+ as "Color" property to all series.
+
+ @param nIndex
+ The index of the series. This is used to obtain a default style
+ (e.g. color) for the nth series.
+ */
+// void applyDefaultStyle( [in] XDataSeries xSeries,
+// [in] long nSeriesIndex );
+
+ /** 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 <member>createDiagramByDataSource</member> or
+ <member>changeDiagram</member> 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
+ <type scope="com::sun::star::drawing">LineStyle</type> 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
diff --git a/offapi/com/sun/star/chart2/XColorScheme.idl b/offapi/com/sun/star/chart2/XColorScheme.idl
new file mode 100644
index 000000000000..6b29a0b9eb75
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XColorScheme.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
new file mode 100644
index 000000000000..0756321cdbed
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XCoordinateSystem_idl
+#define com_sun_star_chart2_XCoordinateSystem_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#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 wether it is a x, y or z axis.
+ The index says wether 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 wether it is a x, y or z axis.
+ The index indicates wether 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 inbetween do not have an axis.
+ /*/
+ long getMaximumAxisIndexByDimension( [in] long nDimension )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl
new file mode 100644
index 000000000000..afbd6066e063
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XCoordinateSystemContainer : com::sun::star::uno::XInterface
+{
+ /** add an 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
diff --git a/offapi/com/sun/star/chart2/XDataInterpreter.idl b/offapi/com/sun/star/chart2/XDataInterpreter.idl
new file mode 100644
index 000000000000..14238dc531a5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataInterpreter.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XDataInterpreter_idl
+#define com_sun_star_chart2_XDataInterpreter_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#include <com/sun/star/chart2/InterpretedData.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** offers tooling to interpret different data sources in a structural
+ and chart-type-dependent way.
+ */
+interface XDataInterpreter : ::com::sun::star::uno::XInterface
+{
+ /** Interprets the given data.
+
+ @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 <type>StandardDiagramCreationParameters</type>.
+ </p>
+
+ @param aSeriesToReUse
+ use all the data series given here for the result before
+ creating new ones.
+ */
+ InterpretedData interpretDataSource(
+ [in] data::XDataSource xSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments,
+ [in] sequence< XDataSeries > aSeriesToReUse );
+
+ /** Re-interprets the data given in <code>aInterpretedData</code>
+ while keeping the number of data series and the categories.
+ */
+ InterpretedData reinterpretDataSeries( [in] InterpretedData aInterpretedData );
+
+ /** parses the given data and states, if a
+ <member>reinterpretDataSeries</member> call can be done
+ without data loss.
+
+ @return
+ <TRUE/>, if the data given in
+ <code>aInterpretedData</code> has a similar structure than
+ the one required is used as output of the data interpreter.
+ */
+ boolean isDataCompatible( [in] InterpretedData aInterpretedData );
+
+ /** Try to reverse the operation done in
+ <member>interpretDataSource</member>.
+
+ <p>In case <code>aInterpretedData</code> is the result of
+ <member>interpretDataSource</member>( <code>xSource</code> ),
+ the result of this method should be <code>xSource</code>.</p>
+ */
+ data::XDataSource mergeInterpretedData( [in] InterpretedData aInterpretedData );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XDataSeries.idl b/offapi/com/sun/star/chart2/XDataSeries.idl
new file mode 100644
index 000000000000..aa55196ef67d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeries.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XDataSeries_idl
+#define com_sun_star_chart2_XDataSeries_idl
+
+// #include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+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::IndexOutOfBoundException
+ 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 formattings are cleared
+ */
+ void resetAllDataPoints();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XDataSeriesContainer.idl b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl
new file mode 100644
index 000000000000..659120d67ec6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XDataSeriesContainer_idl
+#define com_sun_star_chart2_XDataSeriesContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#ifndef com_sun_star_chart_XDataSeries_idl
+#include <com/sun/star/chart2/XDataSeries.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+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 deries 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
diff --git a/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl
new file mode 100644
index 000000000000..30694a87e7f0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_xdefaultsizetransmitter_idl
+#define com_sun_star_chart2_xdefaultsizetransmitter_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Allows to set a default size. This size will be used in case no further informations are available.
+ */
+interface XDefaultSizeTransmitter : ::com::sun::star::uno::XInterface
+{
+ /** set a default size
+ @param aSize_100TH_MM
+ specifies a size in hundredth mm.
+ */
+ void setDefaultSize( [in] ::com::sun::star::awt::Size aSize_100TH_MM );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl
new file mode 100644
index 000000000000..23b256e63349
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagram.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XDiagram_idl
+#define com_sun_star_chart2_XDiagram_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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 <type>XColorScheme</type> that defines the default
+ colors for data series (or data points) in the diagram.
+ */
+ XColorScheme getDefaultColorScheme();
+
+ /** sets an <type>XColorScheme</type> 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 <type>DataSeries</type> 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 <type>StandardDiagramCreationParameters</type>.
+ </p>
+ */
+ void setDiagramData( [in] data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XDiagramProvider.idl b/offapi/com/sun/star/chart2/XDiagramProvider.idl
new file mode 100644
index 000000000000..9aaf2771b5f6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagramProvider.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XDiagramProvider_idl
+#define com_sun_star_chart2_XDiagramProvider_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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
diff --git a/offapi/com/sun/star/chart2/XFastPropertyState.idl b/offapi/com/sun/star/chart2/XFastPropertyState.idl
new file mode 100644
index 000000000000..29d1e4c1b27f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFastPropertyState.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_beans_XFastPropertyState_idl__
+#define __com_sun_star_beans_XFastPropertyState_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module beans {
+
+//=============================================================================
+
+/** makes it possible to query information about the state of
+ one or more properties.
+
+ <p>The state contains the information if:</p>
+ <ul>
+ <li>a value is available or void</li>
+ <li>the value is stored in the object itself, or if a default value is to be used</li>
+ <li>and if the value cannot be determined, due to ambiguity
+ (multi selection with multiple values).</li>
+ </ul>
+ */
+interface XFastPropertyState: ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the state of the property.
+
+ @param aPropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ ::com::sun::star::beans::PropertyState getFastPropertyState( [in] long nHandle )
+ raises( ::com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of the states of the properties which are specified
+ by their names.
+
+ <p>The order of the states is correlating to the order of the
+ given property names. </p>
+
+ @param aPropertyNames
+ contains the sequence of property names.
+
+ @throws UnknownPropertyException
+ if one property does not exist.
+ */
+ sequence< ::com::sun::star::beans::PropertyState > getFastPropertyStates(
+ [in] sequence< long > aHandles )
+ raises( ::com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** Sets the property to default value.
+
+ <p>The value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value.
+ </p>
+
+ @param aPropertyname
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ void setFastPropertyToDefault( [in] long nHandle )
+ raises( ::com::sun::star::beans::UnknownPropertyException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the default value of the property with the name PropertyName.
+
+ <p>If no default exists, is not known or is void,
+ then the return type is <type>void</type>.
+
+ @param aPropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ <type scope="::com::sun::star::lang">WrappedTargetException</type>.
+ */
+ any getFastPropertyDefault( [in] long nHandle )
+ raises( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XFormattedString.idl b/offapi/com/sun/star/chart2/XFormattedString.idl
new file mode 100644
index 000000000000..28321493abf2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFormattedString.idl
@@ -0,0 +1,35 @@
+#ifndef com_sun_star_chart_XFormattedString_idl
+#define com_sun_star_chart_XFormattedString_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#include <com/sun/star/chart2/XFormattedString.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
diff --git a/offapi/com/sun/star/chart2/XInternalDataProvider.idl b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
new file mode 100644
index 000000000000..a1f9caa64092
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 );
+
+ /** @param 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] 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
diff --git a/offapi/com/sun/star/chart2/XLabeled.idl b/offapi/com/sun/star/chart2/XLabeled.idl
new file mode 100644
index 000000000000..4abaf59fd3ba
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLabeled.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XLabeled_idl
+#define com_sun_star_chart2_XLabeled_idl
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef com_sun_star_chart2_XTitle_idl
+#include <com/sun/star/chart2/XTitle.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RectanglePoint_idl__
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/chart2/XLegend.idl b/offapi/com/sun/star/chart2/XLegend.idl
new file mode 100644
index 000000000000..309aa148dd2a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLegend.idl
@@ -0,0 +1,59 @@
+#ifndef com_sun_star_chart_XLegend_idl
+#define com_sun_star_chart_XLegend_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#include <com/sun/star/chart2/XLegendEntry.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** interface for the legend of a diagram
+ */
+interface XLegend : ::com::sun::star::uno::XInterface
+{
+ /** The entry added is appended to the list, such that it appears
+ at the end of the legend.
+
+ @param xEntry
+
+ If it supports <type>CustomLegendEntry</type>,
+ the <type>XTitle</type> is used for displaying a text, and
+ the symbol is displayed according to the
+ <member>CustomLegendEntry::SymbolStyle</member> property.
+ */
+ void registerEntry( [in] XLegendEntry xEntry )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Removes an entry that was registered before
+
+ <p>(see <member>registerEntry</member>)</p>
+ */
+ void revokeEntry( [in] XLegendEntry xEntry )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** Returns a list of all legend entries in the order in which
+ they were registered.
+ */
+ sequence< XLegendEntry > getEntries();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XLegendEntry.idl b/offapi/com/sun/star/chart2/XLegendEntry.idl
new file mode 100644
index 000000000000..579c453dbd6a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLegendEntry.idl
@@ -0,0 +1,30 @@
+#ifndef com_sun_star_chart_XLegendEntry_idl
+#define com_sun_star_chart_XLegendEntry_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include "com/sun/star/chart2/XTitle.idl"
+#include "com/sun/star/chart2/LegendSymbolStyle.idl"
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Object type for Legend.
+ */
+interface XLegendEntry : ::com::sun::star::uno::XInterface
+{
+ // no methods, currently only used for type safety
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XLegendSymbolProvider.idl b/offapi/com/sun/star/chart2/XLegendSymbolProvider.idl
new file mode 100644
index 000000000000..56b2b082d317
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLegendSymbolProvider.idl
@@ -0,0 +1,35 @@
+#ifndef com_sun_star_chart_XLegendSymbolProvider_idl
+#define com_sun_star_chart_XLegendSymbolProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/**
+ */
+interface XLegendSymbolProvider : ::com::sun::star::uno::XInterface
+{
+ /** The returned shape is used for display in the legend. It may
+ also be used for display at a data points.
+
+ <p>The shape returned here, will be resized using
+ <member scope="com::sun::star::drawing">XShape::setSize</member>
+ to fit the available space in the legend.</p>
+ */
+ com::sun::star::drawing::XShape getSymbol();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XRegressionCurve.idl b/offapi/com/sun/star/chart2/XRegressionCurve.idl
new file mode 100644
index 000000000000..1e23edd1d0f1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurve.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
new file mode 100644
index 000000000000..e2d6f7dcca76
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+{
+ /** recalculates the parameters of the internal regression curve according to
+ the <it>x</it>- and <it>y</it>-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 <it>x</it>.
+
+ @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 <it>x</it> is element of the domain of the regression
+ curve function, the result is its value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <it>x</it> 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 <member>nPointCount</member> points. This is only
+ allowed if the parameter
+ <member>bMaySkipPointsInCalculation</member> 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 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 <it>r</it> or
+ <it>R</it>.
+
+ <p>The value of <it>r</it> is signed. Often
+ <it>r</it><sup>2</sup> is used instead of <it>r</it> to denote
+ a regression curve's accuray.</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 numnber format for formatting all numbers
+ contained in the formula.
+
+ @see getRepresentation
+ */
+ string getFormattedRepresentation( [in] com::sun::star::util::XNumberFormatsSupplier xNumFmtSupplier,
+ [in] long nNumberFormatKey );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl
new file mode 100644
index 000000000000..f54b351ef005
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveContainer : com::sun::star::uno::XInterface
+{
+ /** add an 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
diff --git a/offapi/com/sun/star/chart2/XScaling.idl b/offapi/com/sun/star/chart2/XScaling.idl
new file mode 100644
index 000000000000..569f29ff2128
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XScaling.idl
@@ -0,0 +1,32 @@
+#ifndef com_sun_star_chart2_XScaling_idl
+#define com_sun_star_chart2_XScaling_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module chart2 {
+
+//=============================================================================
+
+interface XScaling : ::com::sun::star::uno::XInterface
+{
+ /** needs to keep relative ordering
+ */
+ double doScaling([in] double value);
+ com::sun::star::chart2::XScaling getInverseScaling();
+
+ //maybe provide correction for Min/Max
+ //double getMinimum(); ?adjust <-> min/max may not exist
+ //double getMaximum();
+
+ //... or better/additionally?: provide default values for Min&Max
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XStyleSupplier.idl b/offapi/com/sun/star/chart2/XStyleSupplier.idl
new file mode 100644
index 000000000000..cfc4d34ca5fa
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XStyleSupplier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_style_XStyleSupplier_idl
+#define com_sun_star_style_XStyleSupplier_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_style_XStyle_idl__
+#include <com/sun/star/style/XStyle.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+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
+ <type>PropertyTemplate</type>.
+ */
+ ::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
+ <type>PropertyTemplate</type>.
+ */
+ void setStyle( [in] ::com::sun::star::style::XStyle xStyle )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // style
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XTarget.idl b/offapi/com/sun/star/chart2/XTarget.idl
new file mode 100644
index 000000000000..1e18166d35fb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTarget.idl
@@ -0,0 +1,33 @@
+#ifndef com_sun_star_chart2_XTarget_idl
+#define com_sun_star_chart2_XTarget_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+// #ifndef __com_sun_star_drawing_XShapes_idl__
+// #include <com/sun/star/drawing/XShapes.idl>
+// #endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/chart2/XTitle.idl b/offapi/com/sun/star/chart2/XTitle.idl
new file mode 100644
index 000000000000..9be6629c12df
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitle.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XTitle_idl
+#define com_sun_star_chart_XTitle_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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
diff --git a/offapi/com/sun/star/chart2/XTitled.idl b/offapi/com/sun/star/chart2/XTitled.idl
new file mode 100644
index 000000000000..4f6d2c1faf2a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitled.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_XTitled_idl
+#define com_sun_star_chart_XTitled_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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
+ <type>XTitle</type>.
+ */
+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
diff --git a/offapi/com/sun/star/chart2/XTransformation.idl b/offapi/com/sun/star/chart2/XTransformation.idl
new file mode 100644
index 000000000000..fe8d314948fb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTransformation.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_XTransformation_idl
+#define com_sun_star_chart2_XTransformation_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+ // NOTES
+
+ //... provide help for creating the right transfomation
+ //
+ // ... access to source and destination coordinate system ?
+
+/** allows the transformation of numeric values from one
+ coordinate-system into an other. Values may be transformed using
+ any mapping.
+ */
+interface XTransformation : ::com::sun::star::uno::XInterface
+{
+ /** transforms the given input data tuple, given in the source
+ coordinate system, according to the internal transformation
+ rules, into a tuple of transformed coordinates in the
+ destination coordinate system.
+
+ <p>Note that both coordinate systems may have different
+ dimensions, e.g., if a transformation does simply a projection
+ into a lower-dimensional space.</p>
+
+ @param aValues a source tuple of data that is to be
+ transformed. The length of this sequence must be
+ equivalent to the dimension of the source coordinate
+ system.
+
+ @return the transformed data tuple. The length of this
+ sequence is equal to the dimension of the output
+ coordinate system.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the dimension of the input vector is not equal to the
+ dimension given in <member>getSourceDimension</member>.
+ */
+ sequence< double > transform( [in] sequence< double > aValues )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** the dimension of the input coordinate sequence that is to be
+ transformed by the <member>transform</member> method.
+ */
+ long getSourceDimension();
+
+ /** the dimension of the output coordinate sequence that is the
+ result of the <member>transform</member> method.
+ */
+ long getTargetDimension();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..8cfadbd6d038
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataFilter.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..f9092c61f4b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataProvider.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart_data_DataProvider_idl
+#define com_sun_star_chart_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
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 000000000000..671f27575c1a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequence.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XDataSequence</type> it is possible to
+ transfer a complete sequence of values.
+
+ <p>With the optional
+ <type scope="com::sun::star::container">XIndexReplace</type> it is
+ possible to modify single elements, if the corresponding
+ <type>DataProvider</type> 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 acces to
+ numerical data. With this interface you can get a
+ <atom>sequence</atom> of <atom>double</atom> values.
+ */
+ [optional] interface XNumericalDataSequence;
+
+ /** you may implement this interface to allow a fast acces to
+ textual data. With this interface you can get a
+ <atom>sequence</atom> of <atom>string</atom> 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 <type>DataSequence</type>.</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 <type>XDataProvider</type>
+ 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
+ <type scope="com::sun::star::util">XNumberFormats</type>
+ object. This object can be retrieved by the
+ <type scope="com::sun::star::util">XNumberFormatsSupplier</type>
+ interface supported by
+ <type scope="com::sun::star::chart">ChartDocument</type>.</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
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 000000000000..4586faaed304
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>DataSequence</type>
+ 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 occured 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 occured during
+ trading.</dd>
+ </dl>
+ */
+typedef string DataSequenceRole;
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..035b01bd88b8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSink.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>DataSequence</type>s.
+ */
+service DataSink
+{
+ /** allows the write-access of the actual data.
+ */
+ interface XDataSink;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..549f2a03b5a7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSource.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>DataSequence</type>s.
+ */
+service DataSource
+{
+ /** allows the read-access of the actual data.
+ */
+ interface XDataSource;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..363d5a88484c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/HighlightedRange.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>RangeRepresentation</mamber> may be included in a
+ merged range rectangle spanning a bigger range.
+ */
+ boolean AllowMerginigWithOtherRanges;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
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 000000000000..0239db4ea482
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabelOrigin.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XDataSequence::generateLabel</member>.
+ */
+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
+ <member>XDataSequence::generateLabel</member> 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 <member>LabelOrigin::SHORT_SIDE</member>
+ */
+ 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
+
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 000000000000..d6dcf7f5efa4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_data_LabeledDataSequence_idl
+#define com_sun_star_chart2_data_LabeledDataSequence_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
+{
+
+/** describes a container for a sequence pair of value-sequences, one
+ for a label and one for the associated data.
+ */
+service LabeledDataSequence
+{
+ /** 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 <type>LabeledDataSequence</type> is cloned, it has to
+ query its contents for the
+ <type scope="com::sun::star::util">XCloneable</type> interface
+ and use it if available.</p>
+ */
+ [optional] interface ::com::sun::star::util::XCloneable;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..83f59166746c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XRangeHighlighter</type> in order to get notified about
+ selection changes that affect range hightlighting.
+ */
+service RangeHighlightListener
+{
+ /**
+ */
+ interface ::com::sun::star::view::XSelectionChangeListener;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
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 000000000000..cdf3dc637bbb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_data_RangeHighlighter_idl
+#define com_sun_star_chart2_data_RangeHighlighter_idl
+
+#include <com/sun/star/chart2/XRangeHighlighter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/**
+ */
+service RangeHighlighter
+{
+ /**
+ */
+ interface XRangeHighlighter;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
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 000000000000..a6a0e7c519d9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 adress string must be interpretable by the
+ component that implements <type>XDataProvider</type> and gets
+ this property as argument to
+ <member>XDataProvider::detectArguments</member>.</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
+ <member>DataRowSource</member>.</p>
+
+ <p>When used as output of
+ <member>XDataProvider::detectArguments</member> this is the
+ range that spans the ranges of all given
+ <type>XDataSequence</type>s. 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
+ <member scope="com::sun::star::chart">ChartDataRowSource::COLUMNS</member>,
+ 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
+ <type>XLabeledDataSequence</type> 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 exsisting
+ 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 a 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 <type>XDataSource</type>. 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
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 000000000000..11dac7aae3cd
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 textdocument tables there exists a
+ service <type>TabularDataProviderArguments</type>
+ describing valid values for this list.</p>
+
+ @return
+ a data source containing <type>DataSequence</type>s that
+ span the entire region given in <code>aArguments</code>.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ may be raised by the <type>XDataProvider</type> 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
+ <type>DataSource</type> most probably was created.
+
+ <p>if xDataSource is a data source that was created with
+ <member>createDataSource</member>, 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
+ <member>createDataSource</member> 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 );
+
+ /** 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
+ <type>XComponent</type>, in order to inform the receiver
+ about its lifetime.</p>
+ */
+ com::sun::star::sheet::XRangeSelection getRangeSelection();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..10602cee2f34
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataReceiver.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_data_XDataReceiver_idl
+#define com_sun_star_chart2_data_XDataReceiver_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef com_sun_star_chart2_data_XDataProvider_idl
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#endif
+
+#ifndef com_sun_star_chart2_data_XRangeHighlighter_idl
+#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
+#endif
+
+#ifndef com_sun_star_beans_PropertyValue_idl
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+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 <type>XNumberFormatsSupplier</type> to this
+ <type>XDataReceiver</type>.
+
+ <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 hightlight the
+ ranges used by the currently selected object in a chart.</p>
+
+ <p>The range hightlighter is optional, i.e., this method may
+ return an empty object.</p>
+ */
+ XRangeHighlighter getRangeHighlighter();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
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 000000000000..d821200cb772
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSequence.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 acces 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
+ <type>XDataSequence</type>.
+ */
+ string getSourceRangeRepresentation();
+
+ /** creates a label that describes the origin of this data
+ sequence.
+
+ <p>This is useful, if a <type>XLabeledDataSequence</type> 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 reveive
+ 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 Rangerepresentation 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
+ <type scope="com::sun::star::util">XNumberFormatsSupplier</type>
+ given by the <type>XDataProvider</type>, 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
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 000000000000..ec7f922bbc53
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSink.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XDataSource</type>.</p>
+ */
+interface XDataSink : ::com::sun::star::uno::XInterface
+{
+ /** sets new data sequences. The elements set here must support
+ the service <type>DataSequence</type>.
+
+ <p>If the data consist only of floating point numbers (double
+ values), the instances set here should also support the
+ service <type>NumericalDataSequence</type>.</p>
+
+ <p>If the data consist only of strings, the instances set here
+ should also support the service
+ <type>TextualDataSequence</type>.</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
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 000000000000..9fc4436a25b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSource.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>NumericalDataSequence</type>.</p>
+
+ <p>If the data stored consists only of strings, the returned
+ instances should also support the service
+ <type>TextualDataSequence</type>.</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 <type>DataSequence</type>.
+
+ <p>If the data stored consist only of floating point numbers
+ (double values), the returned instances should also support
+ the service <type>NumericalDataSequence</type>.</p>
+
+ <p>If the data stored consist only of strings, the returned
+ instances should also support the service
+ <type>TextualDataSequence</type>.</p>
+ */
+ sequence< XLabeledDataSequence > getDataSequences();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..260f97c7aa38
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl
@@ -0,0 +1,224 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XDatabaseDataProvider_idl__
+#define __com_sun_star_report_XDatabaseDataProvider_idl__
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+#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 <type>XDataProvider</type> 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 theses columns are used to identify the data for the subreport.
+ Each time the parent report changes it's 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. it's 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 paramater 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 paramter 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. it's 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 <member>CommandType</member> of <member>CommandType::COMMAND</member>,
+ means in case the <member>Command</member> specifies an SQL statement, the inherited
+ <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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 <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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><member>Command</member> needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningfull together with the <member>Command</member>
+ 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 addtional filter to optinally use.
+
+ <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
+
+ <p>If a <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
+ are specified, a <type>RowSet</type> 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 <member>ResultSet</member> 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 a additional sort order definition for a rowset.
+ */
+ [attribute,bound] string Order;
+
+ /** specifies if the <member>Command</member> 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 <member>Command</member> and
+ <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
+ equals <member>CommandType::COMMAND</member>.</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 datasource to use, this could be a named datasource
+ or the URL of a data access component.
+ */
+ [attribute,bound] string DataSourceName;
+};
+
+service DatabaseDataProvider : XDatabaseDataProvider
+{
+ createWithConnection([in] com::sun::star::sdbc::XConnection connection);
+};
+//=============================================================================
+
+ }; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
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 000000000000..dadba2306884
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>
+// #include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows acces 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 <type>XDataSequence</type> containing the actual
+ data.
+ */
+ XDataSequence getValues();
+
+ /** sets a new <type>XDataSequence</type> containing the actual
+ data.
+ */
+ void setValues( [in] XDataSequence xSequence );
+
+ /** returns an <type>XDataSequence</type> containing the label for
+ the labeled sequence.
+ */
+ XDataSequence getLabel();
+
+ /** sets a new <type>XDataSequence</type> containing the label for
+ the labeled sequence.
+ */
+ void setLabel( [in] XDataSequence xSequence );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..ef5be16be3f8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 acces to a one-dimensional sequence of double precision
+ floating-point numbers.
+ */
+interface XNumericalDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves data as <atom>double</atom> values.
+ */
+ sequence< double > getNumericalData();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..95cb9ce06de6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef com_sun_star_chart2_data_XRangeHighlighter_idl
+#define com_sun_star_chart2_data_XRangeHighlighter_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionChangeListener_idl__
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+#endif
+
+#ifndef com_sun_star_chart2_data_HighlightedRange_idl
+#include <com/sun/star/chart2/data/HighlightedRange.idl>
+#endif
+
+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
+ <method>XRangeHighlighter::addSelectionChangeListener</method>
+ before.
+ */
+ void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
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 000000000000..de9a1f5615a8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 spacce.</p>
+ */
+ string convertRangeToXML( [in] string aRangeRepresentation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts an XML-style range into the internal
+ <type>DataProvider</type>'s format.
+ */
+ string convertRangeFromXML( [in] string aXMLRange )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
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 000000000000..3f2786d34389
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 acces 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
diff --git a/offapi/com/sun/star/chart2/data/makefile.mk b/offapi/com/sun/star/chart2/data/makefile.mk
new file mode 100644
index 000000000000..f36f9e6c8ba3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+TARGET=csschart2data
+PACKAGE=com$/sun$/star$/chart2$/data
+
+PRJNAME=chart2
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+#-------------------------------------------------------------------
+
+IDLFILES= \
+ DataSequenceRole.idl \
+ HighlightedRange.idl \
+ LabelOrigin.idl \
+ XDataProvider.idl \
+ XDataReceiver.idl \
+ XDataSequence.idl \
+ XDataSink.idl \
+ XDataSource.idl \
+ XLabeledDataSequence.idl \
+ XNumericalDataSequence.idl \
+ XRangeHighlighter.idl \
+ XRangeXMLConversion.idl \
+ XTextualDataSequence.idl \
+ XDatabaseDataProvider.idl
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/chart2/makefile.mk b/offapi/com/sun/star/chart2/makefile.mk
new file mode 100644
index 000000000000..60cc8393e193
--- /dev/null
+++ b/offapi/com/sun/star/chart2/makefile.mk
@@ -0,0 +1,104 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+TARGET=csschart2
+PACKAGE=com$/sun$/star$/chart2
+
+PRJNAME=offapi
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+#-------------------------------------------------------------------
+
+IDLFILES= \
+ AxisType.idl \
+ AxisOrientation.idl \
+ CoordinateSystemTypeID.idl \
+ CurveStyle.idl \
+ DataPointGeometry3D.idl \
+ DataPointLabel.idl \
+ FillBitmap.idl \
+ IncrementData.idl \
+ InterpretedData.idl \
+ LegendExpansion.idl \
+ LegendPosition.idl \
+ LegendSymbolStyle.idl \
+ LightSource.idl \
+ PieChartOffsetMode.idl \
+ RelativePosition.idl \
+ RelativeSize.idl \
+ ScaleData.idl \
+ StackingDirection.idl \
+ SubIncrement.idl \
+ Symbol.idl \
+ SymbolStyle.idl \
+ TickmarkStyle.idl \
+ TransparencyStyle.idl \
+ ViewLegendEntry.idl \
+ XAnyDescriptionAccess.idl\
+ XAxis.idl \
+ XCoordinateSystem.idl \
+ XCoordinateSystemContainer.idl \
+ XChartDocument.idl \
+ XChartShape.idl \
+ XChartShapeContainer.idl \
+ XChartType.idl \
+ XChartTypeContainer.idl \
+ XChartTypeManager.idl \
+ XChartTypeTemplate.idl \
+ XColorScheme.idl \
+ XDataInterpreter.idl \
+ XDataSeries.idl \
+ XDataSeriesContainer.idl \
+ XDefaultSizeTransmitter.idl \
+ XDiagram.idl \
+ XDiagramProvider.idl \
+ XFastPropertyState.idl \
+ XFormattedString.idl \
+ XInternalDataProvider.idl \
+ XLabeled.idl \
+ XLegend.idl \
+ XLegendEntry.idl \
+ XLegendSymbolProvider.idl \
+ XRegressionCurve.idl \
+ XRegressionCurveCalculator.idl \
+ XRegressionCurveContainer.idl \
+ XScaling.idl \
+ XStyleSupplier.idl \
+ XTarget.idl \
+ XTitle.idl \
+ XTitled.idl \
+ XTransformation.idl \
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/configuration/AccessRootElement.idl b/offapi/com/sun/star/configuration/AccessRootElement.idl
new file mode 100644
index 000000000000..e6cab960ecb6
--- /dev/null
+++ b/offapi/com/sun/star/configuration/AccessRootElement.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_AccessRootElement_idl__
+#define __com_sun_star_configuration_AccessRootElement_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyElement_idl__
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XChangesNotifier_idl__
+#include <com/sun/star/util/XChangesNotifier.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::container">XChild</type> 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 <type>ConfigurationProvider</type> 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 <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ 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 an <type scope="com::sun::star::lang">XEventListener</type>
+ 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
+ <type scope="com::sun::star::util">XChangesListener</type>,
+ 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
+ <type scope="com::sun::star::util">ChangesEvent</type>. For Example:
+ </p>
+
+ <p>
+ If <member scope="com::sun::star::beans">XMultiPropertySet::setPropertyValues()</member>
+ or <member scope="com::sun::star::beans">XMultiHierarchicalPropertySet::setHierarchicalPropertyValues()</member>
+ 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
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ 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
+ <member scope="com::sun::star::lang">XLocalizable::setLocale()</member>
+ is therefore not recommended.
+ </p>
+*/
+ [optional] interface com::sun::star::lang::XLocalizable;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/AdministrationProvider.idl b/offapi/com/sun/star/configuration/AdministrationProvider.idl
new file mode 100644
index 000000000000..0c4a419fcf1f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/AdministrationProvider.idl
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_ConfigurationProvider_idl__
+#define __com_sun_star_configuration_ConfigurationProvider_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration {
+
+//=============================================================================
+/** manages one, or more, complete sets of configuration data for
+ administrative puposes 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 users' 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
+ <type scope="com::sun::star::lang">ServiceManager</type>. The arguments passed to
+ <member scope="com::sun::star::lang">XMultiComponentFactory::createInstanceWithContextAndArguments()</member>
+ 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 <type> ConfigurationProvider</type> 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 a <type>AdministrationProvider</type> 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <type>ConfigurationAccess</type>.
+ To reflect its <em>element role</em> as root of the view, it implements
+ service <type>AccessRootElement</type>.
+ </p>
+
+ <p>Using the second form requests an updatable view of the configuration.
+ The object that is created should implement service
+ <type>ConfigurationUpdateAccess</type>. To reflect its <em>element role</em>
+ which includes controlling updates for the whole view, it implements
+ service <type>UpdateRootElement</type>.
+ <BR />If the root element of the view is marked read-only (as indicated
+ by <const scope="com::sun::star::beans">PropertyAttributes::READONLY</const>),
+ the implementation may either raise an exception or return a (read-only)
+ <type>ConfigurationAccess</type>/<type>AccessRootElement</type> instead.
+ </p>
+
+ <p>The arguments passed to
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <type scope="com::sun::star::beans">PropertyValue</type>
+ or a <type scope="com::sun::star::beans">NamedValue</type>,
+ 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 <atom>string</atom>.
+ 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 decendants. The administrative entity is the default for the
+ <type>AdministrationProvider</type>. 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
+ <type>ConfigurationProvider</type>.
+ </p>
+ <p>One notable difference exists for parameter <code>"Locale"</code>. For a
+ <type>ConfigurationProvider</type> 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 <type>SetAccess</type> using the language names as accessors.
+ This also allows targetted setting of values for selected locales.
+ This behavior can be requested explicitly by specifing a special argument
+ value <code>locale = "*"</code>.
+ </p>
+
+ <p><member scope="com::sun::star::lang">XMultiServiceFactory::createInstance()</member>
+ 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ </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
+
+
diff --git a/offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl b/offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl
new file mode 100644
index 000000000000..7e6bb2daaaff
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CannotLoadConfigurationException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+#define __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/configuration/ConfigurationAccess.idl b/offapi/com/sun/star/configuration/ConfigurationAccess.idl
new file mode 100644
index 000000000000..41662f03f5e2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationAccess.idl
@@ -0,0 +1,265 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_ConfigurationAccess_idl__
+#define __com_sun_star_configuration_ConfigurationAccess_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyAccess_idl__
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_HierarchyElement_idl__
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_SetAccess_idl__
+#include <com/sun/star/configuration/SetAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_GroupAccess_idl__
+#include <com/sun/star/configuration/GroupAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_AccessRootElement_idl__
+#include <com/sun/star/configuration/AccessRootElement.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_SetElement_idl__
+#include <com/sun/star/configuration/SetElement.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_GroupElement_idl__
+#include <com/sun/star/configuration/GroupElement.idl>
+#endif
+
+//=============================================================================
+
+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 <atom>string</atom>.</p>
+ <p>Sequences are represented as <atom dim="[]">string</atom>.</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 <atom>boolean</atom>.
+ <p>Sequences are represented as <atom dim="[]">boolean</atom>.</p>
+ </li>
+ <li><strong>short</strong> can hold a 16-bit signed integer.
+ <p>Values are represented as <atom>short</atom>.</p>
+ <p>Sequences are represented as <atom dim="[]">short</atom>.</p>
+ </li>
+ <li><strong>int</strong> can hold a 32-bit signed integer.
+ <p>Values are represented as <atom>long</atom>.</p>
+ <p>Sequences are represented as <atom dim="[]">long</atom>.</p>
+ </li>
+ <li><strong>long</strong> can hold a 64-bit signed integer.
+ <p>Values are represented as <atom>hyper</atom>.</p>
+ <p>Sequences are represented as <atom dim="[]">hyper</atom>.</p>
+ </li>
+ <li><strong>double</strong> can hold a floating point number.
+ <p>Values are represented as <atom>double</atom>.</p>
+ <p>Sequences are represented as <atom dim="[]">double</atom>.</p>
+ </li>
+ <li><strong>binary</strong> can hold a sequence of octets.
+ <p>Values are represented as <atom dim="[]">byte</atom>.</p>
+ <p>Sequences are represented as <atom dim="[][]">byte</atom>.</p>
+ </li>
+ </ul>
+
+ <p>Within templates an additional type <strong>any</strong> can occur. When
+ such a template is used to create a new <type>SetElement</type>, the type
+ of the element is initially reported as <atom>any</atom> (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 <const scope="com::sun::star::beans">PropertyAttribute::MAYBEVOID</const> ),
+ its contents may be <NULL/>.
+ </p>
+
+ <p>The configuration should support explicit access to default values
+ (implementing <type scope="com::sun::star::beans">XPropertyState</type>
+ and <type scope="com::sun::star::beans">XPropertyWithState</type>).
+ </p>
+
+ @see ConfigurationProvider
+ Root instances of this service can be requested from a
+ <type>ConfigurationProvider</type>.
+
+ @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><type>SetAccess</type> if this element is a <em>Set</em>.</li>
+ <li><type>GroupAccess</type> 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><type>AccessRootElement</type> if this element is the
+ <em>Root</em> of the whole hierarchy. Objects that can be
+ created directly by a <type>ConfigurationProvider</type>
+ implement this service.</li>
+ <li><type>SetElement</type> if this element may be contained in a
+ <em>Set</em>.</li>
+ <li><type>GroupElement</type> if this element is a child of a
+ <em>Group</em>.</li>
+ </ul>
+
+ */
+ service HierarchyElement;
+
+ /** specializes <type>HierarchyAccess</type>, if this element is a <em>Set</em>.
+
+ <p>This is an alternative to <type>GroupAccess</type>.
+ </p>
+ */
+ [optional] service SetAccess;
+
+ /** specializes <type>HierarchyAccess</type>,
+ if this element is a <em>Group</em>.
+ <p>This is an alternative to <type>SetAccess</type>.
+ </p>
+ */
+ [optional] service GroupAccess;
+
+ /** specializes <type>HierarchyElement</type>,
+ if this element is the <em>Root</em> of the whole hierarchy.
+ <p>This is an alternative to <type>SetElement</type>
+ or <type>GroupElement</type>.
+ </p>
+
+ @see ConfigurationProvider
+ Instances obtained from a <type>ConfigurationProvider</type> will
+ implement this version of <type>HierarchyElement</type>.
+ */
+ [optional] service AccessRootElement;
+
+ /** specializes <type>HierarchyElement</type>,
+ if this element may be contained in a <em>Set</em>.
+ <p>This is an alternative to <type>AccessRootElement</type>
+ or <type>GroupElement</type>.
+ </p>
+ */
+ [optional] service SetElement;
+
+ /** specializes <type>HierarchyElement</type>,
+ if this element is a child of a <em>Group</em>.
+ <p>This is an alternative to <type>AccessRootElement</type>
+ or <type>SetElement</type>.
+ </p>
+*/
+ [optional] service GroupElement;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/ConfigurationProvider.idl b/offapi/com/sun/star/configuration/ConfigurationProvider.idl
new file mode 100644
index 000000000000..c6924acf6c6e
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationProvider.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_ConfigurationProvider_idl__
+#define __com_sun_star_configuration_ConfigurationProvider_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::lang">ServiceManager</type>. The arguments passed to
+ <member scope="com::sun::star::lang">XMultiComponentFactory::createInstanceWithContextAndArguments()</member>
+ select the configuration data source. Arguments must be provided as
+ <type scope="com::sun::star::beans">NamedValue</type>
+ or <type scope="com::sun::star::beans">PropertyValue</type>.
+ 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
+ <type scope="com::sun::star::configuration">DefaultProvider</type> object.
+ </p>
+ <p>Some arguments for
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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>
+ */
+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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <type>ConfigurationAccess</type>.
+ To reflect its <em>element role</em> as root of the view, it implements
+ service <type>AccessRootElement</type>.
+ </p>
+
+ <p>Using the second form requests an updatable view of the configuration.
+ The object that is created should implement service
+ <type>ConfigurationUpdateAccess</type>. To reflect its <em>element role</em>
+ which includes controlling updates for the whole view, it implements
+ service <type>UpdateRootElement</type>.
+ <BR />If the root element of the view is marked read-only (as indicated
+ by <const scope="com::sun::star::beans">PropertyAttributes::READONLY</const>),
+ the implementation may either raise an exception or return a (read-only)
+ <type>ConfigurationAccess</type>/<type>AccessRootElement</type> instead.
+ </p>
+
+ <p>The arguments passed to
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <type scope="com::sun::star::beans">PropertyValue</type>
+ or a <type scope="com::sun::star::beans">NamedValue</type>,
+ 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 <atom>string</atom>.
+ 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 decendants.
+ </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> : <atom>string</atom></dt>
+ <dd>specifies the location of the view root in the configuration.</dd>
+ <dt><code>"depth"</code> : <atom>short</atom></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> : <type scope="com::sun::star::lang">Locale</type></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> : <atom>boolean</atom></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
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ 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> : <atom>boolean</atom></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><member scope="com::sun::star::lang">XMultiServiceFactory::createInstance()</member>
+ 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ Note that the default provider is owned by the
+ <type scope="com::sun::star::lang">ServiceManager</type> 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
+
+
diff --git a/offapi/com/sun/star/configuration/ConfigurationRegistry.idl b/offapi/com/sun/star/configuration/ConfigurationRegistry.idl
new file mode 100644
index 000000000000..870af90e7986
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationRegistry.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_ConfigurationRegistry_idl__
+#define __com_sun_star_configuration_ConfigurationRegistry_idl__
+
+//=============================================================================
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+module com { module sun { module star { module configuration {
+
+//=============================================================================
+
+
+/* provides access to a configuration tree as a registry.
+
+ <p>This service is deprecated,
+ <type scope="com.sun.star.configuration">ConfigurationProvider</type> should
+ be used instead.</p>
+
+ <p> Using the <type scope="com::sun::star::registry">XSimpleRegistry</type>
+ interface, the service can be bound to a subtree within the
+ configuration tree, as provided by an
+ <type scope="com.sun.star.configuration">ConfigurationProvider</type>
+ 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
+ <member scope="com.sun.star.registry">XRegistryKey::createKey()</member> method is not allowed
+ for some nodes.
+ </p><p>
+ Thus anybody using this service is strongly advised to read and understand the specification
+ of an configuration provider (<type scope="com.sun.star.configuration">ConfigurationProvider</type>)
+ and all of it's aspects.
+ </p>
+
+ @author Frank Schoenheit
+ @version 1.0 2000/07/06
+*/
+
+published service ConfigurationRegistry
+{
+ /** controls the binding of the object to a configuration sub tree.
+ <p><member scope="com::sun::star::registry">XSimpleRegistry::open()</member>
+ 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
+ <type scope="com::sun::star::configuration">ConfigurationUpdateAccess</type>
+ service, all changes made to an configuration subtree have to be commited
+ before they become persistent.
+ To do this for a configuration accessed as a registry, call
+ <method scope="com::sun::star::util">XFlushable::flush</method>.
+ </p>
+ <p><strong>Warning:</strong><em>Changes that are not flushed will be
+ lost.</em>
+ </p>
+ */
+ interface com::sun::star::util::XFlushable;
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl
new file mode 100644
index 000000000000..bd13b167c2c5
--- /dev/null
+++ b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_ConfigurationUpdateAccess_idl__
+#define __com_sun_star_configuration_ConfigurationUpdateAccess_idl__
+
+#ifndef __com_sun_star_configuration_ConfigurationAccess_idl__
+#include <com/sun/star/configuration/ConfigurationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_SetUpdate_idl__
+#include <com/sun/star/configuration/SetUpdate.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_GroupUpdate_idl__
+#include <com/sun/star/configuration/GroupUpdate.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_UpdateRootElement_idl__
+#include <com/sun/star/configuration/UpdateRootElement.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration {
+
+//=============================================================================
+/** provides modifying access to a fragment of the configuration hierarchy.
+
+ <p>Extends <type>ConfigurationAccess</type> 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
+ <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>),
+ in which case they only need implement <type>ConfigurationAccess</type>.
+ </p>
+
+ <p>The classification of implementations that is described for
+ <type>ConfigurationAccess</type> 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 <type>ConfigurationAccess</type>.
+ </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 <type scope="com::sun::star::util">XChangesBatch</type>.
+ For elements of a <em>set</em> or a <em>group</em> no additinal
+ interfaces are supported.
+ </li>
+ </ul>
+
+ @see ConfigurationProvider
+ Root instances of this service can be requested from a
+ <type>ConfigurationProvider</type>
+*/
+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 <type>HierarchyAccess</type> specialization implemented will be
+ further specialized to support modifying access.
+ Implementations shall therefore implement one of <type>SetUpdate</type> or
+ <type>GroupUpdate</type> depending on the <em>Container</em> role.
+ </p>
+
+ <p>If the <type>HierarchyElement</type> specialization that is implemented
+ is <type>AccessRootElement</type>, the implementation must support the
+ extended functionality of <type>UpdateRootElement</type>. Otherwise, there
+ are no new requirements mandated by the <em>Element</em> role.
+ </p>
+
+ */
+ service ConfigurationAccess;
+
+ /** specializes <type>SetAccess</type> to support modifying the element.
+
+ <p>Implemented, if this element is a <em>Set</em>.
+ Otherwise service <type>GroupUpdate</type> is provided.
+ </p>
+ */
+ [optional] service SetUpdate;
+
+ /** specializes <type>GroupAccess</type> to support modifying contained
+ data.
+
+ <p>Implemented, if this element is a <em>Group</em>.
+ Otherwise service <type>SetUpdate</type> is provided.
+ </p>
+ */
+ [optional] service GroupUpdate;
+
+ /** specializes <type>AccessRootElement</type> 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 <type>SetElement</type> or <type>GroupElement</type> is provided.
+ </p>
+
+ @see ConfigurationProvider
+ Instances obtained from a <type>ConfigurationProvider</type> will
+ implement this version of <type>HierarchyElement</type>.
+ */
+ [optional] service UpdateRootElement;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/CorruptedConfigurationException.idl b/offapi/com/sun/star/configuration/CorruptedConfigurationException.idl
new file mode 100644
index 000000000000..a2e827003eb3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CorruptedConfigurationException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_CorruptedConfigurationException_idl__
+#define __com_sun_star_configuration_CorruptedConfigurationException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl b/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl
new file mode 100644
index 000000000000..5373cb570a91
--- /dev/null
+++ b/offapi/com/sun/star/configuration/CorruptedUIConfigurationException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_CorruptedUIConfigurationException_idl__
+#define __com_sun_star_configuration_CorruptedUIConfigurationException_idl__
+
+#ifndef __com_sun_star_configuration_CorruptedConfigurationException_idl__
+#include <com/sun/star/configuration/CorruptedConfigurationException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/configuration/DefaultProvider.idl b/offapi/com/sun/star/configuration/DefaultProvider.idl
new file mode 100644
index 000000000000..b41bdeec33a5
--- /dev/null
+++ b/offapi/com/sun/star/configuration/DefaultProvider.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_DefaultProvider_idl__
+#define __com_sun_star_configuration_DefaultProvider_idl__
+
+#ifndef __com_sun_star_configuration_ConfigurationProvider_idl__
+#include <com/sun/star/configuration/ConfigurationProvider.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module configuration {
+
+//=============================================================================
+
+/**
+ is a <type>ConfigurationProvider</type>, that is
+ the default <type>ConfigurationProvider</type> for its
+ <type scope="com::sun::star::uno">XComponentContext</type>.
+
+ <p>This object is accessible as singleton within the context</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.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.0
+ */
+
+ [optional,property] boolean EnableAsync;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/configuration/GroupAccess.idl b/offapi/com/sun/star/configuration/GroupAccess.idl
new file mode 100644
index 000000000000..46c0312eb617
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupAccess.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_GroupAccess_idl__
+#define __com_sun_star_configuration_GroupAccess_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyAccess_idl__
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_PropertyHierarchy_idl__
+#include <com/sun/star/configuration/PropertyHierarchy.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertyState_idl__
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#endif
+
+//=============================================================================
+
+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
+ Objects' properties may change, but not which properties they have.
+ Therefore, dynamic elements of the hierarchy (see <type>SetAccess</type>)
+ do not implement service <type>PropertyHierarchy</type>.
+ </p>
+
+ <p>If such elements occur as properties or subproperties of an implementation,
+ it is not specified whether direct subproperty access using
+ <type scope="com::sun::star::beans">XHierarchicalPropertySet</type> or
+ <type scope="com::sun::star::beans">XMultiHierarchicalPropertySet</type> can
+ be used to access descendants of such elements.
+ </p>
+
+ <p>Similarly, information about such descendants may not be available from
+ the <type scope="com::sun::star::beans">XHierarchicalPropertySetInfo</type>
+ 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
+ <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const> 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 <type>HierarchyAccess</type> 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 <type>HierarchyAccess</type> applies.
+ </p>
+*/
+ [optional] interface com::sun::star::beans::XMultiPropertyStates;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/GroupElement.idl b/offapi/com/sun/star/configuration/GroupElement.idl
new file mode 100644
index 000000000000..0f66580b0c92
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupElement.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_GroupElement_idl__
+#define __com_sun_star_configuration_GroupElement_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyElement_idl__
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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><member scope="com::sun::star::container">XChild::getParent()</member>
+ shall not return NULL.
+ </p>
+
+ <p><em>Setting a different parent is not supported.</em></p>
+*/
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/GroupUpdate.idl b/offapi/com/sun/star/configuration/GroupUpdate.idl
new file mode 100644
index 000000000000..0c7184c003c7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/GroupUpdate.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_GroupUpdate_idl__
+#define __com_sun_star_configuration_GroupUpdate_idl__
+
+#ifndef __com_sun_star_configuration_GroupAccess_idl__
+#include <com/sun/star/configuration/GroupAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+//=============================================================================
+
+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 <type>GroupAccess</type> 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
+ <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>.
+ </p>
+*/
+ service GroupAccess;
+
+/** allows replacing values.
+
+ <p>This service extends the interface
+ <type scope="com::sun::star::container">XNameAccess</type> supported
+ by service <type>GroupAccess</type> to allow changing values.
+ This strongly overlaps with functionality available through
+ <type>PropertyHierarchy</type> (from <type>GroupAccess</type>), 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
+ <type scope="com::sun::star::beans">XPropertySet</type> or
+ <type scope="com::sun::star::beans">XMultiPropertySet</type>.
+ </p>
+
+ <p>Elements of this group may be replaced only if they are of simple type.
+ The type returned by
+ <member scope="com::sun::star::container">XElementAccess::getElementType()</member>
+ must not be an interface type. Replacing whole subtrees is not supported.
+ </p>
+*/
+ interface com::sun::star::container::XNameReplace;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/configuration/HierarchyAccess.idl b/offapi/com/sun/star/configuration/HierarchyAccess.idl
new file mode 100644
index 000000000000..a5779042cd42
--- /dev/null
+++ b/offapi/com/sun/star/configuration/HierarchyAccess.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_HierarchyAccess_idl__
+#define __com_sun_star_configuration_HierarchyAccess_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XExactName_idl__
+#include <com/sun/star/beans/XExactName.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfo_idl__
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertyState_idl__
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#endif
+
+//=============================================================================
+
+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 <type>HierarchyElement</type>, 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><member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ returns an <atom>any</atom> 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><member scope="com::sun::star::container">XHierarchicalNameAccess::getByHierarchicalName()</member>
+ returns an <atom>any</atom> 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
+ <type scope="com::sun::star::container">XNameAccess</type>,
+ <type scope="com::sun::star::container">XHierarchicalNameAccess</type>,
+ <type scope="com::sun::star::beans">XPropertySet</type> 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 hierachical
+ 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 <type scope="com::sun::star::beans">PropertyAttribute</type>
+ values or if the same information is available by other means,
+ e.g. if the implementation supports
+ <member scope="com::sun::star::beans">XPropertySet::getPropertySetInfo()</member>.
+ </p>
+
+ <p>If a child of this node is an object that implements
+ <type scope="com::sun::star::beans">XProperty</type>, then this implementation
+ returns the same <type scope="com::sun::star::beans">Property</type> 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
+ <const scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>),
+ they should implement
+ <type scope="com::sun::star::beans">XPropertyWithState</type>, in which case
+ the <type scope="com::sun::star::beans">PropertyState</type> 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
+ <const scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>),
+ they should implement
+ <type scope="com::sun::star::beans">XPropertyWithState</type>, in which case
+ the <type scope="com::sun::star::beans">PropertyState</type> 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
diff --git a/offapi/com/sun/star/configuration/HierarchyElement.idl b/offapi/com/sun/star/configuration/HierarchyElement.idl
new file mode 100644
index 000000000000..7a784821e202
--- /dev/null
+++ b/offapi/com/sun/star/configuration/HierarchyElement.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_HierarchyElement_idl__
+#define __com_sun_star_configuration_HierarchyElement_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_container_XHierarchicalName_idl__
+#include <com/sun/star/container/XHierarchicalName.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XProperty_idl__
+#include <com/sun/star/beans/XProperty.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyWithState_idl__
+#include <com/sun/star/beans/XPropertyWithState.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>HierarchyAccess</type>, 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 <type scope="com::sun::star::beans">PropertyAttribute</type>
+ values.
+ </p>
+
+ <p>If the parent of this object implements
+ <type scope="com::sun::star::beans">XPropertySetInfo</type>, then this returns
+ the same <type scope="com::sun::star::beans">Property</type> as the
+ <type scope="com::sun::star::beans">XPropertySetInfo</type> 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
+ <type scope="com::sun::star::beans">XPropertyState</type>, 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><member scope="com::sun::star::container">XChild::getParent()</member>
+ 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
diff --git a/offapi/com/sun/star/configuration/InstallationIncompleteException.idl b/offapi/com/sun/star/configuration/InstallationIncompleteException.idl
new file mode 100644
index 000000000000..568c36674286
--- /dev/null
+++ b/offapi/com/sun/star/configuration/InstallationIncompleteException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_InstallationIncompleteException_idl__
+#define __com_sun_star_configuration_InstallationIncompleteException_idl__
+
+#ifndef __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl b/offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl
new file mode 100644
index 000000000000..d7cba09edf41
--- /dev/null
+++ b/offapi/com/sun/star/configuration/InvalidBootstrapFileException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_InvalidBootstrapFileException_idl__
+#define __com_sun_star_configuration_InvalidBootstrapFileException_idl__
+
+#ifndef __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/configuration/MissingBootstrapFileException.idl b/offapi/com/sun/star/configuration/MissingBootstrapFileException.idl
new file mode 100644
index 000000000000..b9588dc09a83
--- /dev/null
+++ b/offapi/com/sun/star/configuration/MissingBootstrapFileException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_MissingBootstrapFileException_idl__
+#define __com_sun_star_configuration_MissingBootstrapFileException_idl__
+
+#ifndef __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/configuration/PropertyHierarchy.idl b/offapi/com/sun/star/configuration/PropertyHierarchy.idl
new file mode 100644
index 000000000000..3d37344a2c33
--- /dev/null
+++ b/offapi/com/sun/star/configuration/PropertyHierarchy.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_PropertyHierarchy_idl__
+#define __com_sun_star_configuration_PropertyHierarchy_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XHierarchicalPropertySet_idl__
+#include <com/sun/star/beans/XHierarchicalPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
+#include <com/sun/star/beans/XMultiHierarchicalPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::beans">XProperty</type> to allow
+ direct access to information about the object.
+ If such objects have properties of their own, they should fully implement
+ <type>PropertyHierarchy</type> 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
diff --git a/offapi/com/sun/star/configuration/SetAccess.idl b/offapi/com/sun/star/configuration/SetAccess.idl
new file mode 100644
index 000000000000..9b564d90eabd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetAccess.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_SetAccess_idl__
+#define __com_sun_star_configuration_SetAccess_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyAccess_idl__
+#include <com/sun/star/configuration/HierarchyAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_SimpleSetAccess_idl__
+#include <com/sun/star/configuration/SimpleSetAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+//=============================================================================
+
+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 <type>SetElement</type>.
+ The template name returned by the child from
+ <member>XTemplateInstance::getTemplateName()</member>
+ corresponds to the name returned by the set from
+ <member>XTemplateContainer::getElementTemplateName()</member>.
+
+ @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
+ <member scope="com::sun::star::util">XStringEscape::escapeString()</member>
+ (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 <type scope="com::sun::star::configuration">XTemplateContainer</type>,
+ which is optional in <type>SimpleSetAccess</type> 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
diff --git a/offapi/com/sun/star/configuration/SetElement.idl b/offapi/com/sun/star/configuration/SetElement.idl
new file mode 100644
index 000000000000..f82b642934be
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetElement.idl
@@ -0,0 +1,186 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_SetElement_idl__
+#define __com_sun_star_configuration_SetElement_idl__
+
+#ifndef __com_sun_star_configuration_HierarchyElement_idl__
+#include <com/sun/star/configuration/HierarchyElement.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_XTemplateInstance_idl__
+#include <com/sun/star/configuration/XTemplateInstance.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::lang">XSingleServiceFactory</type> or,
+ if supported, <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ on an implementation of <type>SetUpdate</type>. 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
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>. 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
+ <member scope="com::sun::star::container">XNamed::setName()</member> 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 <type scope="com::sun::star::lang">XEventListener</type> 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><member scope="com::sun::star::container">XChild::getParent()</member>
+ returns <NULL/>, if the object is currently not contained in a container.
+ </p>
+
+ <p>An implementation may also support
+ <member scope="com::sun::star::container">XChild::setParent()</member>.
+ 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
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>, only if
+ the object is currently not contained in a container (
+ <member scope="com::sun::star::container">XChild::getParent()</member>
+ returns <NULL/>).
+ </p>
+
+ <p>Clients may register an <type scope="com::sun::star::lang">XEventListener</type>
+ 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
+ <type scope="com::sun::star::lang">XSingleServiceFactory</type>
+ on an implementation of <type>SetUpdate</type>, this interface describes the
+ same template as interface <type>XTemplateContainer</type> on that
+ <type>SetUpdate</type>.
+ </p>
+ <p>If the object was created using interface
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ on an implementation of <type>SetUpdate</type>, 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
diff --git a/offapi/com/sun/star/configuration/SetUpdate.idl b/offapi/com/sun/star/configuration/SetUpdate.idl
new file mode 100644
index 000000000000..57c56e7d0231
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SetUpdate.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_SetUpdate_idl__
+#define __com_sun_star_configuration_SetUpdate_idl__
+
+#ifndef __com_sun_star_configuration_SetAccess_idl__
+#include <com/sun/star/configuration/SetAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_SimpleSetUpdate_idl__
+#include <com/sun/star/configuration/SimpleSetUpdate.idl>
+#endif
+
+//=============================================================================
+
+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 <type>SetAccess</type> 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
+ <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>).
+ </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
+ <type scope="com::sun::star::container">XContainer</type>.
+ </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 <type scope="com::sun::star::lang">XSingleServiceFactory</type>
+ and (if supported) <type scope="com::sun::star::lang">XMultiServiceFactory</type>.
+ </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 <member>XTemplateInstance::getTemplateName()</member>.
+ </p>
+
+ <p>Other ways in which an element may be moved among or within compatible sets
+ include <member scope="com::sun::star::container">XChild::setParent()</member>
+ and <member scope="com::sun::star::container">XNamed::setName()</member>, if
+ the element implements them.
+ </p>
+
+ @see com::sun::star::configuration::SetElement
+*/
+ service SimpleSetUpdate;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/configuration/SimpleSetAccess.idl b/offapi/com/sun/star/configuration/SimpleSetAccess.idl
new file mode 100644
index 000000000000..35f8745fe977
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SimpleSetAccess.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_SimpleSetAccess_idl__
+#define __com_sun_star_configuration_SimpleSetAccess_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_XTemplateContainer_idl__
+#include <com/sun/star/configuration/XTemplateContainer.idl>
+#endif
+
+#ifndef __com_sun_star_util_XStringEscape_idl__
+#include <com/sun/star/util/XStringEscape.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::util">XStringEscape::escapeString()</member>,
+ 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,
+ <member scope="com::sun::star::container">XElementAccess::getElementType()</member>
+ 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
diff --git a/offapi/com/sun/star/configuration/SimpleSetUpdate.idl b/offapi/com/sun/star/configuration/SimpleSetUpdate.idl
new file mode 100644
index 000000000000..c9fb908281d1
--- /dev/null
+++ b/offapi/com/sun/star/configuration/SimpleSetUpdate.idl
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_SimpleSetUpdate_idl__
+#define __com_sun_star_configuration_SimpleSetUpdate_idl__
+
+#ifndef __com_sun_star_configuration_SimpleSetAccess_idl__
+#include <com/sun/star/configuration/SimpleSetAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+//=============================================================================
+
+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 <type>SimpleSetAccess</type> 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
+ <type scope="com::sun::star::container">XNameAccess</type> supported
+ by service <type>SimpleSetAccess</type> to allow modifying the container.
+ </p>
+
+ <p>If available, changes can be observed by registering a listener with interface
+ <type scope="com::sun::star::container">XContainer</type>.
+ </p>
+
+ <p>If the elements of this set are of simple type (the type returned by
+ <member scope="com::sun::star::container">XElementAccess::getElementType()</member>
+ is not an interface type), then values of that type can directly be passed to
+ <member scope="com::sun::star::container">XNameContainer::insertByName()</member>
+ and
+ <member scope="com::sun::star::container">XNameContainer::replaceByName()</member>.
+ </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 <type scope="com::sun::star::lang">XSingleServiceFactory</type>
+ and, if supported, <type scope="com::sun::star::lang">XMultiServiceFactory</type>.
+ </p>
+
+ <p>Objects to be inserted must not be contained in any set at the time of
+ insertion. <member scope="com::sun::star::container">XChild::getParent()</member>
+ must return <NULL/>. If a name had been assigned to the object prior to insertion
+ (using <member scope="com::sun::star::container">XNamed::setName()</member>
+ 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 <member scope="com::sun::star::container">XNameContainer::insertByName()</member>
+ or <member scope="com::sun::star::container">XNameContainer::replaceByName()</member>.
+</p>
+
+
+ <p>Objects that are removed using
+ <member scope="com::sun::star::container">XNameContainer::removeByName()</member>
+ or replaced using
+ <member scope="com::sun::star::container">XNameContainer::replaceByName()</member>
+ 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
+ <member scope="com::sun::star::container">XElementAccess::getElementType()</member>,
+ is an object type, such as an interface.
+ </p>
+
+ <p>Using <member scope="com::sun::star::lang">XSingleServiceFactory::createInstance()</member>
+ 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
+ <member scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments()</member>.
+ 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
+ <member scope="com::sun::star::container">XNameContainer::insertByName()</member>
+ or
+ <member scope="com::sun::star::container">XNameContainer::replaceByName()</member>.
+ </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
+ <member scope="com::sun::star::container">XElementAccess::getElementType()</member>)
+ is an object type, such as an interface. An implementation should also implement
+ interface <type>XTemplateContainer</type> which is optional in this service.
+ </p>
+
+ <p>The service identifier argument passed
+ to <member scope="com::sun::star::lang">XMultiServiceFactory::createInstance()</member>
+ or <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <member>XTemplateContainer::getElementTemplateName()</member>
+ as a service identifier, in which case the result shall be the same as if
+ the corresponding member of <type scope="com::sun::star::lang">XSingleServiceFactory</type>
+ had been called.
+ </p>
+
+*/
+ [optional] interface com::sun::star::lang::XMultiServiceFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/configuration/Update.idl b/offapi/com/sun/star/configuration/Update.idl
new file mode 100644
index 000000000000..790a4bb40235
--- /dev/null
+++ b/offapi/com/sun/star/configuration/Update.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#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.0
+*/
+singleton Update: XUpdate;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/configuration/UpdateRootElement.idl b/offapi/com/sun/star/configuration/UpdateRootElement.idl
new file mode 100644
index 000000000000..16ffa9450a08
--- /dev/null
+++ b/offapi/com/sun/star/configuration/UpdateRootElement.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_UpdateRootElement_idl__
+#define __com_sun_star_configuration_UpdateRootElement_idl__
+
+#ifndef __com_sun_star_configuration_AccessRootElement_idl__
+#include <com/sun/star/configuration/AccessRootElement.idl>
+#endif
+
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#include <com/sun/star/util/XChangesBatch.idl>
+#endif
+
+//=============================================================================
+
+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 <type>AccessRootElement</type> 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 <type>AccessRootElement</type>]. 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
+ <type scope="com::sun::star::util">XChangesBatch</type>. Pending changes
+ will become persistent and visible from other overlapping hierarchies
+ only when <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ 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><member scope="com::sun::star::util">XChangesBatch::getPendingChanges()</member>
+ 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
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ is invoked.
+ </p>
+
+ <p>If the implementation supports
+ <member scope="com::sun::star::lang">XLocalizable::setLocale()</member>, changes
+ will be considered to apply to the locale that is set when
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ is invoked.
+ </p>
+
+ @ see AccessRootElement
+ @ see com::sun::star::util::XChangesNotifier
+*/
+ interface com::sun::star::util::XChangesBatch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/configuration/XTemplateContainer.idl b/offapi/com/sun/star/configuration/XTemplateContainer.idl
new file mode 100644
index 000000000000..84331c660c19
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XTemplateContainer.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_XTemplateContainer_idl__
+#define __com_sun_star_configuration_XTemplateContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::lang">XSingleServiceFactory</type>, in which case
+ that interface creates instances of the specified template.
+ </p>
+ <p> If multiple templates are supported, the supported factory interface may be
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>, in which case
+ the <atom>string</atom> returned from
+ <member>XTemplateContainer::getElementTemplateName()</member> 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
diff --git a/offapi/com/sun/star/configuration/XTemplateInstance.idl b/offapi/com/sun/star/configuration/XTemplateInstance.idl
new file mode 100644
index 000000000000..f624ce8705f7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XTemplateInstance.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_XTemplateInstance_idl__
+#define __com_sun_star_configuration_XTemplateInstance_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/configuration/XUpdate.idl b/offapi/com/sun/star/configuration/XUpdate.idl
new file mode 100644
index 000000000000..c3316ea5dc45
--- /dev/null
+++ b/offapi/com/sun/star/configuration/XUpdate.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#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.0
+*/
+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
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 000000000000..32ee9cf05f2f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_AuthenticationFailedException_idl__
+#define __com_sun_star_configuration_backend_AuthenticationFailedException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendSetupException_idl__
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+#endif
+
+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
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 000000000000..0932291c74bd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Backend.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_Backend_idl__
+#define __com_sun_star_configuration_backend_Backend_idl__
+
+#ifndef __com_sun_star_configuration_backend_XBackend_idl__
+#include <com/sun/star/configuration/backend/XBackend.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#endif
+
+//=============================================================================
+
+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 organised hierarchically in organisations,
+ 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
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 000000000000..d5c80d01ee0b
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendAccessException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#define __com_sun_star_configuration_backend_BackendAccessException_idl__
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+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
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 000000000000..176abb2d1ce0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendAdapter.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_BackendAdapter_idl__
+#define __com_sun_star_configuration_backend_BackendAdapter_idl__
+
+#ifndef __com_sun_star_configuration_backend_Backend_idl__
+#include <com/sun/star/configuration/backend/Backend.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>Backend</type> retrieving data
+ from a <type>SingleBackend</type>.
+
+ @since OOo 1.1.2
+*/
+published service BackendAdapter
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access to configuration data.
+ */
+ service Backend ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ This interface, that is optional in <type>Backend</type>, is
+ mandatory in this service.
+ */
+ interface XBackendEntities ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ allows initializing the backend to use.
+
+ <p>If this interface is present, a <type>SingleBackend</type>
+ may be passed, that is used to access the data.
+ Also a <type scope="com::sun::star::configuration::bootstrap">BootstrapContext</type>
+ 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 <type scope="com::sun::star::uno">XComponentContext</type>.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..c5ce0d0c47cd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/BackendSetupException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_BackendSetupException_idl__
+#define __com_sun_star_configuration_backend_BackendSetupException_idl__
+
+#ifndef __com_sun_star_configuration_CannotLoadConfigurationException_idl__
+#include <com/sun/star/configuration/CannotLoadConfigurationException.idl>
+#endif
+
+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 <atom>string</atom> or <void/>,
+ if the original exception is not represented as a
+ <type scope="com::sun::star::uno">Exception</type>.
+ </p>
+ */
+ any BackendException;
+} ;
+
+} ;
+} ; } ; } ; } ;
+
+#endif
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 000000000000..04a1d44b9c03
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/CannotConnectException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_CannotConnectException_idl__
+#define __com_sun_star_configuration_backend_CannotConnectException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendSetupException_idl__
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+#endif
+
+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
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 000000000000..afe42f257a83
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_ComponentChangeEvent_idl__
+#define __com_sun_star_configuration_backend_ComponentChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+//=============================================================================
+
+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
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 000000000000..f6213e9327c5
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_ConnectionLostException_idl__
+#define __com_sun_star_configuration_backend_ConnectionLostException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+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
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 000000000000..ab790ba521e1
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/CopyImporter.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_CopyImporter_idl__
+#define __com_sun_star_configuration_backend_CopyImporter_idl__
+
+#ifndef __com_sun_star_configuration_backend_Importer_idl__
+#include <com/sun/star/configuration/backend/Importer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XLayer</type> data that already exists in the <type>Backend</type>,
+ replacing it completely.
+ </p>
+ */
+ service Importer ;
+
+ //-------------------------------------------------------------------------
+
+ /** allows initializing the implementation with settings that control
+ its behavior .
+
+ <p> This interface, which is optional in <type>Importer</type>
+ is mandatory in this service and supports the following arguments
+ which must be provided as
+ <type scope="com::sun::star::beans">NamedValue</type>:
+ <dl>
+ <dt><code>Overwrite</code> : <atom>boolean</atom></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
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 000000000000..a3b039e24ca0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/DataImporter.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_DataImporter_idl__
+#define __com_sun_star_configuration_backend_DataImporter_idl__
+
+#ifndef __com_sun_star_task_XJob_idl__
+#include <com/sun/star/task/XJob.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::task">XJob::execute()</member>.
+ 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
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ 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
+ <type scope="com::sun::star::uno">Exception</type> is returned,
+ it represents an error condition encountered during execution.
+ </p>
+
+ <p> The following arguments to
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ should be supported by implementations. Implementations must document
+ a failure to support any of these arguments:
+ <dl>
+ <dt><code>ImporterService</code> : <atom >string</atom></dt>
+ <dd>A service or implementation name used to instantiate the
+ <type>Importer</type> to use for importing. If this parameter
+ is missing, the implementation selects an appropriate importer.
+ By default, a <type>MergeImporter</type> should be used.
+ </dd>
+ <dt><code>OverwriteExisting</code> : <atom >boolean</atom></dt>
+ <dd>If <TRUE/>, specifies that no existing data should be
+ overwritten by the import. If the <type>Importer</type> 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> : <atom >boolean</atom></dt>
+ <dd>If <TRUE/>, specifies that existing data should be
+ discarded and replaced by the imported data.
+ If the <type>Importer</type> used does not support this
+ operation, an error may be raised.
+ By default, a <type>CopyImporter</type> is used to perform
+ truncating import.
+ </dd>
+ <dt><code>Entity</code> : <atom >string</atom></dt>
+ <dd>An identifier for the entity in the destination backend for
+ which the imported data should apply. The value will be passed
+ to <member>XLayerImporter::importLayerForEntity()</member>.
+ If this parameter is missing, the implementation uses
+ <member>XLayerImporter::importLayer()</member> instead.
+ </dd>
+ <dt><code>Component</code> : <atom >string</atom></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> : <type >LayerFilter</type></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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>.
+ </dd>
+ </dl>
+ </p>
+
+ */
+ interface com::sun::star::task::XJob ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..38ddc1e034e7
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/DefaultBackend.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_DefaultBackend_idl__
+#define __com_sun_star_configuration_backend_DefaultBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_Backend_idl__
+#include <com/sun/star/configuration/backend/Backend.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ is a <type>DefaultBackend</type>, that is
+ the default <type>DefaultBackend</type> for its
+ <type scope="com::sun::star::uno">XComponentContext</type>.
+
+ <p>This object is accessible as singleton within the context</p>.
+
+ @since OOo 1.1.2
+*/
+service DefaultBackend
+{
+ //-------------------------------------------------------------------------
+
+ /** characterizes the functionality.
+ */
+ service Backend ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..22f07f63b37b
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_HierarchyBrowser_idl__
+#define __com_sun_star_configuration_backend_HierarchyBrowser_idl__
+
+#ifndef __com_sun_star_task_XJob_idl__
+#include <com/sun/star/task/XJob.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::task">XJob::execute()</member>.
+ The names and meanings of such arguments depend on
+ the implementation. Each implementation must document such arguments.
+ </p>
+
+ <p> The following argument to
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ must be supported by all implementations:
+ <dl>
+ <dt><code>ExcludeComponents</code> : <atom dim="[]">string</atom> or <atom >string</atom></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
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ 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 <type>Backend</type>.
+ </p>
+ */
+ interface com::sun::star::task::XJob ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..8cb74626c6be
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Importer.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_Importer_idl__
+#define __com_sun_star_configuration_backend_Importer_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayerImporter_idl__
+#include <com/sun/star/configuration/backend/XLayerImporter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ imports data into a configuration layer.
+
+ <p> The configuration changes are read from a <type>XLayer</type>
+ and stored into a <type>Backend</type>.
+ </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
+ <type scope="com::sun::star::beans">NamedValue</type>.
+ Implementations specify which arguments they support.
+
+ <dl>
+ <dt><code>Notify</code> : <atom>boolean</atom></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
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 000000000000..81da4911437b
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_InsufficientAccessRightsException_idl__
+#define __com_sun_star_configuration_backend_InsufficientAccessRightsException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+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
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 000000000000..82a3595a6b08
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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><type>MergeRecoveryRequest</type>*</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
+ <type scope="com::sun::star::task">XInteractionApprove</type>,
+ <type scope="com::sun::star::task">XInteractionDisapprove</type>,
+ <type scope="com::sun::star::task">XInteractionRetry</type>, or
+ <type scope="com::sun::star::task">XInteractionAbort</type> (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.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
+ <type scope="com::sun::star::beans">PropertyValue</type>s. The
+ currently supported properties are:
+ <UL>
+ <LI><code>"Parent"</code> of type
+ <type scope="com::sun::star::awt">XWindow</type> 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 <atom>string</atom> 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
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 000000000000..50d9650636ff
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_InvalidAuthenticationMechanismException_idl__
+#define __com_sun_star_configuration_backend_InvalidAuthenticationMechanismException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendSetupException_idl__
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+#endif
+
+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
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 000000000000..8b9429810b15
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Layer.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_Layer_idl__
+#define __com_sun_star_configuration_backend_Layer_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XCompositeLayer_idl__
+#include <com/sun/star/configuration/backend/XCompositeLayer.idl>
+#endif
+
+#ifndef __com_sun_star_util_XTimeStamped_idl__
+#include <com/sun/star/util/XTimeStamped.idl>
+#endif
+
+//==============================================================================
+
+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.0
+ */
+ [property,optional,readonly] string URL ;
+
+ //--------------------------------------------------------------------------
+} ;
+
+//==============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..1f6ae54f2c5f
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerDescriber.idl
@@ -0,0 +1,41 @@
+#ifndef __com_sun_star_configuration_backend_LayerDescriber_idl__
+#define __com_sun_star_configuration_backend_LayerDescriber_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayerContentDescriber_idl__
+#include <com/sun/star/configuration/backend/XLayerContentDescriber.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ describe the contents of a layer to an XLayerHander 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
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 000000000000..ec5a209aa8ac
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerFilter.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_LayerFilter_idl__
+#define __com_sun_star_configuration_backend_LayerFilter_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//==============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//==============================================================================
+
+/**
+ provides a filtered version of a configuration data <type>Layer</type>.
+
+ <p> A layer filter wraps a source <type>XLayer</type> 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 <type>LayerFilter</type> to imported data.
+
+ @since OOo 2.0.0
+ */
+published service LayerFilter
+{
+ //--------------------------------------------------------------------------
+
+ /**
+ provides read access to the filtered contents.
+
+ <p> Method <member>XLayer::readData</member> 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 <method scope="com::sun::star::lang">XInitialization::initialize</method>()
+ with a single argument of type <type scope="com::sun::star::beans">NamedValue</type>,
+ where <member scope="com::sun::star::beans">NamedValue::Name</member> is <code>"Source"</code>
+ and <member scope="com::sun::star::beans">NamedValue::Value</member>
+ is an object implementing <type>XLayer</type>.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+ //--------------------------------------------------------------------------
+} ;
+
+//==============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..bff3c26c92a8
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LayerUpdateMerger_idl__
+#define __com_sun_star_configuration_backend_LayerUpdateMerger_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
+#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XLayer</type>
+ and the changed layer is provided as <type>XLayer</type> again or
+ described to a <type>XLayerHandler</type>.
+ </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
+ <type>XUpdatableLayer</type> object. Alternatively they can be
+ provided individually by providing a <type>XLayer</type> object as
+ data source and an <type>XLayerHandler</type> object to receive the
+ updated data.
+ </p>
+ <p> Implementations can provide more arguments to finetune the behavior.
+ Such arguments are provided as
+ <type scope="com::sun::star::beans">NamedValue</type>.
+ Implementations should support the following named arguments:
+ <dl>
+ <dt><code>Overwrite</code> : <atom>boolean</atom></dt>
+ <dd>If <FALSE/>, specifies that changes should be applied
+ only if the existing layer is empty.
+ </dd>
+ <dt><code>Truncate</code> : <atom>boolean</atom></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
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 000000000000..f02bd733498e
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LdapMultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_LdapMultiLayerStratum_idl__
+
+#ifndef __com_sun_star_configuration_backend_MultiLayerStratum_idl__
+#include <com/sun/star/configuration/backend/MultiLayerStratum.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>MultiLayerStratum</type> 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
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 000000000000..31897515ce7c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LdapSingleBackend_idl__
+#define __com_sun_star_configuration_backend_LdapSingleBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_SingleBackend_idl__
+#include <com/sun/star/configuration/backend/SingleBackend.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SingleBackend</type> that stores data in an
+ LDAP directoy.
+
+ @since OOo 1.1.2
+*/
+published service LdapSingleBackend
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access to configuration data.
+ */
+ service SingleBackend ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..ae50be4c836a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LdapSingleStratum_idl__
+#define __com_sun_star_configuration_backend_LdapSingleStratum_idl__
+
+#ifndef __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SingleLayerStratum</type> that
+ provides access to a single layer of configuration data from ldap source
+*/
+service LdapSingleStratum
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..9c1dd5ee77f0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LocalDataImporter_idl__
+#define __com_sun_star_configuration_backend_LocalDataImporter_idl__
+
+#ifndef __com_sun_star_configuration_backend_DataImporter_idl__
+#include <com/sun/star/configuration/backend/DataImporter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ allows importing data from a local configuration data repository
+ or file into any <type>Backend</type>.
+
+ <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 <type>DefaultBackend</type>.
+ </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
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ to indicates successful execution. If import is not executed,
+ because <code>OverwriteExisting = </code><TRUE/> was specified,
+ a <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is returned.
+ </p>
+ <p>If <void/> or <TRUE/> is returned, this indicates successful
+ execution. If an
+ <type scope="com::sun::star::uno">Exception</type> is returned,
+ it represents an error condition encountered during execution.
+ </p>
+
+ <p> The standard arguments to
+ <member scope="com::sun::star::task">XJob::execute()</member>
+ are all supported by implementations. Additionally the following
+ argument is required to select the data source:
+ <dl>
+ <dt><code>LayerDataUrl</code> : <atom >string</atom></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 <type>Backend</type>, that is not the
+ <type>DefaultBackend</type>.
+ </p>
+ */
+ service DataImporter ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..ae7244365af2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LocalHierarchyBrowser_idl__
+#define __com_sun_star_configuration_backend_LocalHierarchyBrowser_idl__
+
+#ifndef __com_sun_star_configuration_backend_HierarchyBrowser_idl__
+#include <com/sun/star/configuration/backend/HierarchyBrowser.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ is a <type>HierarchyBrowser</type>, 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
+ <member scope="com::sun::star::task">XJob::execute()</member>:<BR/>
+
+ <dl>
+ <dt><code>SchemaDataUrl</code> : <atom>string</atom></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> : <atom>string</atom></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> : <atom>boolean</atom></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
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 000000000000..3c72d908579c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LocalSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_LocalSchemaSupplier_idl__
+
+#ifndef __com_sun_star_configuration_backend_SchemaSupplier_idl__
+#include <com/sun/star/configuration/backend/SchemaSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SchemaSupplier</type> providing access to
+ local configuration schemas
+*/
+service LocalSchemaSupplier
+{
+ //-------------------------------------------------------------------------
+ /**
+ provides access to configuration schemas.
+ */
+ service SchemaSupplier ;
+
+ //-------------------------------------------------------------------------
+
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..098d8123e079
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LocalSingleBackend_idl__
+#define __com_sun_star_configuration_backend_LocalSingleBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_SingleBackend_idl__
+#include <com/sun/star/configuration/backend/SingleBackend.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SingleBackend</type> that stores data in the
+ local filesystem using the OOR XML formats.
+
+ @since OOo 1.1.2
+*/
+published service LocalSingleBackend
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access to configuration data.
+ */
+ service SingleBackend ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..aea200df1925
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_LocalSingleStratum_idl__
+#define __com_sun_star_configuration_backend_LocalSingleStratum_idl__
+
+#ifndef __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SingleLayerStratum</type> that
+ provides access to a singe layer of configuration data from local file system
+*/
+service LocalSingleStratum
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..211571a41566
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MalformedDataException.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#define __com_sun_star_configuration_backend_MalformedDataException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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><type scope="com::sun::star::container">ElementExistException</type></dt>
+ <dd>for duplicate nodes.</dd>
+
+ <dt><type scope="com::sun::star::container">NoSuchElementException</type></dt>
+ <dd>for nodes that are not in the schema.</dd>
+
+ <dt><type scope="com::sun::star::beans">IllegalTypeException</type></dt>
+ <dd>for properties having the wrong or an invalid type.</dd>
+
+ <dt><type scope="com::sun::star::beans">PropertyExistException</type></dt>
+ <dd>for duplicate properties.</dd>
+
+ <dt><type scope="com::sun::star::beans">UnknownPropertyException</type></dt>
+ <dd>for properties that are not in the schema.</dd>
+
+ <dt><type scope="com::sun::star::lang">IllegalArgumentException</type></dt>
+ <dd>for data values (names,attibutes,etc.) that are invalid.</dd>
+
+ <dt><type scope="com::sun::star::lang">IllegalAccessException</type></dt>
+ <dd>for changes that violate access restrictions.</dd>
+
+ <dt><type scope="com::sun::star::lang">NoSupportException</type></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
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 000000000000..d02d68985f32
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MergeImporter.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_MergeImporter_idl__
+#define __com_sun_star_configuration_backend_MergeImporter_idl__
+
+#ifndef __com_sun_star_configuration_backend_Importer_idl__
+#include <com/sun/star/configuration/backend/Importer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::lang">XInitialization::initialize()</member>
+ 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
+ <type>XLayer</type> data that already exists in the <type>Backend</type>,
+ replacing it completely.
+ </p>
+
+ @see LayerUpdateMerger
+ Service that can be used to perform merging of changes into a layer.
+ */
+ service Importer ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..c5d44ac4b7bf
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_MergeRecoveryRequest_idl__
+#define __com_sun_star_configuration_backend_MergeRecoveryRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/** is passed to an <type>InteractionHandler<type> when merging fails due to
+ invalid layer data or access problems.
+
+ @since OOo 2.0.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><type>MalformedException</type></dt>
+ <dd>for layers containing invalid data.</dd>
+
+ <dt><type>BackendAccessException</type></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 requestor wants to remove or skip the invalid layer.
+
+ <p> If <TRUE/> the requestor 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
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 000000000000..375f8851829c
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+#define __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ Provides access to a singe 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
+
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 000000000000..7e755d187d94
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_MultiStratumBackend_idl__
+#define __com_sun_star_configuration_backend_MultiStratumBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_Backend_idl__
+#include <com/sun/star/configuration/backend/Backend.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>Backend</type> 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
+ <type scope="com::sun::star::configuration::bootstrap">BootstrapContext</type>
+ must be passed, that provides further backend initialization settings.
+ </p>
+
+
+ */
+
+ [optional] interface com::sun::star::lang::XInitialization ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+#endif
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 000000000000..5c5007e5e1a2
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/NodeAttribute.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>SchemaAttribute</type>
+ </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 <member>XLayerHandler::addOrReplaceNode</member>,
+ <member>XLayerHandler::addOrReplaceNodeFromTemplate</member>,
+ <member>XUpdateHandler::addOrReplaceNode</member>, and
+ <member>XUpdateHandler::addOrReplaceNodeFromTemplate</member>.</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
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 000000000000..57775a6a4afd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/OfflineBackend.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_OfflineBackend_idl__
+#define __com_sun_star_configuration_backend_OfflineBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendAdapter_idl__
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>BackendAdapter</type> that maintains a cache so it
+ can operate even if the <type>SingleBackend</type> 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 <type>SingleBackend</type>.
+
+ <p>If no backend is provided during initalization or if the context
+ contains an <code>Offline</code> flag that is <TRUE/>, then offline mode
+ is activated. This may fail, if the offline cache has not been filled
+ during a previous execution.
+ </p>
+ <p>Less entities may be available from <type>XBackendEntities</type>,
+ when operating in offline mode than when operating with an online
+ <type>SingleBackend</type>.
+ </p>
+ <p>If offline mode is not invoked, the implementation behaves
+ like any other <type>BackendAdapter</type>.
+ </p>
+
+ */
+ service BackendAdapter ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..a0d8e39abaf8
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/OnlineBackend.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_OnlineBackend_idl__
+#define __com_sun_star_configuration_backend_OnlineBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendAdapter_idl__
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements a <type>BackendAdapter</type> that requires that
+ the <type>SingleBackend</type> 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 <type>SingleBackend</type>.
+
+ */
+ service BackendAdapter ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..70577522da86
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/PlatformBackend.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_PlatformBackend_idl__
+#define __com_sun_star_configuration_backend_PlatformBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+#include <com/sun/star/configuration/backend/SingleLayerStratum.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements <type>SingleLayerStratum</type> that
+ provides access to a singe layer of configuration data from external data store
+*/
+service PlatformBackend
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ provides access to configuration data.
+ */
+ service SingleLayerStratum;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..11f5fe6ba142
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/PropertyInfo.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..873f7c464b15
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/Schema.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_Schema_idl__
+#define __com_sun_star_configuration_backend_Schema_idl__
+
+#ifndef __com_sun_star_configuration_backend_XSchema_idl__
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#endif
+
+//==============================================================================
+
+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 organised 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.0
+ */
+ [property,optional,readonly] string URL ;
+
+ //--------------------------------------------------------------------------
+} ;
+
+//==============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..dbc58c870913
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..10b59ddc5c6d
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_SchemaSupplier_idl__
+
+#ifndef __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..2cf1dc898661
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleBackend.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SingleBackend_idl__
+#define __com_sun_star_configuration_backend_SingleBackend_idl__
+
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl>
+#endif
+
+//=============================================================================
+
+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 organised hierarchically in organisations,
+ 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
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 000000000000..6135f75d9f68
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SingleBackendAdapter_idl__
+#define __com_sun_star_configuration_backend_SingleBackendAdapter_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendAdapter_idl__
+#include <com/sun/star/configuration/backend/BackendAdapter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ implements a simple <type>BackendAdapter</type> that can be used for
+ normal configuration operation.
+
+ <p>All real functionality is provided by the wrapped <type>SingleBackend</type>.
+
+ @see com::sun::star::configuration::backend::OnlineBackend
+
+ @since OOo 1.1.2
+*/
+published service SingleBackendAdapter
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access to configuration data from a <type>SingleBackend</type>.
+ */
+ service BackendAdapter ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..8f6a28085c7a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+#define __com_sun_star_configuration_backend_SingleLayerStratum_idl__
+
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#include <com/sun/star/configuration/backend/XBackendEntities.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSingleLayerStratum_idl__
+#include <com/sun/star/configuration/backend/XSingleLayerStratum.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
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 000000000000..f425118de937
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_StratumCreationException_idl__
+#define __com_sun_star_configuration_backend_StratumCreationException_idl__
+
+#ifndef __com_sun_star_configuration_backend_BackendSetupException_idl__
+#include <com/sun/star/configuration/backend/BackendSetupException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/** is passed to an <type>InteractionHandler<type> when creating a stratum backend fails.
+
+ @since OOo 2.0.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
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 000000000000..5aa281a67ec0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/SystemIntegration.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_SystemIntegration_idl__
+#define __com_sun_star_configuration_backend_SystemIntegration_idl__
+
+#ifndef __com_sun_star_configuration_backend_Backend_idl__
+#include <com/sun/star/configuration/backend/Backend.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+//=============================================================================
+
+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 initialised
+ using the service registration database 'services.rdb'.
+ </p>
+
+ */
+
+ interface com::sun::star::lang::XInitialization ;
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+#endif
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 000000000000..b0338b771e41
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..f74b1f2d5ce8
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_UpdatableLayer_idl__
+#define __com_sun_star_configuration_backend_UpdatableLayer_idl__
+
+#ifndef __com_sun_star_configuration_backend_Layer_idl__
+#include <com/sun/star/configuration/backend/Layer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#endif
+
+//==============================================================================
+
+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
+ <type scope="com::sun::star::util">XTimeStamped</type>,
+ then after executing <member>XUpdatableLayer::replaceWith()</member>
+ 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 <type>XLayer</type> or
+ composite, i.e <type>XCompositeLayer</type>) of the current layer and
+ the provided replacement layer, the operation performed
+ by <member>XUpdatableLayer::replaceWith()</member>, 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 <type>XUpdatableLayer</type>
+ 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
+
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 000000000000..5696bff294b3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackend.idl
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XBackend_idl__
+#define __com_sun_star_configuration_backend_XBackend_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
+#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSchema_idl__
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..6530e7182fea
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_XBackendChangesListener_idl__
+#define __com_sun_star_configuration_backend_XBackendChangesListener_idl__
+
+#ifndef __com_sun_star_configuration_backend_ComponentChangeEvent_idl__
+#include <com/sun/star/configuration/backend/ComponentChangeEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+//=============================================================================
+
+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
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 000000000000..ca2861bcf443
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XBackendChangesNotifier_idl__
+#define __com_sun_star_configuration_backend_XBackendChangesNotifier_idl__
+
+#ifndef __com_sun_star_configuration_backend_XBackendChangesListener_idl__
+#include <com/sun/star/configuration/backend/XBackendChangesListener.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 occured.
+ @param aListener
+ specifies the listener object.
+
+ @param component
+ The name of the component the listener is monitoring changes for.
+
+ */
+ [oneway] 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.
+
+ */
+ [oneway] void removeChangesListener( [in] com::sun::star::configuration::backend::XBackendChangesListener aListener,
+ [in] string component);
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..9829ad993ec3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XBackendEntities.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XBackendEntities_idl__
+#define __com_sun_star_configuration_backend_XBackendEntities_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..74dc11e27820
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_XCompositeLayer_idl__
+#define __com_sun_star_configuration_backend_XCompositeLayer_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+//==============================================================================
+
+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 <type>XLayerHandler</type>.
+
+ @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
+ <member>XCompositeLayer::listSubLayerIds()</member>
+ </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
+ <type>XLayerHandler</type>.
+ */
+ 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
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 000000000000..89911d869dc8
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayer.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#define __com_sun_star_configuration_backend_XLayer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayerHandler_idl__
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XLayerHandler</type>.
+
+ @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
+ <type>XLayerHandler</type>.
+ */
+ void readData([in] XLayerHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+#endif
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 000000000000..d8718f361c1a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XLayerContentDescriber_idl__
+#define __com_sun_star_configuration_backend_XLayerContentDescriber_idl__
+
+#ifndef __com_sun_star_configuration_backend_PropertyInfo_idl__
+#include <com/sun/star/configuration/backend/PropertyInfo.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayerHandler_idl__
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ describe the contents of a layer to an XLayerHander 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 <type>XLayerHandler</type>.
+
+ @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
+ <type>XLayerHandler</type>.
+ */
+ void describeLayer([in] XLayerHandler aHandler,
+ [in] sequence<PropertyInfo> aPropertyInfos)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+#endif
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 000000000000..22b75c9466dc
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerHandler.idl
@@ -0,0 +1,570 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XLayerHandler_idl__
+#define __com_sun_star_configuration_backend_XLayerHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_TemplateIdentifier_idl__
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+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 <member>XLayerHandler::endLayer()</member>
+ 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 <member>XLayerHandler::startLayer()</member>.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the layer</li>
+ <li>if there is a 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
+ <member>XLayerHandler::endNode()</member>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
+ <type>NodeAttribute</type> 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 removeable.
+ </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 <member>XLayerHandler::endNode()</member>
+ 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
+ <type>NodeAttribute</type> flags. Note that
+ <member>NodeAttribute::FUSE</member> 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 removeable</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 removeable.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties and members or items of the node until
+ a matching call to <member>XLayerHandler::endNode()</member>
+ 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
+ <type>NodeAttribute</type> flags. Note that
+ <member>NodeAttribute::FUSE</member> 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 removeable</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
+ <member>XLayerHandler::overrideNode()</member>,
+ <member>XLayerHandler::addOrReplaceNode()</member> or
+ <member>XLayerHandler::addOrReplaceNodeFromTemplate()</member>.
+ </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 removeable.
+ </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 removeable</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 <member>XLayerHandler::endProperty()</member>
+ 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
+ <type>NodeAttribute</type> 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
+ <const scope="com::sun::star::uno">TypeClass::ANY</const>.)
+ </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. <atom>string</atom> or - for list values -
+ <atom dim="[]">string</atom>.) 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
+ <const>SchemaAttribute::REQUIRED</const> 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
+ <const>SchemaAttribute::REQUIRED</const> 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
+ <member>XLayerHandler::overrideProperty()</member>,
+ </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
+ <type>NodeAttribute</type> flags and may also contain the
+ <const>SchemaAttribute::REQUIRED</const> flag.
+ </p>
+ <p> <const>NodeAttribute::MANDATORY</const> 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
+ <type>NodeAttribute</type> flags and may also contain the
+ <const>SchemaAttribute::REQUIRED</const> flag.
+ </p>
+ </p>
+ <p> <const>NodeAttribute::MANDATORY</const> 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
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 000000000000..ee0d686dd640
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XLayerImporter.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XLayerImporter_idl__
+#define __com_sun_star_configuration_backend_XLayerImporter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XBackend_idl__
+#include <com/sun/star/configuration/backend/XBackend.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/** allows importing a layer into a <type>Backend</type>
+
+ @since OOo 1.1.2
+*/
+published interface XLayerImporter : ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** gets the target backend for importing.
+
+ @returns
+ the <type>Backend</type> into which layers are
+ imported by <member>XLayerImporter::importLayer()<member/>.
+
+ */
+ XBackend getTargetBackend();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the target backend for importing.
+
+ @param aBackend
+ a <type>Backend</type> into which layers should be
+ imported by <method>XLayerImporter::importLayer()<method/>.
+
+ @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
+ a 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
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 000000000000..0f28433a24f6
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
@@ -0,0 +1,347 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Layer</type> objects.
+ <p> The list ist 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
+ <member>XMultiLayerStratum::listLayerIds()</member> 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 <type>UpdatableLayer</type> 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
+ <member>XMultiLayerStratum::listLayerIds()</member> or
+ <member>XMultiLayerStratum::getUpdateLayerId()</member>.
+ </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
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a <type>Layer</type> 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
+ <member>XMultiLayerStratum::listLayerIds()</member>.
+ </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
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a list of <type>Layer</type> 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
+ <member>XMultiLayerStratum::listLayerIds()</member>.
+ </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
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a list of <type>Layer</type> 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
+ <member>XMultiLayerStratum::getUpdateLayerId()</member>.
+ </p>
+
+ @return
+ an <type>UpdatableLayer</type> 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
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 000000000000..6f761216fd39
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchema.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XSchema_idl__
+#define __com_sun_star_configuration_backend_XSchema_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSchemaHandler_idl__
+#include <com/sun/star/configuration/backend/XSchemaHandler.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XSchemaHandler</type>.
+
+ @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 <type>XSchema</type>methods 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
+ <type>XSchemaHandler</type>.
+ */
+ void readSchema([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ Describes only the component definition to a <type>XSchemaHandler</type>.
+
+ @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 <type>XSchema</type>methods 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
+ <type>XSchemaHandler</type>.
+ */
+ void readComponent([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ Describes the component templates to a <type>XSchemaHandler</type>.
+
+ @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 <type>XSchema</type>methods 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
+ <type>XSchemaHandler</type>.
+ */
+ void readTemplates([in] XSchemaHandler aHandler)
+ raises (com::sun::star::lang::NullPointerException,
+ com::sun::star::lang::WrappedTargetException,
+ MalformedDataException) ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+#endif
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 000000000000..635eb6164bbd
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl
@@ -0,0 +1,538 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XSchemaHandler_idl__
+#define __com_sun_star_configuration_backend_XSchemaHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_TemplateIdentifier_idl__
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+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 descrption 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 <member>startSchema</member>.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the schema</li>
+ <li>if there is a 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 a 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 <member>endComponent</member>
+ is encountered.
+ </p>
+
+ @param aName
+ specifies the name of the component.
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if there is a 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 <member>startComponent</member>.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the component<li>
+ <li>if there is a 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 <member>endTemplate</member>
+ 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
+ <type>SchemaAttribute</type> flags.
+ </p>
+ <p> <const>SchemaAttribute::EXTENSIBLE</const> 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 a 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 <member>endTemplate</member>
+ 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
+ <type>SchemaAttribute</type> flags.
+ </p>
+ <p> <const>SchemaAttribute::EXTENSIBLE</const> 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 a 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 <member>startGroupTemplate</member>
+ or <member>startSetTemplate</member>.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if invalid data is detected in the template</li>
+ <li>if there is a 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 <member>endNode</member>
+ 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
+ <type>SchemaAttribute</type> flags.
+ </p>
+ <p> <const>SchemaAttribute::EXTENSIBLE</const> 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 <member>endNode</member>
+ 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
+ <type>SchemaAttribute</type> flags.
+ </p>
+ <p> <const>SchemaAttribute::EXTENSIBLE</const> 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 <member>startGroup</member>
+ or <member>startSet</member>.
+ </p>
+
+ @throws com::sun::star::configuration::backend::MalformedDataException
+ <ul>
+ <li>if the name is not a 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 <const>SchemaAttribute::REQUIRED</const>).
+ </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
+ <type>SchemaAttribute</type> 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
+ <type>SchemaAttribute</type> 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
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 000000000000..d8005be6a38b
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XSchema_idl__
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..96ac572e82db
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XSingleLayerStratum_idl__
+#define __com_sun_star_configuration_backend_XSingleLayerStratum_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a <type>Layer</type> 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 <type>UpdatableLayer</type> 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
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 000000000000..c2fdf99e2eb0
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+#define __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+//==============================================================================
+
+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
+ <member>XLayer::readData()</member> 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
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 000000000000..918eee7ea365
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl
@@ -0,0 +1,673 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
+#define __com_sun_star_configuration_backend_XUpdateHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_TemplateIdentifier_idl__
+#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
+#include <com/sun/star/configuration/backend/MalformedDataException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+//=============================================================================
+
+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 a 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
+ <member>XUpdateHandler::endUpdate()</member></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 <member>XUpdateHandler::startUpdate()</member>.
+ </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
+ <member>XUpdateHandler::endNode()</member> 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
+ <type>NodeAttribute</type> 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
+ <type>NodeAttribute</type> 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 removeable.
+ </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 <member>XUpdateHandler::endNode()</member> 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
+ <type>NodeAttribute</type> flags. Note that
+ <member>NodeAttribute::FUSE</member> 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 removeable</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 removeable.
+ </p>
+ <p> Subsequent calls describe the difference from the template
+ of properties or members of the node until a matching call
+ to <member>XUpdateHandler::endNode()</member> 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
+ <type>NodeAttribute</type> flags. Note that
+ <member>NodeAttribute::FUSE</member> 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 removeable</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
+ <member>XUpdateHandler::modifyNode()</member>,
+ <member>XUpdateHandler::addOrReplaceNode()</member> or
+ <member>XUpdateHandler::addOrReplaceNodeFromTemplate()</member>.
+ </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 removeable.
+ </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 removeable</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
+ <member>XUpdateHandler::endProperty()</member> 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
+ <type>NodeAttribute</type> flags.
+ </p>
+ <p> Only attributes which are selected in aAttributeMask are changed.
+ </p>
+ <p> <const>NodeAttribute::MANDATORY</const> 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
+ <type>NodeAttribute</type> 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
+ <const>SchemaAttribute::REQUIRED</const> 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
+ <const>SchemaAttribute::REQUIRED</const> 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
+ <member>XUpdateHandler::modifyProperty()</member>.
+ </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
+ removeable 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
+ <type>NodeAttribute</type> flags and may also contain the
+ <const>SchemaAttribute::REQUIRED</const> flag.
+ </p>
+ </p>
+ <p> <const>NodeAttribute::MANDATORY</const> 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 removeable</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
+ removeable 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
+ <type>NodeAttribute</type> flags and may also contain the
+ <const>SchemaAttribute::REQUIRED</const> flag.
+ </p>
+ </p>
+ <p> <const>NodeAttribute::MANDATORY</const> 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 removeable</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 removeable.</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 removeable</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
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 000000000000..2bcefd070ac3
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_XVersionedSchemaSupplier_idl__
+#define __com_sun_star_configuration_backend_XVersionedSchemaSupplier_idl__
+
+#ifndef __com_sun_star_configuration_backend_XSchemaSupplier_idl__
+#include <com/sun/star/configuration/backend/XSchemaSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 <atom>string</atom> 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
+ <atom>string</atom> 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
diff --git a/offapi/com/sun/star/configuration/backend/makefile.mk b/offapi/com/sun/star/configuration/backend/makefile.mk
new file mode 100644
index 000000000000..2e2042b0ec34
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/makefile.mk
@@ -0,0 +1,103 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+PRJNAME=offapi
+
+TARGET = csscbackend
+PACKAGE = com$/sun$/star$/configuration$/backend
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ Backend.idl \
+ SingleBackend.idl \
+ LocalSingleBackend.idl \
+ LdapSingleBackend.idl \
+ BackendAdapter.idl \
+ SingleBackendAdapter.idl \
+ OfflineBackend.idl \
+ OnlineBackend.idl \
+ HierarchyBrowser.idl \
+ LocalHierarchyBrowser.idl \
+ DataImporter.idl \
+ LocalDataImporter.idl \
+ LayerFilter.idl \
+ LayerUpdateMerger.idl \
+ Importer.idl \
+ MergeImporter.idl \
+ CopyImporter.idl \
+ Schema.idl \
+ Layer.idl \
+ UpdatableLayer.idl \
+ SingleLayerStratum.idl \
+ LocalSingleStratum.idl \
+ LdapSingleStratum.idl \
+ MultiStratumBackend.idl \
+ MultiLayerStratum.idl \
+ LdapMultiLayerStratum.idl \
+ SchemaSupplier.idl \
+ LocalSchemaSupplier.idl \
+ PlatformBackend.idl \
+ SystemIntegration.idl \
+ LayerDescriber.idl \
+ InteractionHandler.idl \
+ XBackend.idl \
+ XBackendEntities.idl \
+ XSchemaSupplier.idl \
+ XVersionedSchemaSupplier.idl \
+ XSingleLayerStratum.idl \
+ XMultiLayerStratum.idl \
+ XSchema.idl \
+ XLayer.idl \
+ XCompositeLayer.idl \
+ XUpdatableLayer.idl \
+ XSchemaHandler.idl \
+ XLayerHandler.idl \
+ XUpdateHandler.idl \
+ XLayerImporter.idl \
+ XBackendChangesNotifier.idl \
+ XBackendChangesListener.idl \
+ XLayerContentDescriber.idl \
+ ComponentChangeEvent.idl \
+ TemplateIdentifier.idl \
+ SchemaAttribute.idl \
+ NodeAttribute.idl \
+ PropertyInfo.idl \
+ MergeRecoveryRequest.idl \
+ MalformedDataException.idl \
+ BackendSetupException.idl \
+ StratumCreationException.idl \
+ AuthenticationFailedException.idl \
+ CannotConnectException.idl \
+ InvalidAuthenticationMechanismException.idl \
+ BackendAccessException.idl \
+ ConnectionLostException.idl \
+ InsufficientAccessRightsException.idl
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
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 000000000000..864051bae236
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_xml_LayerParser_idl__
+#define __com_sun_star_configuration_backend_xml_LayerParser_idl__
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::configuration::backend">XLayerHandler</type>.
+ </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
+ <type scope="com::sun::star::configuration::backend">XLayerHandler</type>.
+
+ @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 <type scope="com::sun::star::io">XInputStream</type> or
+ as a <type scope="com::sun::star::xml::sax">InputSource</type>.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..1a32587ad13a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_xml_LayerWriter_idl__
+#define __com_sun_star_configuration_backend_xml_LayerWriter_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayerHandler_idl__
+#include <com/sun/star/configuration/backend/XLayerHandler.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::configuration::backend">XLayerHandler</type>
+ 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 <type scope="com::sun::star::io">XOutputStream</type>.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
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 000000000000..6c60fa2a338a
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_backend_xml_SchemaParser_idl__
+#define __com_sun_star_configuration_backend_xml_SchemaParser_idl__
+
+#ifndef __com_sun_star_configuration_backend_XSchema_idl__
+#include <com/sun/star/configuration/backend/XSchema.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::configuration::backend">XSchemaHandler</type>.
+ </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 <type scope="com::sun::star::io">XInputStream</type> or
+ as a <type scope="com::sun::star::xml::sax">InputSource</type>.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+} ;
+} ; } ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/configuration/backend/xml/makefile.mk b/offapi/com/sun/star/configuration/backend/xml/makefile.mk
new file mode 100644
index 000000000000..b16dcb545738
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/xml/makefile.mk
@@ -0,0 +1,43 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..$/..
+PRJNAME=offapi
+
+TARGET = csscbxml
+PACKAGE = com$/sun$/star$/configuration$/backend$/xml
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ SchemaParser.idl \
+ LayerParser.idl \
+ LayerWriter.idl \
+
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
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 000000000000..3441b45e73a1
--- /dev/null
+++ b/offapi/com/sun/star/configuration/bootstrap/BootstrapContext.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_bootstrap_BootstrapContext_idl__
+#define __com_sun_star_configuration_bootstrap_BootstrapContext_idl__
+
+#ifndef __com_sun_star_uno_XComponentContext_idl__
+#include <com/sun/star/uno/XComponentContext.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::configuration">DefaultProvider</type> and
+ <type scope="com::sun::star::configuration::backend">DefaultBackend</type> of the
+ component context.
+ </p>
+ <p> The implementation is usally available as singleton in the context
+ that it wraps..
+ </p>
+
+ @since OOo 1.1.2
+*/
+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
diff --git a/offapi/com/sun/star/configuration/bootstrap/makefile.mk b/offapi/com/sun/star/configuration/bootstrap/makefile.mk
new file mode 100644
index 000000000000..8c234ead56ae
--- /dev/null
+++ b/offapi/com/sun/star/configuration/bootstrap/makefile.mk
@@ -0,0 +1,41 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+PRJNAME=offapi
+
+TARGET = csscbootstrap
+PACKAGE = com$/sun$/star$/configuration$/bootstrap
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ BootstrapContext.idl \
+
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/configuration/makefile.mk b/offapi/com/sun/star/configuration/makefile.mk
new file mode 100644
index 000000000000..00525e9ba355
--- /dev/null
+++ b/offapi/com/sun/star/configuration/makefile.mk
@@ -0,0 +1,74 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssconfiguration
+PACKAGE=com$/sun$/star$/configuration
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AdministrationProvider.idl \
+ DefaultProvider.idl \
+ CannotLoadConfigurationException.idl \
+ CorruptedConfigurationException.idl \
+ CorruptedUIConfigurationException.idl \
+ InvalidBootstrapFileException.idl \
+ MissingBootstrapFileException.idl \
+ InstallationIncompleteException.idl \
+ ConfigurationAccess.idl\
+ ConfigurationProvider.idl\
+ ConfigurationUpdateAccess.idl\
+ ConfigurationRegistry.idl\
+ HierarchyElement.idl\
+ AccessRootElement.idl\
+ UpdateRootElement.idl\
+ GroupElement.idl\
+ SetElement.idl\
+ HierarchyAccess.idl\
+ GroupAccess.idl\
+ GroupUpdate.idl\
+ SetAccess.idl\
+ SetUpdate.idl\
+ SimpleSetAccess.idl\
+ SimpleSetUpdate.idl\
+ PropertyHierarchy.idl\
+ XTemplateContainer.idl\
+ XTemplateInstance.idl\
+ Update.idl \
+ XUpdate.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/datatransfer/DataFlavor.idl b/offapi/com/sun/star/datatransfer/DataFlavor.idl
new file mode 100644
index 000000000000..b8c258bc40db
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFlavor.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 be 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
diff --git a/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
new file mode 100644
index 000000000000..29e9479f4a01
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_DataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_DataFormatTranslator_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>DataFlavor</type> and vice versa.
+
+ @see com::sun::star::datatransfer::XDataFormatTranslator
+ @see com::sun::star::datatransfer::DataFlavor
+*/
+published service DataFormatTranslator
+{
+ //-------------------------------------------------------------------------
+ /** Converts a <type>DataFlavor</type> to system data types and vice versa.
+ */
+ interface XDataFormatTranslator;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
new file mode 100644
index 000000000000..82deb7314b0c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_MimeContentType_idl__
+#define __com_sun_star_datatransfer_MimeContentType_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+
+ published interface XMimeContentTypeFactory;
+
+//=============================================================================
+/** Used to create an instance that implement the interface
+ <type>XMimeContentType</type> from a string
+ representation of such a MIME content-type that is 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>.
+
+ @see com::sun::star::datatransfer::XMimeContentTypeFactory
+*/
+published service MimeContentTypeFactory
+{
+ //-------------------------------------------------------------------------
+ /** Creates an instance that implement the interface
+ <type>XMimeContentType</type> from the string
+ representation of such a MIME content-types that is conform to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a>,
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+ */
+ interface XMimeContentTypeFactory;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
new file mode 100644
index 000000000000..0d0ffda23547
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#define __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Exception will be thrown if there is a request for data in a
+ <type>DataFlavor</type> 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
diff --git a/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl
new file mode 100644
index 000000000000..aad2882af77b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XDataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_XDataFormatTranslator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Interface to be implemented by objects used to translate a <type>DataFlavor</type> 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 <type>DataFlavor</type> to system dependend 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 <type>DataFlavor</type>
+ if there is one available.
+ <p>If the is no system dependent data type for a given <type>DataFlavor</type>
+ the returned any is empty.</p>
+ */
+ any getSystemDataTypeFromDataFlavor( [in] DataFlavor aDataFlavor );
+
+ //-------------------------------------------------------------------------
+ /** Converts a system dependent data type to a <type>DataFlavor</type>.
+
+ @param aSysDataType
+ A system dependent data type. If aSysDataType is empty so is the returned <type>DataFlavor</type>.
+
+ @returns
+ A <type>DataFlavor</type> for the given system dependent data transfer type.
+ <p>If there is no appropriate mapping for a sytem dependent data type, the returned <type>DataFlavor</type> will be empty.</p>
+ */
+ DataFlavor getDataFlavorFromSystemDataType( [in] any aSysDataType );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentType.idl b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
new file mode 100644
index 000000000000..ccfee62c6a2b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XMimeContentType_idl__
+#define __com_sun_star_datatransfer_XMimeContentType_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//-------------------------------------------------------------------------
+/** An implementation of this interface represents a MIME content-type that
+ is 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>.
+ Instances that implement this interface could be created using the
+ interface <type>XMimeContentTypeFactory</type>.
+*/
+
+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
+
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl
new file mode 100644
index 000000000000..5b7df3168c3b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XMimeContentTypeFactory_idl__
+#define __com_sun_star_datatransfer_XMimeContentTypeFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XMimeContentType_idl__
+#include <com/sun/star/datatransfer/XMimeContentType.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//-------------------------------------------------------------------------
+/** Implementations of this interface do create a
+ <type scope="com::sun::star::datatransfer">XMimeContentType</type> 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 <type>XMimeContentType</type>.
+
+ @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 <type>XMimeContentType</type>.
+
+ @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
+
diff --git a/offapi/com/sun/star/datatransfer/XSystemTransferable.idl b/offapi/com/sun/star/datatransfer/XSystemTransferable.idl
new file mode 100644
index 000000000000..ad634d8a6190
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XSystemTransferable.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XSystemTransferable_idl__
+#define __com_sun_star_datatransfer_XSystemTransferable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XTransferable</type>.
+*/
+
+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
diff --git a/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl b/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl
new file mode 100644
index 000000000000..1c766cd1ddd8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferDataInfo_idl__
+#define __com_sun_star_datatransfer_XTransferDataInfo_idl__
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataFlavor</type>.
+
+ @param aFlavorList
+ A squence of requested <type>DataFlavor</type>.
+ <p>An unsupported <type>DataFlavor</type> will be ignored.</p>
+
+ @returns
+ The number of bytes of the transfer data in the specified sequence of <type>DataFlavor</type>.
+ */
+ hyper queryDataSize( [in] sequence < DataFlavor > aFlavorList );
+
+ //-------------------------------------------------------------------------
+ /** To get all the data of a sequence of <type>DataFlavor</type>.
+
+ @param aFlavorList
+ The sequence of requested <type>DataFlavor</type>.
+ <p>An unsupported <type>DataFlavor</type> will be ignored.</p>
+
+ @returns
+ The data in the requested <type>DataFlavor</type>.
+ <p>For unsupported <type>DataFlavor</type> an
+ empty any will be returned.</p>
+ */
+ sequence < any > getData( [in] sequence < DataFlavor > aFlavorList );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferable.idl b/offapi/com/sun/star/datatransfer/XTransferable.idl
new file mode 100644
index 000000000000..3336b2d5db0b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferable.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#define __com_sun_star_datatransfer_XTransferable_idl__
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataFlavor</type>.
+
+ @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 <type>DataFlavor</type> is not supported.
+ */
+ any getTransferData( [in] DataFlavor aFlavor )
+ raises ( UnsupportedFlavorException, com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** Returns a sequence of supported <type>DataFlavor</type>.
+
+ @returns
+ The sequence of supported <type>DataFlavor</type>.
+
+ @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 <type>DataFlavor</type> is supported by the transfer source.
+ <p>A value of <FALSE/> if the <type>DataFlavor</type> 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
+ <member scope="com::sun::star::datatransfer">XTransferable::getTransferDataFlavors()</member>.
+ */
+ boolean isDataFlavorSupported( [in] DataFlavor aFlavor );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferableEx.idl b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
new file mode 100644
index 000000000000..ab388725170f
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableEx_idl__
+#define __com_sun_star_datatransfer_XTransferable_idl__
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataFlavor</type> 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 <member scope="com::sun::star::datatransfer">XTransferable::getTransferDataFlavors()</member>.
+
+ @returns
+ The list of the matching supported <type>DataFlavor</type> that were requested. For
+ each requested top-level MIME content-type, all supported subtypes are returned.
+ */
+ sequence < DataFlavor > queryTransferDataFlavors( [in] sequence< DataFlavor > requestedFlavors );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSource.idl b/offapi/com/sun/star/datatransfer/XTransferableSource.idl
new file mode 100644
index 000000000000..0ff9bca08302
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSource.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableSource_idl__
+#define __com_sun_star_datatransfer_XTransferableSource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl b/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl
new file mode 100644
index 000000000000..2cf5c4967597
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__
+#define __com_sun_star_datatransfer_XTransferableSupplier_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::datatransfer">XTransferable</type>
+ has no <type scope="com::sun::star::datatransfer">DataFlavor</type> 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
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 000000000000..c7085041b3d0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+ XTransferable Contents;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..369bfd9c53d0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..7a128ee2d108
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_GenericClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_GenericClipboard_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..5190f52a3ad9
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 persistant in the system
+ so that it does not get lost when the source application no longer exist.
+ */
+ const byte Persistant = 2;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..43a8e0e5ba76
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+
+ published interface XClipboardEx;
+ published interface XClipboardNotifier;
+ published interface XFlushableClipboard;
+
+//=============================================================================
+/** The system clipboard service builds a bridge to the OS specific clipboard
+ interfaces.
+
+ <br/><br/><p><strong>Notes:</strong> The Unix implementation needs to be instantiated with 2 Arguments:
+ <ul>
+ <li>A <type scope="com::sun::star::awt">XDisplayConnection</type> that provides the
+ display to be used.</li>
+ <li>A string that names the selection to be used</li>
+ </ul>
+ It is possible to use clipboards for different selections simultaneously.</p>
+*/
+published service SystemClipboard
+{
+ //-------------------------------------------------------------------------
+ /** 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
+ <member scope="com::sun::star::datatransfer::clipboard">XClipboardEx::getRenderingCapabilities()</member>
+ returns Persistant
+ */
+ [optional] interface XFlushableClipboard;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to initialize the clipboard
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..11fe45a2a239
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+ 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 <type scope="com::sun::star::datatransfer">XTransferable</type>
+ has no <type scope="com::sun::star::datatransfer">DataFlavor</type> 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
+ */
+ [oneway] void setContents( [in] 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 ist the system clipboard.</p>
+ */
+ string getName();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..11f0757fe740
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardEx_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardEx_idl__
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+#include <com/sun/star/datatransfer/clipboard/XClipboard.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..24ded33f7239
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardFactory_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardFactory_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>GenericClipboard</type>
+ 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
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 000000000000..36305a4ae412
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardListener_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardListener_idl__
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+#include <com/sun/star/datatransfer/clipboard/ClipboardEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+ [oneway] void changedContents( [in] ClipboardEvent event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..e9626c9fcd84
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardManager_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..6cfbe19c31f5
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardNotifier_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** Provides the ability to request notifiations 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.
+ */
+ [oneway] void addClipboardListener( [in] XClipboardListener listener );
+
+ //-------------------------------------------------------------------------
+ /** Removes listener from notification list.
+
+ @param listener
+ The object to remove from notification list.
+ */
+ [oneway] void removeClipboardListener( [in] XClipboardListener listener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..69127087617d
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardOwner_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardOwner_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 tranferable 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
+ */
+ [oneway] void lostOwnership( [in] XClipboard xClipboard, [in] XTransferable xTrans );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..d3e1682090f7
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XFlushableClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XFlushableClipboard_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/datatransfer/clipboard/makefile.mk b/offapi/com/sun/star/datatransfer/clipboard/makefile.mk
new file mode 100644
index 000000000000..c7d011aea6ca
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdclipboard
+PACKAGE=com$/sun$/star$/datatransfer$/clipboard
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ClipboardEvent.idl \
+ ClipboardManager.idl \
+ GenericClipboard.idl \
+ RenderingCapabilities.idl \
+ SystemClipboard.idl \
+ XClipboard.idl \
+ XClipboardEx.idl \
+ XClipboardFactory.idl \
+ XClipboardListener.idl \
+ XClipboardManager.idl \
+ XClipboardNotifier.idl \
+ XClipboardOwner.idl \
+ XFlushableClipboard.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..2f3ec5a7912c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..bc23cd376ced
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+
+//=============================================================================
+/** A DragGestureEvent is passed to the method <member>XDragGestureListener::dragGestureRecognized()</member>
+ when a particular <type>XDragGestureRecognizer</type> 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 <type scope="com::sun::star::datatransfer::dnd">DNDConstants</type>.
+ 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 <type scope="com::sun::star::awt">MouseEvent</type> event.
+ If it is not, the implementation should either react accordingly or
+ presume that the left mouse button was clicked. </p>
+ */
+
+ any Event;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..4a51d894e1a6
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DragSourceDragEvent</type> is delivered from an object that
+ implements the <type>XDragSourceContext</type> 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
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 000000000000..3ff38b281d17
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DragSourceDropEvent</type> is delivered from an object that implements
+ <type>XDragSourceContext</type> 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
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 000000000000..3cf97f7c4418
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+ published interface XDragSourceContext;
+
+//=============================================================================
+/** This class is the base class for <type>DragSourceDragEvent</type> and <type>DragSourceDropEvent</type>.
+
+ <p>To access the <type>XDragSource</type> that originated this event, use the
+ <member scope="com::sun::star::lang">EventObject::Source</member> 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
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 000000000000..688cfe843d52
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DropTargetDragEnterEvent</type> 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 <type scope="com::sun::star::datatransfer">DataFlavor</type>
+ 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 <type scope="com::sun::star::datatransfer">DataFlavor</type> types.
+
+ */
+
+ sequence< DataFlavor > SupportedDataFlavors;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..d8280d0e5454
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDragContext;
+
+//=============================================================================
+/** The <type>DropTargetDragEvent</type> 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
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 000000000000..661bfbdeae0c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDropContext;
+
+//=============================================================================
+/** The <type>DropTargetDropEvent</type> 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 <type>XDropTargetListener</type>
+ 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 windows' coordinates.
+ */
+
+ long LocationX;
+
+ //-------------------------------------------------------------------------
+ /** The cursor's current y location within the windows' 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
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 000000000000..c73958afce3a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This class is the base class for <type>DropTargetDragEvent</type> and
+ <type>DropTargetDropEvent</type>.
+
+ <p>To access the <type>XDropTarget</type> that originated this event, use the
+ <member scope="com::sun::star::lang">EventObject::Source</member> member of
+ this object.</p>
+*/
+
+published struct DropTargetEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** UNO specification does not allow empty struct definitions.
+ */
+
+ byte Dummy;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..80397604cdc8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#define __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..7227f805f642
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_OleDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_OleDragSource_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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 idenifier 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.
+ Is is passed as an unsigned long.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..de1431e59e65
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_OleDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_OleDropTarget_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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 Drap & 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;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..c301d81e24f8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_X11DragSource_idl__
+#define __com_sun_star_datatransfer_dnd_X11DragSource_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::awt">XDisplayConnection</type>
+ as the first parameter.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..0ed961ede186
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_X11DropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_X11DropTarget_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::awt">XDisplayConnection</type>
+ 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;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..37efc1d7f6cd
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XAutoscroll_idl__
+#define __com_sun_star_datatransfer_dnd_XAutoscroll_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+
+ [oneway] 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
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 000000000000..3aa14195448a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragGestureListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface will be used by a <type>XDragGestureRecognizer</type>
+ 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 <type>XDragGestureRecognizer</type> 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.
+
+ */
+ [oneway] void dragGestureRecognized( [in] DragGestureEvent dge );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..1d0fc5b63d13
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragGestureRecognizer_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureRecognizer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XDragGestureListener</type>.
+
+ @param dgl
+ The <type>XDragGestureListener</type> to register with this
+ <type>XDragGestureRecognizer</type>.
+ */
+
+ [oneway] void addDragGestureListener( [in] XDragGestureListener dgl );
+
+ //-------------------------------------------------------------------------
+ /** Unregisters the specified <type>XDragGestureListener</type>.
+
+ @param dgl
+ The <type>XDragGestureListener</type> to register with this
+ <type>XDragGestureRecognizer</type>.
+ */
+
+ [oneway] void removeDragGestureListener( [in] XDragGestureListener dgl );
+
+ //-------------------------------------------------------------------------
+ /** Reset the recognizer. If it is currently recognizing a gesture, ignore it.
+ */
+
+ void resetRecognizer();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..a67de276c1a5
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSource_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DragGestureEvent</type>
+ through a <member scope="com::sun::star::datatransfer::dnd">XDragGestureListener::dragGestureRecognized()</member>
+ 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 <type>DNDConstants</type>.
+
+ @returns
+ The default drag cursor for the specified drag action.
+ <p>The returned value may be used as parameter for the method
+ <member scope="com::sun::star::datatransfer::dnd">XDragSourceContext::setCursor()</member>.</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
+ <member scope="com::sun::star::datatransfer::dnd">XDragSourceListener::dragDropEnd()</member>
+ on the parameter listener with a DragSourceDragEvent showing a failure.</p>
+
+ @param trigger
+ The <type>DragGestureEvent</type> that initiated the drag.
+
+ @param sourceActions
+ The action or actions supported for this transferable as defined
+ in <type>DNDConstants</type>.
+
+ @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 <type>XDragSourceListener</type>.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ [oneway] 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
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 000000000000..3c212d8999b0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSourceContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceContext_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 <member>XDragSource::startDrag()</member>
+ 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.
+ */
+
+ [oneway] void setCursor( [in] long cursorId );
+
+ //-------------------------------------------------------------------------
+ /** This method sets the current drag image.
+
+ @param dragImage
+ The identifier the drag source returned when registering the image (0 = none).
+ Invalid identifier will be ignored.
+ */
+
+ [oneway] void setImage( [in] long imageId );
+
+ //-------------------------------------------------------------------------
+ /** This method notifies the context that the
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ of the transferable object have changed.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ [oneway] void transferablesFlavorsChanged();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..b15896be1e6a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSourceListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DragSourceDropEvent</type>
+ */
+
+ [oneway] 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 <type>DragSourceDragEvent</type>.
+ */
+
+ [oneway] 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 <type>DragSourceEvent</type>.
+ */
+
+ [oneway] void dragExit( [in] DragSourceEvent dse );
+
+ //-------------------------------------------------------------------------
+ /** Called as the hotspot moves over a platform dependent drop site.
+
+ @param dsde
+ The <type>DragSourceEvent</type>
+ */
+
+ [oneway] void dragOver( [in] DragSourceDragEvent dsde );
+
+ //-------------------------------------------------------------------------
+ /** Called when the user has modified the drop gesture.
+
+ @param dsde
+ The <type>DragSourceEvent</type>.
+ */
+
+ [oneway] void dropActionChanged( [in] DragSourceDragEvent dsde );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..f4b52182583a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTarget_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XAutoscroll</type> interface
+ to see if it supports autoscrolling.</p>
+
+ @param dtl
+ The listener to add to the notification list.
+ */
+
+ [oneway] void addDropTargetListener( [in] XDropTargetListener dtl );
+
+ //-------------------------------------------------------------------------
+ /** Remove a drop target listener.
+
+ @param dtl
+ The listener to remove from notification list.
+ */
+
+ [oneway] 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
+ */
+ [oneway] void setDefaultActions( [in] byte actions );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..261ad3a857f0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetDragContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDragContext_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XDropTargetListener</type>
+ <ul>
+ <li><member>XDropTargetListener::dragEnter()</member></li>
+ <li><member>XDropTargetListener::dragOver()</member></li>
+ <li><member>XDropTargetListener::dragActionChanged()</member></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
+ */
+
+ [oneway] void acceptDrag( [in] byte dragOperation );
+
+ //-------------------------------------------------------------------------
+ /** Reject the drag as a result of examining the available
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ received in the <member scope="com::sun::star::datatransfer::dnd">XDropTargetListener::dragEnter()</member> method.
+ */
+
+ [oneway] void rejectDrag();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..6cd354a92b2e
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetDropContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDropContext_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::datatransfer::dnd">XDropTargetListener::drop()</member>
+ 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
+ */
+
+ [oneway] void acceptDrop( [in] byte dragOperation );
+
+ //-------------------------------------------------------------------------
+ /** Reject the drop as a result of examining the available
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ received in the <member>XDropTargetListener::dragEnter()</member> method.
+ */
+
+ [oneway] 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>
+ */
+
+ [oneway] void dropComplete( [in] boolean success );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..78516990da84
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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> This method should not be oneway. The implentation
+ has to wait until the method <method>XDropTargetDropContext::dropComplete</method>
+ 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 <type>XDropTargetListener</type> should not assume
+ the <type>DropTargetDropEvent</type> to be meaningful after returning
+ from the <member>XDropTargetListener::drop()</member> method.</p>
+
+ @param dtde
+ The <type>DropTargetDropEvent</type>.
+ */
+
+ void drop( [in] DropTargetDropEvent dtde );
+
+ //-------------------------------------------------------------------------
+ /** Called when a drag operation has encountered the drop target.
+
+ @param dtde
+ The <type>DropTargetDragEvent</type>.
+ */
+
+ [oneway] void dragEnter( [in] DropTargetDragEnterEvent dtdee );
+
+ //-------------------------------------------------------------------------
+ /** The drag operation has departed the drop target without dropping.
+
+ @param dte
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dragExit( [in] DropTargetEvent dte );
+
+ //-------------------------------------------------------------------------
+ /** Called when a drag operation is ongoing on the drop target.
+
+ @param dtde
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dragOver( [in] DropTargetDragEvent dtde );
+
+ //-------------------------------------------------------------------------
+ /** Called when the user has modified the drop gesture.
+
+ @param dtde
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dropActionChanged( [in] DropTargetDragEvent dtde );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/makefile.mk b/offapi/com/sun/star/datatransfer/dnd/makefile.mk
new file mode 100644
index 000000000000..358a126aabb1
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/makefile.mk
@@ -0,0 +1,70 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssddnd
+PACKAGE=com$/sun$/star$/datatransfer$/dnd
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DNDConstants.idl \
+ DragGestureEvent.idl \
+ DragSourceEvent.idl \
+ DragSourceDragEvent.idl \
+ DragSourceDropEvent.idl \
+ DropTargetDragEvent.idl \
+ DropTargetDragEnterEvent.idl \
+ DropTargetDropEvent.idl \
+ DropTargetEvent.idl \
+ InvalidDNDOperationException.idl \
+ OleDragSource.idl \
+ OleDropTarget.idl \
+ X11DragSource.idl \
+ X11DropTarget.idl \
+ XAutoscroll.idl\
+ XDragGestureListener.idl \
+ XDragGestureRecognizer.idl \
+ XDragSource.idl \
+ XDragSourceContext.idl \
+ XDragSourceListener.idl \
+ XDropTarget.idl \
+ XDropTargetDragContext.idl \
+ XDropTargetDropContext.idl \
+ XDropTargetListener.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/datatransfer/makefile.mk b/offapi/com/sun/star/datatransfer/makefile.mk
new file mode 100644
index 000000000000..aff51f398a23
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdatatransfer
+PACKAGE=com$/sun$/star$/datatransfer
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XTransferableSupplier.idl \
+ DataFlavor.idl \
+ UnsupportedFlavorException.idl \
+ XTransferable.idl \
+ XTransferableEx.idl \
+ XSystemTransferable.idl \
+ XTransferableSource.idl \
+ XTransferDataAccess.idl \
+ XMimeContentType.idl \
+ XMimeContentTypeFactory.idl \
+ MimeContentTypeFactory.idl\
+ DataFormatTranslator.idl\
+ XDataFormatTranslator.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/deployment/DependencyException.idl b/offapi/com/sun/star/deployment/DependencyException.idl
new file mode 100644
index 000000000000..e9018eb0ed40
--- /dev/null
+++ b/offapi/com/sun/star/deployment/DependencyException.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL
+#define INCLUDED_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
+ <type scope="com::sun::star::task">XInteractionHandler</type>.</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 emtpy, and none of the elements may be
+ <NULL/>.</p>
+ */
+ sequence< com::sun::star::xml::dom::XElement > UnsatisfiedDependencies;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl
new file mode 100644
index 000000000000..3c07d803a48a
--- /dev/null
+++ b/offapi/com/sun/star/deployment/DeploymentException.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_DeploymentException_idl
+#define INCLUDED_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.0
+ */
+exception DeploymentException : com::sun::star::uno::Exception
+{
+ /** reflects the cause of the error. Commonly an exception.
+ */
+ any Cause;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
new file mode 100644
index 000000000000..1911ce04dd81
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_idl
+#define INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_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.0
+*/
+singleton ExtensionManager : XExtensionManager;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
new file mode 100644
index 000000000000..1cd400e248d6
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+#define INCLUDED_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. <member>XPackage::isRemoved</member> will
+ return true on that object.
+
+ @since OOo 3.3.0
+*/
+exception ExtensionRemovedException: com::sun::star::uno::Exception {
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl
new file mode 100644
index 000000000000..3186ecedbdfc
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InstallException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_INSTALLEXCEPTION_IDL
+#define INCLUDED_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
+ <type scope="com::sun::star::task">XInteractionHandler</type>.</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
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
new file mode 100644
index 000000000000..0f0407b0e989
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+#define INCLUDED_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 <member>XPackageRegistry::bindPackage</member> was previously
+ called with a different value for the <code>removed</code> parameter and that
+ the <type>XPackage</type> object created by that call still exist.
+
+ @since OOo 3.3.0
+*/
+exception InvalidRemovedParameterException: com::sun::star::uno::Exception {
+ /** the value of the <code>removed</code> parameter which was used in
+ <member>XPackageRegistry::bindPackage</member> to create the currently
+ existing <type>XPackage</type> object.
+ */
+ boolean PreviousValue;
+ /**
+ the <type>XPackage</type> that was already bound to the provided
+ <code>url</code> paramter during
+ <member>XPackageRegistry::bindPackage</member>.
+
+ <p>Must not be <NULL/>.</p>
+ */
+ XPackage Extension;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl
new file mode 100644
index 000000000000..a80a5e463dd6
--- /dev/null
+++ b/offapi/com/sun/star/deployment/LicenseException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_LicenseException_idl
+#define INCLUDED_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 aggreeing 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 <member>XPackage::getDisplayName</member>
+ */
+ 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
diff --git a/offapi/com/sun/star/deployment/PackageInformationProvider.idl b/offapi/com/sun/star/deployment/PackageInformationProvider.idl
new file mode 100644
index 000000000000..9d3c81d10d08
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PackageInformationProvider.idl
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
new file mode 100644
index 000000000000..0ac85465284b
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_PackageRegistryBackend_idl
+#define INCLUDED_com_sun_star_deployment_PackageRegistryBackend_idl
+
+#include <com/sun/star/deployment/XPackageRegistry.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** The <type>PackageRegistryBackend</type> service is used to bind
+ a specific type of <type>XPackage</type> which can be registered or revoked.
+ <p>
+ All <type>PackageRegistryBackend</type> objects
+ are related to a <type>XPackageManager</type> instance.
+ </p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl
new file mode 100644
index 000000000000..fca14c2f2c6a
--- /dev/null
+++ b/offapi/com/sun/star/deployment/PlatformException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_PlatformException_idl
+#define INCLUDED_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.0
+ */
+exception PlatformException : com::sun::star::uno::Exception
+{
+ /** The package which does not support the current platform.
+ */
+ XPackage package;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl
new file mode 100644
index 000000000000..82999ef4a41c
--- /dev/null
+++ b/offapi/com/sun/star/deployment/Prerequisites.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/deployment/UpdateInformationEntry.idl b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl
new file mode 100644
index 000000000000..26d2a1b876e4
--- /dev/null
+++ b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+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 <type>XUpdateInformationProvider</type>.
+
+ @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;
+};
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/deployment/UpdateInformationProvider.idl b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl
new file mode 100644
index 000000000000..d5bee547c9da
--- /dev/null
+++ b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl
new file mode 100644
index 000000000000..2d69c918c3a2
--- /dev/null
+++ b/offapi/com/sun/star/deployment/VersionException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_VERSIONEXCEPTION_IDL
+#define INCLUDED_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
+ <type scope="com::sun::star::task">XInteractionHandler</type>.</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
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
new file mode 100644
index 000000000000..679ba2ba5a66
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -0,0 +1,363 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XExtensionManager_idl
+#define INCLUDED_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 <type>XExtensionManager</type> interface is used to manage extensions
+ in the user, shared and bundled repository.
+
+ @see ExtensionManager
+ @since OOo 3.3.0
+*/
+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 <type>XPackageTypeInfo</type>s.
+
+ @return
+ supported <type>XPackageTypeInfo</type>s.
+ */
+ 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 repositroy
+ the name of the repository
+ @param identifier
+ extension identifier
+ @param fileName
+ extension file name
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> 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 identifer 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 identifer. 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 repositroy
+ 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] 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 extensinos.
+
+ 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 necessaryly registered (<member>XPackage::registerPackage</member>).
+
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ 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);
+
+
+ /** synchronizes the special bundled_prereg repository, which is based on
+ the bundled extensions and has its registration data folder at
+ $BUNDLED_EXTENSIONS_PREREG (for example openoffice.org3/share/prereg).
+
+ All bundled extensions are registered (<member>XPackage::registerPackage</member>).
+ The active extensions are NOT determined, because this function only works
+ with bundled extensions.
+
+ This function is intended to be called during the installation of OOo.
+ OOo will copy parts of the registration data folder to the user installation at the
+ first startup.
+ */
+
+ void synchronizeBundledPrereg(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+
+ /** 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 this functions are not returned by
+ <member>XExtensionManger::getDeployedExtension</member>
+ <member>XExtensionManger::getDeployedExtensions</member>
+ <member>XExtensionManger::getAllExtensions</member>
+ <member>XExtensionManger::getExtensionsWithSameIdentifier</member>
+ */
+ 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
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
new file mode 100755
index 000000000000..a6a2f6adf851
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -0,0 +1,366 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XPackage_idl
+#define INCLUDED_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
+ <type>PackageRegistryBackend</type>.
+
+ @since OOo 2.0.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 harddisk.
+
+ @param xCmdEnv
+ command environment for error handling and other interaction.
+ @alreadyInstalled
+ indicates that an extension with the same identifyer is already installed.
+
+ @return
+ null - all prerequisites are met. Otherwise, a value from
+ <member>Prerequisites</member> 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 updateing the OpenOffice.org, some dependencies for packages might
+ no longer be satisfied.
+
+ @since OOo 3.2.0
+
+ @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 is 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 <type>XPackage</type>.
+
+ 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 <member>XExtensionManager::synchronize</member>
+ @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 <type>XPackage</type>.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the registration process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void revokePackage(
+ [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
+ in case this package relfects a package bundle
+ */
+ boolean isBundle();
+
+ /** Gets packages of the bundle.
+
+ If <member>isRemoved</member> 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 (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 a package, the strings
+ might be empty, if there are no publisher
+
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the publisher name and
+ <type scope="::com::sun::star::beans">StringPair</type>::Second
+ represents the URL to the publisher.
+ */
+
+ ::com::sun::star::beans::StringPair getPublisherInfo()
+ raises (ExtensionRemovedException);
+ /** returns the <type>XPackageTypeInfo</type>, 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 conform
+ @param newTitle
+ new package name
+ @param nameClashAction
+ one of <type scope="com::sun::star::ucb">NameClash</type>
+ @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);
+
+ /** 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
+ <member>XPackage::registerPackage</member>. If this is the case is
+ indicated by <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> of the return
+ value.
+ If registration data are created during registration, but the package is
+ currently not registered, for example after calling
+ <member>XPackage::revokePackage</member>, then <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> is true and
+ the <member scope="com::sun::star::beans">Optional::Value</member> may
+ be an empty string.
+ */
+ com::sun::star::beans::Optional<string> getRegistrationDataURL()
+ raises (ExtensionRemovedException);
+
+ /** indicates if this object represents a removed extension or extension
+ item. This is the case when it was created by providing
+ <code>true</code> for the <code>removed</code> parameter in the function
+ <member>XPackageRegistry::bindPackage</member>.
+ */
+ boolean isRemoved();
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/XPackageInformationProvider.idl b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl
new file mode 100644
index 000000000000..a983e34ecdd3
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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 an 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 emty string will be returned.
+ */
+ string getPackageLocation( [in] string extensionId );
+
+ /** check if there are updates available for an extention.
+
+ @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 extention with their version.
+ */
+ sequence< sequence< string > > getExtensionList();
+};
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
new file mode 100644
index 000000000000..da329bb9367f
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -0,0 +1,314 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XPackageManager_idl
+#define INCLUDED_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 <type>XPackageManager</type> 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 an UNO package means that a copy of the package is stored
+ in the repository.
+ </p>
+ <p>
+ Removing an 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 <type>XExtensionManager</type>.
+ </p>
+ <p>
+ Objects of this interface are created using the
+ <type>XPackageManagerFactory</type> service resp. the singleton
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>.
+ </p>
+
+ @see thePackageManagerFactory
+ @since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
+*/
+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 <type>XPackageTypeInfo</type>s.
+
+ @return
+ supported <type>XPackageTypeInfo</type>s.
+ */
+ 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 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
+ <type>XPackage</type> 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 insterface, 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
+ <type>XPackage</type> 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 an 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
+ <type>XPackage</type> 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 xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void reinstallDeployedPackages(
+ [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 xAddedExtension
+ new extensions which may need to be registered.
+
+ @param
+ removed extensions which must be revoked
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ 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);
+
+
+ /** 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 <type>Prerequisites</type> 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
diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
new file mode 100644
index 000000000000..4b5b7183ba47
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XPackageManagerFactory_idl
+#define INCLUDED_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 <type>XPackageManagerFactory</type> interface is used to obtain
+ <type>XPackageManager</type> instances.
+ <p>
+ You have to use the singleton
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>
+ exclusively.
+ </p>
+
+ @since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
+*/
+interface XPackageManagerFactory
+{
+ /** Method to create (or reusing and already existing)
+ <type>XPackageManager</type> 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
+ <type>XPackageManager</type> 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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>.
+ </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
+ <type>XPackageManager</type> 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
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
new file mode 100644
index 000000000000..a8e3f556781d
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XPackageRegistry_idl
+#define INCLUDED_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 an UNO package.
+
+ @since OOo 2.0.0
+*/
+interface XPackageRegistry
+{
+ /** binds a package URL to a <type>XPackage</type> 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 to that one
+ creates an <type>XPackage</type> object on behalf of that extension and
+ calls <member>XPackage::revokePakage</member>. The parameter
+ <code>removed</code> indicates this case. The returned object may not
+ rely on the file or folder to which refers <code>url</url>. Instead it
+ must use previously saved data to successfully carry out the revocation
+ of this object (<member>XPackage::revokePackage</member>).
+
+ The implementation must ensure that there is only one instance of
+ <type>XPackage</type> for the same <code>url</code> at any
+ time. Therefore calling <member>bindPackage</member> again with the same
+ <code>url</code> but different <code>mediaType<code> (the exeption is,
+ if previsously an empty string was proveded to cause the determination
+ of the media type) or <code>removed</code> parameters will cause an
+ exception. An <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> will be
+ thrown in case of a different <code>mediaType</code> parameter and a
+ <type>InvalidRemovedParameterException</type> 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 <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> 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
+
+ @para unfulfilledPrerequisites
+ has a value other null if the extension could not be installed previously
+ because <member>XPackage::checkPrerequisites</member> failed.
+
+ @param identifier
+ the identifier of the extension
+
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> 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 <type>XPackageTypeInfo</type>s.
+
+ @return
+ supported <type>XPackageTypeInfo</type>s.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ void packageRemoved(
+ [in] string url,
+ [in] string mediaType)
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
new file mode 100644
index 000000000000..7252f73d200b
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XPackageTypeInfo_idl
+#define INCLUDED_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.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
+ <member scope="com::sun::star::ui::dialogs">XFilterManager::appendFilter</member>.
+
+ @return
+ file filter string
+ */
+ string getFileFilter();
+
+ /** returns an icon for a package.
+
+ @param highContrast
+ return high contrast icon
+ @param smallIcon
+ return a small icon (e.g. 16x16 pixel),
+ else return a big one (e.g. 26x26 pixel)
+ @return
+ currently an unsigned short
+ (resource id for deploymentgui resource file),
+ <void/> any if none is available
+ */
+ any getIcon( [in] boolean highContrast, [in] boolean smallIcon );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl
new file mode 100644
index 000000000000..6291b3f4e76f
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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 immediatly.
+ */
+ void cancel();
+
+ /** Sets an interaction handler to be used for further operations.
+
+ <p>
+ A default interaction handler is available as service
+ <type scope="com::sun::star::task">InteractionHandler</type>.
+ 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 <type>UpdateInformationEntry</type>.
+ */
+ com::sun::star::container::XEnumeration getUpdateInformationEnumeration(
+ [in] sequence< string > repositories,
+ [in] string extensionId
+ ) raises ( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/deployment/makefile.mk b/offapi/com/sun/star/deployment/makefile.mk
new file mode 100644
index 000000000000..1e3a77b89573
--- /dev/null
+++ b/offapi/com/sun/star/deployment/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET = cssdeployment
+PACKAGE = com$/sun$/star$/deployment
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ DeploymentException.idl \
+ XPackageTypeInfo.idl \
+ XPackage.idl \
+ XPackageRegistry.idl \
+ PackageRegistryBackend.idl \
+ XPackageManager.idl \
+ XPackageManagerFactory.idl \
+ XExtensionManager.idl \
+ ExtensionManager.idl \
+ thePackageManagerFactory.idl \
+ DependencyException.idl \
+ LicenseException.idl \
+ VersionException.idl \
+ InstallException.idl \
+ UpdateInformationEntry.idl \
+ XUpdateInformationProvider.idl \
+ UpdateInformationProvider.idl \
+ XPackageInformationProvider.idl \
+ PackageInformationProvider.idl \
+ PlatformException.idl \
+ InvalidRemovedParameterException.idl \
+ ExtensionRemovedException.idl \
+ Prerequisites.idl
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
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 000000000000..0669705f351a
--- /dev/null
+++ b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 smoketest 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 smoketest
+ */
+ service SmoketestCommandEnvironment: ::com::sun::star::ucb::XCommandEnvironment;
+};};};};};
+
+#endif
diff --git a/offapi/com/sun/star/deployment/test/makefile.mk b/offapi/com/sun/star/deployment/test/makefile.mk
new file mode 100644
index 000000000000..2c00302497ae
--- /dev/null
+++ b/offapi/com/sun/star/deployment/test/makefile.mk
@@ -0,0 +1,41 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+
+PRJNAME = api
+
+TARGET = cssdeploymenttest
+PACKAGE = com$/sun$/star$/deployment$/test
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ SmoketestCommandEnvironment.idl
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
new file mode 100644
index 000000000000..85e95acea598
--- /dev/null
+++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_thePackageManagerFactory_idl
+#define INCLUDED_com_sun_star_deployment_thePackageManagerFactory_idl
+
+#include <com/sun/star/deployment/XPackageManagerFactory.idl>
+
+
+module com { module sun { module star { module deployment {
+
+/** <type>thePackageManagerFactory</type> denotes the one and only
+ <type>XPackageManagerFactory</type> object to be used.
+ <p>
+ The component context entry is
+ <code>
+ /singletons/com.sun.star.deployment.thePackageManagerFactory
+ </code>.
+ </p>
+
+ @since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
+*/
+singleton thePackageManagerFactory : XPackageManagerFactory;
+
+}; }; }; };
+
+#endif
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 000000000000..308b5b5b9814
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_ui_LicenseDialog_idl
+#define INCLUDED_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 <type>LicenseDialog</type> 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
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 000000000000..0f2b58d941f9
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_ui_PackageManagerDialog_idl
+#define INCLUDED_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 <type>PackageManagerDialog</type> is used to visually manage installed
+ packages of the user and shared installation as well as currently open
+ documents.
+
+ @since OOo 2.0.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 focussedContext
+ context to be focussed
+ */
+ create( [in] com::sun::star::awt::XWindow xParent,
+ [in] string focussedContext );
+
+ /** 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
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 000000000000..35b314b74f92
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_ui_UpdateRequiredDialog_idl
+#define INCLUDED_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 <type>UpdateRequiredDialog</type> is used to show a list of extensions not compatible with this office version.
+
+ @since OOo 3.2.0
+*/
+service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** Create a GUI using the specific parent window and focus on the
+ given context.
+
+ @param xParent
+ parent window
+ */
+ create();
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/ui/makefile.mk b/offapi/com/sun/star/deployment/ui/makefile.mk
new file mode 100644
index 000000000000..5436f66178a8
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ui/makefile.mk
@@ -0,0 +1,43 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET = cssdeploymentui
+PACKAGE = com$/sun$/star$/deployment$/ui
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ PackageManagerDialog.idl \
+ LicenseDialog.idl \
+ UpdateRequiredDialog.idl
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/document/AmbigousFilterRequest.idl b/offapi/com/sun/star/document/AmbigousFilterRequest.idl
new file mode 100644
index 000000000000..479f404f681b
--- /dev/null
+++ b/offapi/com/sun/star/document/AmbigousFilterRequest.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_AmbigousFilterRequest_idl__
+#define __com_sun_star_document_AmbigousFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** should be used for interaction to handle states of ambigous 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 <type>XInteractionFilterSelect</type>
+ 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 pre selected filter
+ */
+ string SelectedFilter;
+
+ //-------------------------------------------------------------------------
+ /** transport the real detected filter, which stands in conflict to the pre selected one
+ */
+ string DetectedFilter;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/BrokenPackageRequest.idl b/offapi/com/sun/star/document/BrokenPackageRequest.idl
new file mode 100644
index 000000000000..04b9b795027d
--- /dev/null
+++ b/offapi/com/sun/star/document/BrokenPackageRequest.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_BrokenPackageRequest_idl__
+#define __com_sun_star_document_BrokenPackageRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/ChangedByOthersRequest.idl b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
new file mode 100644
index 000000000000..04e22ce539f9
--- /dev/null
+++ b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ChangedByOthersRequest_idl__
+#define __com_sun_star_document_ChangedByOthersRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
new file mode 100644
index 000000000000..af7116b085ea
--- /dev/null
+++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_CorruptedFilterConfigurationException_idl__
+#define __com_sun_star_document_CorruptedFilterConfigurationException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+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.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
diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl
new file mode 100644
index 000000000000..1ec7f599ad6a
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentEvent.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_document_DocumentEvent_idl__
+#define __com_sun_star_document_DocumentEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+#ifndef __com_sun_star_frame_XController2_idl__
+#include <com/sun/star/frame/XController2.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** describes an event happening in an <type>OfficeDocument</type>
+
+ <p>The <member scope="com::sun::star::lang">EventObject::Source</member> 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 OpenOffice.org 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 <type>XDocumentEventBroadcaster</type>
+ 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 even 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
diff --git a/offapi/com/sun/star/document/DocumentInfo.idl b/offapi/com/sun/star/document/DocumentInfo.idl
new file mode 100644
index 000000000000..f754013d665f
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentInfo.idl
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_DocumentInfo_idl__
+#define __com_sun_star_document_DocumentInfo_idl__
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module document {
+
+//=============================================================================
+/** this service provides document-specific information like the
+ author, creation date and user fields
+
+ <p>
+ Contrary to the service <type>StandaloneDocumentInfo</type> the document - which
+ contains such informations - must be loaded completly. As a result of that this
+ DocumengInfo service is available on an open document via the interface
+ <type>XDocumentInfoSupplier</type> only.
+ </p>
+
+ @deprecated Use <type>DocumentProperties</type> instead.
+
+ @see StandaloneDocumentInfo
+ @see XDocumentInfoSupplier
+ */
+published service DocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** provides access to the user fields for the information regarding the
+ document
+
+ <p>
+ These fields are additional to normal properties.
+ (see below)
+ </p>
+ */
+ interface XDocumentInfo;
+
+ //-------------------------------------------------------------------------
+ /** neccessary to support normal properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+ /** supports faster access on well known properties by using index
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the user fields, which (instead to the user fields set
+ by the interface XDocumentInfo) will be typesafe.
+
+ <p>
+ These fields are additional to normal properties (see below) and
+ additional to the user fields set by the interface XDocumentInfo (see before).
+ </p>
+ */
+ [optional] interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** contains the intial author of the document
+ */
+ [property] string Author;
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [property] boolean AutoloadEnabled;
+
+ //-------------------------------------------------------------------------
+ /** contains the number of seconds after which a specified
+ URL is to be loaded after the document is loaded into a desktop
+ frame
+ */
+ [property] long AutoloadSecs;
+
+ //-------------------------------------------------------------------------
+ /** contains the URL to load automatically after a
+ specified time after the document is loaded into a desktop frame
+ */
+ [property] string AutoloadURL;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of the first time the
+ document was stored
+ */
+ [property] com::sun::star::util::DateTime CreationDate;
+
+ //-------------------------------------------------------------------------
+ /** 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>
+ */
+ [property] string DefaultTarget;
+
+ //-------------------------------------------------------------------------
+ /** contains a multi-line comment of the document
+
+ <p>
+ Line delimiters can be UNIX, Macintosh or DOS style.
+ </p>
+ */
+ [property] string Description;
+
+ //-------------------------------------------------------------------------
+ /** contains some statistics about the document
+
+ <p>
+ The exact name and type of the values depends on the document type
+ </p>
+ */
+ [property] sequence< com::sun::star::beans::NamedValue > DocumentStatistic;
+
+ //-------------------------------------------------------------------------
+ /** describes how often the document was edited and saved
+ */
+ [property] short EditingCycles;
+
+ //-------------------------------------------------------------------------
+ /** contains the net time of editing the document (in seconds)
+ */
+ [property] long EditingDuration;
+
+ //-------------------------------------------------------------------------
+ /** identifies application was used to create or last modify the document
+ */
+ [property] string Generator;
+
+ //-------------------------------------------------------------------------
+ /** contains a comma separated list of keywords for
+ the document
+ */
+ [property] string Keywords;
+
+ //-------------------------------------------------------------------------
+ /** contains the MIME-type of the document's resource
+
+ <p>
+ The MIME-type is neither stored in the document information nor in
+ the document; it is sent within a protocol header or is
+ detected, thus it cannot be changed.
+ </p>
+ */
+ [readonly, property] string MIMEType;
+
+ //-------------------------------------------------------------------------
+ /** default language of the document
+ */
+ [property] com::sun::star::lang::Locale Language;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the editor who was the last
+ person to store this document
+ */
+ [property] string ModifiedBy;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of the last time the
+ document was stored
+ */
+ [property] com::sun::star::util::DateTime ModifyDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of when the document was
+ last printed
+ */
+ [property] com::sun::star::util::DateTime PrintDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the editor who was the last
+ person to print the document
+ */
+ [property] string PrintedBy;
+
+ //-------------------------------------------------------------------------
+ /** subject of document
+ */
+ [property] string Subject;
+
+ //-------------------------------------------------------------------------
+ /** contains logical 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>
+ */
+ [property] string Template;
+
+ //-------------------------------------------------------------------------
+ /** contains the file path name of the template from
+ which the document was created
+ */
+ [property] string TemplateFileName;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of when the document
+ was created or updated from the template
+ */
+ [property] com::sun::star::util::DateTime TemplateDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the title of the document
+ */
+ [property] string Title;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/DocumentProperties.idl b/offapi/com/sun/star/document/DocumentProperties.idl
new file mode 100755
index 000000000000..5b00f6c9a8e2
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentProperties.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_DocumentProperties_idl__
+#define __com_sun_star_document_DocumentProperties_idl__
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DocumentInfo</type> and
+ <type>StandaloneDocumentInfo</type> services.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentProperties
+ @see XDocumentPropertiesSupplier
+ */
+published service DocumentProperties : XDocumentProperties
+{
+ /** constructs default-initialized instance
+ */
+ create();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl
new file mode 100644
index 000000000000..6a2567abfab5
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_DocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_DocumentRevisionListPersistence_idl__
+
+#ifndef __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+#include <com/sun/star/document/XDocumentRevisionListPersistence.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** interface to maintain a list of document revisions
+
+ <p>
+ <p>
+ */
+service DocumentRevisionListPersistence : XDocumentRevisionListPersistence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/EmptyUndoStackException.idl b/offapi/com/sun/star/document/EmptyUndoStackException.idl
new file mode 100755
index 000000000000..e003d6af71b9
--- /dev/null
+++ b/offapi/com/sun/star/document/EmptyUndoStackException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 fullfilled.
+ */
+exception EmptyUndoStackException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/EventDescriptor.idl b/offapi/com/sun/star/document/EventDescriptor.idl
new file mode 100644
index 000000000000..50f2ae16f875
--- /dev/null
+++ b/offapi/com/sun/star/document/EventDescriptor.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/document/EventObject.idl b/offapi/com/sun/star/document/EventObject.idl
new file mode 100644
index 000000000000..9cfbc48f449f
--- /dev/null
+++ b/offapi/com/sun/star/document/EventObject.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_EventObject_idl__
+#define __com_sun_star_document_EventObject_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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 occured event
+
+ <p>
+ For a list of possible event names see <type>Events</type>.
+ </p>
+ */
+ string EventName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/Events.idl b/offapi/com/sun/star/document/Events.idl
new file mode 100644
index 000000000000..267f9c5329d0
--- /dev/null
+++ b/offapi/com/sun/star/document/Events.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_Events_idl__
+#define __com_sun_star_document_Events_idl__
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XEventBroadcaster</type>
+ to any <type>XEventListener</type> packed as <type>EventObject</type>s.
+ </p>
+ */
+published service Events
+{
+ //-------------------------------------------------------------------------
+ /** offers access to the list of <type>EventDescriptor</type>s
+
+ <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
diff --git a/offapi/com/sun/star/document/ExportFilter.idl b/offapi/com/sun/star/document/ExportFilter.idl
new file mode 100644
index 000000000000..f8a4611feab7
--- /dev/null
+++ b/offapi/com/sun/star/document/ExportFilter.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ExportFilter_idl__
+#define __com_sun_star_document_ExportFilter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ImportFilter</type>
+ 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 setted by using another interface
+ <type>XExporter</type> which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service <type>ImportFilter</type> 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 <type>XExporter</type> or <type>XImporter</type>!
+ 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 <type>FilterFactory</type>.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass follow informations 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ of service <type>FilterFactory</type>.
+ </li>
+ </ul>
+ See description of service <member>FilterFactory::XNameContainer</member> 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 <type>FilterFactory</type>
+ to get further informations 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
+ unambigous against all other registered filter in current instalation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() sould 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
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetection.idl b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
new file mode 100644
index 000000000000..f4f5b85d3e13
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ExtendedTypeDetection_idl__
+#define __com_sun_star_document_ExtendedTypeDetection_idl__
+
+#ifndef __com_sun_star_document_XExtendedFilterDetection_idl__
+#include <com/sun/star/document/XExtendedFilterDetection.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** describes a class of service which will be used for deep <type>TypeDetection</type>
+ in a generic way
+
+ <p>
+ Due to the registered types, flat <type>TypeDetection</type> 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.devision.DetectService"
+ <br>
+ Note that this realy means the implementation name of the service.
+ Because it's not possible otherwise to distinguish between more then one
+ registered detect services in same office installation! But it's possible for
+ the generic type detection to create an 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 <type>TypeDetection</type> and his configuration for further informations.
+ </p>
+
+ @see TypeDetection
+ */
+published service ExtendedTypeDetection
+{
+ //-------------------------------------------------------------------------
+ /** makes the deep detection
+
+ <p>
+ Generic type detection searchs 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 <type>MediaDescriptor</type>
+ 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
+ <member>MediaDescriptor::InputStream</member>. Then this one should be used everytime.
+ If it's not included in descriptor the value of <member>MediaDescriptor::URL</member>
+ must be used to open requested ressource 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
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl
new file mode 100644
index 000000000000..bcab3aab75a9
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ExtendedTypeDetectionFactory_idl__
+#define __com_sun_star_document_ExtendedTypeDetectionFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+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 it's uno implementation name and will be crated then.
+ Every new created component can be intialized with it's own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the
+ service must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >,
+ 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 factoyr 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< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+ </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 realy the implementation instead of the uno service name.
+ Because it's not possible to distinguish between more then 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 <type>TypeDetection</type> 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 informations 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 seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. 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 possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterAdapter.idl b/offapi/com/sun/star/document/FilterAdapter.idl
new file mode 100644
index 000000000000..800ba1372115
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterAdapter.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _COM_SUN_STAR_DOCUMENT_FILTERADAPTOR_IDL__
+#define _COM_SUN_STAR_DOCUMENT_FILTERADAPTOR_IDL__
+
+#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__
+#include <com/sun/star/document/XFilterAdapter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+ /* Provides access to user to filters written to use the FilterAdapter
+ @author Aidan Butler
+
+ @since OOo 1.1.2
+ */
+published service FilterAdapter
+ {
+ interface XFilterAdapter;
+ };
+ };
+ };
+ };
+};
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterFactory.idl b/offapi/com/sun/star/document/FilterFactory.idl
new file mode 100644
index 000000000000..ddb4bcb5ebf6
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterFactory.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_FilterFactory_idl__
+#define __com_sun_star_document_FilterFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** factory to create filter components.
+
+ <p>
+ After a generic <type>TypeDetection</type> an internal type name
+ will be known. Further a generic <type scope="com::sun::star::frame">FrameLoader</type>
+ 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 behaviour</strong><p>
+ The methods createInstance() or createInstanceWithArguments() of this interface must be
+ called with an internal type name!. This name is used internaly 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 it's internal filter name directly can be
+ reached by using createInstanceWithArguments() with an optional property "FilterName" only.
+ See the following example:
+
+ <listing>
+ 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);
+ }
+ </listing>
+ </p>
+
+ <p>
+ <strong>Proposed behaviour</strong><p>
+ Searching of a suitable filter for a given internal type name, must be done by the new interface
+ <type scope="com::sun::star::container">XContainerQuery</type>, available on this factory too.
+ The factory interface can be used to create filter components by it's internal filter name only.
+ </p>
+
+ <p>
+ <strong>How it can be distinguished?</strong><p>
+ The new prosposed implementation will throw an <type scope="com::sun::star::container">NoSuchElementException</type>
+ if the first parameter of createInstance() or createInstanceWithArguments() does not match to a valid container (means
+ filter) item. Further it will throw an <type scope="com::sun::star::lang">IllegalArgumentException</type> 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 intialized with it's own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the filter
+ instance must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >,
+ 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 factoyr 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< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+ </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< <type scope="com::sun::star::beans">PropertyValue</type> >.
+ The name of such property must be interpreted as locale; it's 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 <type>TypeDetection</type> for further informations)</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. <type scope="com::sun::star::text">TextDocument</type>)</td>
+ </tr>
+ <tr>
+ <td><em>FilterService</em></td>
+ <td>[string]</td>
+ <td>It means the uno implementation name of the filter component.
+ Note: It means the realy the implementation instead of the uno service name.
+ Because it's not possible to distinguish between more then 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 then 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 adressed by his internal name,
+ and it must be an unambigous 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 informations 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 seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. 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 possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterOptionsRequest.idl b/offapi/com/sun/star/document/FilterOptionsRequest.idl
new file mode 100644
index 000000000000..4b6bcb70e729
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterOptionsRequest.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_AmbigousFilterRequest_idl__
+#define __com_sun_star_document_AmbigousFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/HeaderFooterSettings.idl b/offapi/com/sun/star/document/HeaderFooterSettings.idl
new file mode 100644
index 000000000000..f81e227e5644
--- /dev/null
+++ b/offapi/com/sun/star/document/HeaderFooterSettings.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_HeaderFooterSettings_idl__
+#define __com_sun_star_document_HeaderFooterSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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 printinge of the current time in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintTime;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/ImportFilter.idl b/offapi/com/sun/star/document/ImportFilter.idl
new file mode 100644
index 000000000000..40ca14c1d94b
--- /dev/null
+++ b/offapi/com/sun/star/document/ImportFilter.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ImportFilter_idl__
+#define __com_sun_star_document_ImportFilter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ExportFilter</type>
+ 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 setted by using another interface
+ <member>ImportFilter::XImporter</member> which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service <type>ExportFilter</type> 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 <type>XExporter</type> or <type>XImporter</type>!
+ 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 <type>FilterFactory</type>.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass follow informations 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ of service <type>FilterFactory</type>.
+ </li>
+ </ul>
+ See description of service <member>FilterFactory::XNameContainer</member> 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 <type>FilterFactory</type>
+ to get further informations 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
+ unambigous against all other registered filter in current instalation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() sould 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
diff --git a/offapi/com/sun/star/document/LinkTarget.idl b/offapi/com/sun/star/document/LinkTarget.idl
new file mode 100644
index 000000000000..3c4ba768c6d5
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTarget.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_LinkTarget_idl__
+#define __com_sun_star_document_LinkTarget_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+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 optinonal 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
diff --git a/offapi/com/sun/star/document/LinkTargets.idl b/offapi/com/sun/star/document/LinkTargets.idl
new file mode 100644
index 000000000000..cd5fb928a6eb
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTargets.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_LinkTargets_idl__
+#define __com_sun_star_document_LinkTargets_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::container">XNameAccess</type> returns elements
+ of <type scope="com::sun::star::beans">XPropertySet</type> that implement
+ the service <type>LinkTarget</type>. </p>
+ */
+published service LinkTargets
+{
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LinkUpdateModes.idl b/offapi/com/sun/star/document/LinkUpdateModes.idl
new file mode 100644
index 000000000000..98fbea289092
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkUpdateModes.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 behaviours.
+ */
+ const long GLOBAL_SETTING = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LockFileIgnoreRequest.idl b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
new file mode 100644
index 000000000000..d13a904ab80b
--- /dev/null
+++ b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_LockFileIgnoreRequest_idl__
+#define __com_sun_star_document_LockFileIgnoreRequest_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/LockedDocumentRequest.idl b/offapi/com/sun/star/document/LockedDocumentRequest.idl
new file mode 100644
index 000000000000..23059c9c176c
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedDocumentRequest.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_LockedDocumentRequest_idl__
+#define __com_sun_star_document_LockedDocumentRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/LockedOnSavingRequest.idl b/offapi/com/sun/star/document/LockedOnSavingRequest.idl
new file mode 100644
index 000000000000..2dc63260bfad
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedOnSavingRequest.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_LockedOnSavingRequest_idl__
+#define __com_sun_star_document_LockedOnSavingRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/MacroExecMode.idl b/offapi/com/sun/star/document/MacroExecMode.idl
new file mode 100644
index 000000000000..f74511445f61
--- /dev/null
+++ b/offapi/com/sun/star/document/MacroExecMode.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 conformation for it executing will
+ appear.
+ </p>
+ */
+
+ const short FROM_LIST = 1;
+
+ //-------------------------------------------------------------------------
+ /** Execute any macro, macros signed with trusted sertificates 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
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
new file mode 100644
index 000000000000..a0aaed88a929
--- /dev/null
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -0,0 +1,640 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_MediaDescriptor_idl__
+#define __com_sun_star_document_MediaDescriptor_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::beans" dim="[]">PropertyValue</type>.
+ Such descriptors will be passed to different functions, included into possible
+ load/save proccesses. Every member of such process can use this descriptor
+ and may change it if to actualize the informations 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 the they
+ will be used (especialy a possible stream). It's allowed to use it directly
+ or by copying it only.
+ </p>
+
+ @see com::sun::star::beans::PropertyValue
+ */
+published service MediaDescriptor
+{
+ //-------------------------------------------------------------------------
+ /** May be set by filters or detection services if user has choosen 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 adressed 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 <member>MediaDescriptor::URL</member>
+
+ <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 <type>TypeDetection</type> 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.
+ </p>
+ */
+ [optional,property] string FilterName;
+
+ //-------------------------------------------------------------------------
+ /** same as <member>MediaDescriptor::FilterOptions</member>
+
+ <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
+ <member>MediaDescriptor::FilterName</member>. 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 <member>MediaDescriptor::FilterData</member>.
+ </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
+ <member>MediaDescriptor::FilterOptions</member> 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 readong only once, except when it
+ also implements the <type scope="com::sun::star::io">XSeekable</type> interface.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XInputStream InputStream;
+
+ //-------------------------------------------------------------------------
+ /** handle exceptional situations
+
+ <p>
+ Object implementing the <type scope="com::sun::star::task">InteractionHandler</type>
+ 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 components' 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 <type>TypeDetection</type> configuration (otherwise it's ignored).
+ This bypasses the type detection of the <type scope="com::sun::star::frame">Desktop</type> 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><member>MediaDescriptor::ReadOnly</member></td>
+ </tr>
+ <tr>
+ <td><em>Preview</em></td>
+ <td>B</td>
+ <td><member>MediaDescriptor::Preview</member></td>
+ </tr>
+ <tr>
+ <td><em>AsTemplate</em></td>
+ <td>T</td>
+ <td><member>MediaDescriptor::AsTemplate</member></td>
+ </tr>
+ <tr>
+ <td><em>Hidden</em></td>
+ <td>H</td>
+ <td><member>MediaDescriptor::Hidden</member></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 <type scope="com::sun::star::frame">Desktop</type> environment.
+ </p>
+ */
+ [optional,property] boolean OpenNewView;
+
+
+ //-------------------------------------------------------------------------
+ /** overwrite any existing file
+
+ <p>
+ For storing only: overwrite any existing file, default is <FALSE/>,
+ so an error occurs if the target file already exists.
+ </p>
+ */
+ [optional,property] boolean Overwrite;
+
+ //-------------------------------------------------------------------------
+ /** pasword for loading 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;
+
+ //-------------------------------------------------------------------------
+ /** use <member>MediaDescriptor::PostData</member> 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; f.e. 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, f.e. "macro:" URLs.
+ <br>
+ Don't be confused about the wrong spelling; 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 informations
+
+ <p>
+ Object implementing the <type scope="com::sun::star::task">XStatusIndicator</type>
+ 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 components'
+ 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 <member>MediaDescriptor::TemplateRegion</member>
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ <member>MediaDescriptor::TemplateRegionName</member>.
+ </p>
+ */
+ [optional,property] string TemplateName;
+
+ //-------------------------------------------------------------------------
+ /** name of the template instead of the URL
+
+ <p>
+ The logical name of a template to load. Together with the <member>MediaDescriptor::TemplateRegion</member>
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ <member>MediaDescriptor::TemplateRegionName</member>.
+ </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 the full qualified URL and
+ must include f.e. an optional <member>MediaDescriptor::JumpMark</member> too.
+ </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 <type scope="com::sun::star::frame">Controller</type>
+ object by its <type scope="com::sun::star::frame">XController</type>
+ 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 <type scope="com::sun::star::document">MacroExecMode</type>
+ 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 <type scope="com::sun::star::document">UpdateDocMode</type>
+ 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 <member scope="com::sun::star::frame">XModel2::createViewController</member>
+ 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/NoSuchFilterRequest.idl b/offapi/com/sun/star/document/NoSuchFilterRequest.idl
new file mode 100644
index 000000000000..604143bac339
--- /dev/null
+++ b/offapi/com/sun/star/document/NoSuchFilterRequest.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_NoSuchFilterRequest_idl__
+#define __com_sun_star_document_NoSuchFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::task">InteractionHandler</type> will be used.
+ (it's a a part of used <type>MediaDescriptor</type>)
+ Such "NoSuchFilterRequest" will be used then to start right interaction on that to
+ get a decision wich filter should be used for given URL. A possible continiuation
+ of type <type>XInteractionFilterSelect</type> 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 <type scope="com::sun::star::task">XInteractionAbort</type>.
+ </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
diff --git a/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000000..afb96812e6f3
--- /dev/null
+++ b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__
+
+#ifndef __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** allows to import document properties from OOXML format
+ */
+service OOXMLDocumentPropertiesImporter : XOOXMLDocumentPropertiesImporter;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl
new file mode 100644
index 000000000000..8467d206ff38
--- /dev/null
+++ b/offapi/com/sun/star/document/OfficeDocument.idl
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/XDocumentInfoSupplier.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 <type scope="com::sun::star::frame">Controller</type>
+ or pure <type scope="com::sun::star::awt">XWindow</type> only.
+ </p>
+
+ @see com::sun::star::frame::Controller
+ */
+published service OfficeDocument
+{
+ //-------------------------------------------------------------------------
+ /** represents a component which is created from an 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 neccessary 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 an 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 wich 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 <type>XDocumentEventBroadcaster</type> 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;
+
+ //-------------------------------------------------------------------------
+ /** document can provide a <type>DocumentInfo</type>
+
+ <p>
+ Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type>
+ will be available on an already opened document only.
+ </p>
+
+ @deprecated Use <type>XDocumentPropertiesSupplier</type> instead.
+ */
+ [optional] interface XDocumentInfoSupplier;
+
+ //-------------------------------------------------------------------------
+ /** 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 <type>DocumentProperties</type>.
+
+ @since OOo 3.0
+ */
+ [optional] interface XDocumentPropertiesSupplier;
+
+ /** provides access to the document's undo manager.
+ */
+ [optional] interface XUndoManagerSupplier;
+
+ //-------------------------------------------------------------------------
+ /** controls the focus behaviour 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl
new file mode 100644
index 000000000000..b47abb27aeda
--- /dev/null
+++ b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_OleEmbeddedServerRegistration_idl__
+#define __com_sun_star_document_OleEmbeddedServerRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl
new file mode 100644
index 000000000000..c2448f65ab42
--- /dev/null
+++ b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_OwnLockOnDocumentRequest_idl__
+#define __com_sun_star_document_OwnLockOnDocumentRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/PDFDialog.idl b/offapi/com/sun/star/document/PDFDialog.idl
new file mode 100644
index 000000000000..6de6e05497c1
--- /dev/null
+++ b/offapi/com/sun/star/document/PDFDialog.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_PDFDialog_idl__
+#define __com_sun_star_document_PDFDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+#include <com/sun/star/ui/dialogs/FilterOptionsDialog.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/PrinterIndependentLayout.idl b/offapi/com/sun/star/document/PrinterIndependentLayout.idl
new file mode 100644
index 000000000000..edefba369eb8
--- /dev/null
+++ b/offapi/com/sun/star/document/PrinterIndependentLayout.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/document/RedlineDisplayType.idl b/offapi/com/sun/star/document/RedlineDisplayType.idl
new file mode 100644
index 000000000000..991ecc190b9c
--- /dev/null
+++ b/offapi/com/sun/star/document/RedlineDisplayType.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
+
diff --git a/offapi/com/sun/star/document/Settings.idl b/offapi/com/sun/star/document/Settings.idl
new file mode 100644
index 000000000000..aa55320c773c
--- /dev/null
+++ b/offapi/com/sun/star/document/Settings.idl
@@ -0,0 +1,291 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_Settings_idl__
+#define __com_sun_star_document_Settings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::i18n">XForbiddenCharacters</type>
+ interface to allow retreival 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
+ <type>LinkUpdateModes</type>.</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
+ <type scope="com::sun::star::sdb">DataSource</type>
+ 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,
+ <member>IsPrintBookletFront</member> and
+ <member>IsPrintBookletBack</member> are set to <TRUE/>.</p>
+ */
+ [optional, property] boolean IsPrintBooklet;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /** is only effective, if <member>IsPrintBooklet</member> 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 <member>IsPrintBooklet</member> 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
+ //-------------------------------------------------------------------------
+ // Note: Define a constant group for that?
+ /**
+ */
+ [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
+ <type>PrinterIndependentLayout</type>.</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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/StandaloneDocumentInfo.idl b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl
new file mode 100644
index 000000000000..a10515c7568b
--- /dev/null
+++ b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_StandaloneDocumentInfo_idl__
+#define __com_sun_star_document_StandaloneDocumentInfo_idl__
+
+#ifndef __com_sun_star_document_DocumentInfo_idl__
+#include <com/sun/star/document/DocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_document_XStandaloneDocumentInfo_idl__
+#include <com/sun/star/document/XStandaloneDocumentInfo.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module document {
+
+//=============================================================================
+/** extends the service <type>DocumentInfo</type> to have access on such
+ document properties without loading the whole document
+
+ <p>
+ First action on this service must be to specify which document should be handled.
+ Otherwise all supported properties of <type>DocumentInfo</type> will be set to
+ void values. Loading of a document doesn't mean - loading all. It means reading
+ of special part only, which includes searched information. Same procedure for saving
+ of may changed values back to the document.
+ </p>
+
+ @deprecated Use <type>DocumentProperties</type> instead.
+
+ @see DocumentInfo
+ */
+published service StandaloneDocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** use it to specify ressource or target of document info data
+
+ <p>
+ Must be the first action on this service. Otherwise all properties will be void.
+ </p>
+ */
+ interface XStandaloneDocumentInfo;
+
+ //-------------------------------------------------------------------------
+ /** access to document info data
+ */
+ service DocumentInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/TypeDetection.idl b/offapi/com/sun/star/document/TypeDetection.idl
new file mode 100644
index 000000000000..eb754e62a12e
--- /dev/null
+++ b/offapi/com/sun/star/document/TypeDetection.idl
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_TypeDetection_idl__
+#define __com_sun_star_document_TypeDetection_idl__
+
+#ifndef __com_sun_star_document_XTypeDetection_idl__
+#include <com/sun/star/document/XTypeDetection.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** capsulate a type detection service and provide read/write access on it's configuration data.
+
+ <p>
+ It's possible to make a "flat" detection wich may use internal configuration
+ data only - or a "deep" detection which use special <type>ExtendedTypeDetection</type>
+ services to look into the document stream. Last mode can be supressed 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. <type scope="com::sun::star::frame">FrameLoaderFactory</type>)
+ 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< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+
+ <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< <type scope="com::sun::star::beans">PropertyValue</type> >.
+ The name of such property must be interpreted as locale; it's 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 ambigities.</td>
+ </tr>
+ <tr>
+ <td><em>ClipboardFormat</em><strong>deprecated!</strong></td>
+ <td>[string]</td>
+ <td>It was interepreted 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 <type>ExtendedTypeDetection</type> 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 an new defined protocol like "sql://select*".
+ In combination with a sutable <type scope="com::sun::star::frame">FrameLoader</type> or
+ <type>ImportFilter</type>/<type>ExportFilter</type> it woul 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 of wildcards is allowed but not very usefull. The may resulting
+ ambigities with other type registrations can't be resolved anytimes.</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 adressed by his internal name,
+ and it must be an unambigous 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 informations 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 seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. 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 possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoContextNotClosedException.idl b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
new file mode 100755
index 000000000000..4f7d746bad1a
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XUndoManager</type> which requires all undo
+ contexts to be closed, but this requirement is not fullfilled.
+ */
+exception UndoContextNotClosedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoFailedException.idl b/offapi/com/sun/star/document/UndoFailedException.idl
new file mode 100755
index 000000000000..4489ac5a0e0d
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoFailedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+exception UndoFailedException : ::com::sun::star::uno::Exception
+{
+ /** describes the reason why the operation failed. Usually, this member will carry an exception.
+ */
+ any Reason;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoManagerEvent.idl b/offapi/com/sun/star/document/UndoManagerEvent.idl
new file mode 100755
index 000000000000..e587669e4fbd
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoManagerEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XUndoManager</type> implementation when the Undo/Redo stacks of the manager are
+ modified.
+ @see XUndoManager
+ @see XUndoManagerListener
+ @see XUndoAction
+ */
+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
diff --git a/offapi/com/sun/star/document/UpdateDocMode.idl b/offapi/com/sun/star/document/UpdateDocMode.idl
new file mode 100644
index 000000000000..52e8a37cb011
--- /dev/null
+++ b/offapi/com/sun/star/document/UpdateDocMode.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/document/XActionLockable.idl b/offapi/com/sun/star/document/XActionLockable.idl
new file mode 100644
index 000000000000..62add1717cd8
--- /dev/null
+++ b/offapi/com/sun/star/document/XActionLockable.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XActionLockable_idl__
+#define __com_sun_star_document_XActionLockable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XBinaryStreamResolver.idl b/offapi/com/sun/star/document/XBinaryStreamResolver.idl
new file mode 100644
index 000000000000..0f38a6d85606
--- /dev/null
+++ b/offapi/com/sun/star/document/XBinaryStreamResolver.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XBinaryStreamResolver_idl__
+#define __com_sun_star_document_XBinaryStreamResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+#ifndef __com_sun_star_io_XOututStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+//=============================================================================
+
+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 an url or to transform an url to binary
+ data. The binary data is represented through input and output streams.</p>
+
+ <p>In the case of transforming an url to binary data, the <code>getInputStream</code>
+ method is used. This returns a <type scope="com::sun::star::io">XInputStream</type>
+ from which the binary data, transformed from the given url, can be read.</p>
+
+ <p>In the case of transforming binary data to an url, a
+ <type scope="com::sun::star::io">XOutputStream</type> 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
+ <type scope="com::sun::star::io">XOutputStream</type> interface, to an 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, an URL can be retrieved by a call to
+ <method>XBinaryStreamResolver::resolveOutputStream</method>.
+ */
+ com::sun::star::io::XOutputStream createOutputStream();
+
+ /** converts the output stream, data has been written to, to an URL in
+ source URL namespace.
+ */
+ string resolveOutputStream( [in] com::sun::star::io::XOutputStream aBinaryStream );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XCodeNameQuery.idl b/offapi/com/sun/star/document/XCodeNameQuery.idl
new file mode 100755
index 000000000000..948c86debf3a
--- /dev/null
+++ b/offapi/com/sun/star/document/XCodeNameQuery.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDocumentPropertiesSupplier.idl,v $
+ *
+ * $Revision$
+ *
+ * last change: $Author$ $Date$
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XCodeNameQuery_idl__
+#define __com_sun_star_document_XCodeNameQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+//=============================================================================
+interface XCodeNameQuery
+{
+ //-------------------------------------------------------------------------
+ string getCodeNameForObject( [in] com::sun::star::uno::XInterface aObj );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
new file mode 100644
index 000000000000..845660d9db7b
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_document_XDocumentEventBroadcaster_idl__
+#define __com_sun_star_document_XDocumentEventBroadcaster_idl__
+
+#ifndef __com_sun_star_frame_XController2_idl__
+#include <com/sun/star/frame/XController2.idl>
+#endif
+
+#ifndef __com_sun_star_document_DocumentEvent_idl__
+#include <com/sun/star/document/DocumentEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+interface XDocumentEventListener;
+
+//=============================================================================
+
+/** allows to be notified of events happening in an <type>OfficeDocument</type>, 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 OpenOffice.org 3.1
+*/
+interface XDocumentEventBroadcaster
+{
+ /** registers a listener which is notified about document events
+
+ @param _Listener
+ the listener to register. The behaviour 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 behaviour 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 <type>DocumentEvent</type> 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
+ implementator 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 <arg>_EventName</arg> is empty, or if <arg>_EventName</arg> 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 <type>DocumentEvent</type> 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
diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl
new file mode 100644
index 000000000000..207286df8b79
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_document_XDocumentEventListener_idl__
+#define __com_sun_star_document_XDocumentEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_document_DocumentEvent_idl__
+#include <com/sun/star/document/DocumentEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** allows to be notified of events happening in an <type>OfficeDocument</type>
+
+ <p>This interface is the successor of the XEventListener interface, which should not be used
+ anymore.</p>
+
+ @see XDocumentEventBroadcaster
+ @since OpenOffice.org 3.1
+ */
+interface XDocumentEventListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called whenever a document event occured
+ */
+ void documentEventOccured( [in] DocumentEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInfo.idl b/offapi/com/sun/star/document/XDocumentInfo.idl
new file mode 100644
index 000000000000..ea67495f44b9
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInfo.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#define __com_sun_star_document_XDocumentInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/ArrayIndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides access to the user fields for the information regarding the
+ document
+
+ <p>
+ These fields are special one of the set of available document properties.
+ Other ones are accessed as properties (by using the interface
+ <type scope="com::sun::star::beans">XPropertySet</type>) of service
+ <type>DocumentInfo</type>.
+ </p>
+
+ @deprecated Use <type>XDocumentProperties</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ @see com::sun::star::beans::XPropertySet
+ */
+published interface XDocumentInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides information about count of available fields
+
+ <p>
+ This count marks the top range of possible requests for get/set
+ any of these fields. Range = [0..count-1]
+ </p>
+
+ @returns
+ current count
+ */
+ short getUserFieldCount();
+
+ //-------------------------------------------------------------------------
+ /** returns the name of an user field
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @returns
+ the name of the requested field
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ string getUserFieldName( [in] short Index )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** returns the value of an user field
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @returns
+ the value of the requested field
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ string getUserFieldValue( [in] short Index )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** changes the name of one of the user fields
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @param Name
+ the new name for this field to be set
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ void setUserFieldName(
+ [in] short Index ,
+ [in] string Name )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** changes the value of one of the user fields
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @param Value
+ the new value for this field to be set
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ void setUserFieldValue(
+ [in] short Index ,
+ [in] string Value )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInfoSupplier.idl b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl
new file mode 100644
index 000000000000..ceb17d1bcc5b
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentInfoSupplier_idl__
+#define __com_sun_star_document_XDocumentInfoSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** through this interface documents can provide a <type>DocumentInfo</type>
+
+ <p>
+ A <type>DocumentInfo</type> is available on already opened documents only
+ and must be provides by this supplier interface.
+ Instead of that you can use the service <type>StandaloneDocumentInfo</type>
+ to have access to such informations without opening the whole file.
+ It read/write parts of the document, which include the required informations,
+ only.
+ </p>
+
+ @deprecated Use <type>XDocumentPropertiesSupplier</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ */
+published interface XDocumentInfoSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides the document information object
+
+ @returns
+ an object of type <type>DocumentInfo</type>
+ */
+ XDocumentInfo getDocumentInfo();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInsertable.idl b/offapi/com/sun/star/document/XDocumentInsertable.idl
new file mode 100644
index 000000000000..60208ee05014
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInsertable.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentInsertable_idl__
+#define __com_sun_star_document_XDocumentInsertable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+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.
+ */
+ 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
diff --git a/offapi/com/sun/star/document/XDocumentLanguages.idl b/offapi/com/sun/star/document/XDocumentLanguages.idl
new file mode 100644
index 000000000000..c6f17125d050
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentLanguages.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentLanguages_idl__
+#define __com_sun_star_document_XDocumentLanguages_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl
new file mode 100755
index 000000000000..8a3b2c1843aa
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentProperties.idl
@@ -0,0 +1,460 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#define __com_sun_star_document_XDocumentProperties_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_WrongFormatException_idl__
+#include <com/sun/star/io/WrongFormatException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member>loadFromStorage</member> and <member>loadFromMedium</member>.
+ The properties may also be stored via the methods
+ <member>storeToStorage</member> and <member>storeToMedium</member>.
+ </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 <atom>string</atom> 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 <atom>string</atom> 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 loction after some time described by the
+ attribute <member>AutoloadSecs</member>.
+ An empty <atom>string</atom> together with an
+ <member>AutoloadSecs</member> 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 <atom>string</atom> as
+ <member>AutoloadURL</member>
+ 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 apperars the document
+ has just been created.
+ This is a convenience method which resets several attributes at once,
+ as follows:
+ <ul>
+ <li><member>Author</member> is set to the given parameter.</li>
+ <li><member>CreationDate</member> is set to the current date and time.
+ </li>
+ <li><member>ModifiedBy</member> is cleared.</li>
+ <li><member>ModificationDate</member> is cleared.</li>
+ <li><member>PrintedBy</member> is cleared.</li>
+ <li><member>PrintDate</member> is cleared.</li>
+ <li><member>EditingDuration</member> is cleared.</li>
+ <li><member>EditingCycles</member> is set to 1.</li>
+ </ul>
+
+ @param Author
+ the new value of the <member>Author</member> attribute.
+ </p>
+ */
+ void resetUserData( [in] string Author );
+
+ //-------------------------------------------------------------------------
+ /** provides access to a container for user-defined properties.
+ <p>
+ The returned object also implements the interface
+ <type>com::sun::star::beans::XPropertySet</type>.
+ </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 <type>com::sun::star::embed::Storage</type> representing the
+ ODF package
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ 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 <type>com::sun::star::document::MediaDescriptor</type>
+ 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 <type>Storage</type> argument.
+ </p>
+
+ @param Storage
+ the <type>com::sun::star::embed::Storage</type> representing the
+ ODF package
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ 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 <type>com::sun::star::document::MediaDescriptor</type>
+ 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
diff --git a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
new file mode 100644
index 000000000000..811513d7a026
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentPropertiesSupplier_idl__
+#define __com_sun_star_document_XDocumentPropertiesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides access to the <type>XDocumentProperties</type> instance of a
+ document.
+ <p>
+ A <type>DocumentProperties</type> 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 <type>XDocumentProperties</type>
+ */
+ XDocumentProperties getDocumentProperties();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentRecovery.idl b/offapi/com/sun/star/document/XDocumentRecovery.idl
new file mode 100644
index 000000000000..e5bf521d07f0
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRecovery.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+#ifndef __offapcom_sun_star_document_XDocumentRecovery_idl__
+#define __offapcom_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 <member>storeToRecoveryFile</member>.
+
+ <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 a emergency (when OpenOffice.org crashed), or during a
+ periodic session save as configured by the user, <member>storeToRecoveryFile</member> 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 <member scope="com::sun::star::util">XModifiable::isModified</member>. (Well, actually that's the
+ second simple implementation, the <em>most</em> simple one would, still egitimately, 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
+ <member scope="com::sun::star::frame">XStorable::storeToURL</member>.</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 an 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 <member scope="com::sun::star::frame">XLoadable::load</member>) or initialized (via
+ <member scope="com::sun::star::frame">XLoadable::initNew</member>).</p>
+
+ <p>Upon successful return, the document must be fully initialized. In particular, the
+ caller is not responsible for calling <member scope="com::sun::star::frame">XModel::attachResource</member>.
+ Instead, the implementation is responsible to do so, if required.</p>
+
+ <p>A default implementation of this method could simply delegate this call to
+ <member scope="::com::sun::star::frame:">XLodable::load</member>, followed by
+ <member scope="com::sun::star::frame">XModel::attachResource</member>.</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 an 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
diff --git a/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl
new file mode 100644
index 000000000000..991b54fa84a9
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_util_RevisionTag_idl__
+#include <com/sun/star/util/RevisionTag.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/io/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl
new file mode 100644
index 000000000000..be5121bf2e2a
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+#define __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+
+//=============================================================================
+
+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>
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ */
+interface XDocumentSubStorageSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides the access to a substorage with specified name
+
+ @param sStorageName
+ 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 aStorageName,
+ [in] long nMode );
+
+ //-------------------------------------------------------------------------
+ /** provides the list of substorages
+
+ @returns
+ sequence of substorages names
+ */
+ sequence< string > getDocumentSubStoragesNames()
+ raises( ::com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
new file mode 100644
index 000000000000..f1b31dd21d90
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEmbeddedObjectResolver_idl__
+#define __com_sun_star_document_XEmbeddedObjectResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl
new file mode 100644
index 000000000000..1885121705dd
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl
new file mode 100644
index 000000000000..32d959cb3944
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier2_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier2_idl__
+
+#ifndef __com_sun_star_embed_XEmbeddedObject_idl__
+#include <com/sun/star/embed/XEmbeddedObject.idl>
+#endif
+
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/document/XEmbeddedScripts.idl b/offapi/com/sun/star/document/XEmbeddedScripts.idl
new file mode 100644
index 000000000000..fba8541bafcb
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedScripts.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_document_XEmbeddedScripts_idl__
+#define __com_sun_star_document_XEmbeddedScripts_idl__
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** is suppoerted by <type>OfficeDocument</type>s 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 <type>MacroExecMode</type>
+ 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
diff --git a/offapi/com/sun/star/document/XEventBroadcaster.idl b/offapi/com/sun/star/document/XEventBroadcaster.idl
new file mode 100644
index 000000000000..ff4240b028ee
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventBroadcaster.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#define __com_sun_star_document_XEventBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventListener_idl__
+#include <com/sun/star/document/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to register listeners which are called whenever
+ a document event (see <type>EventObject</type>) 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
+ */
+ [oneway] void addEventListener( [in] XEventListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters the given listener
+
+ @param Listener
+ listener which isn't interested on such events any longer
+ */
+ [oneway] void removeEventListener( [in] XEventListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEventListener.idl b/offapi/com/sun/star/document/XEventListener.idl
new file mode 100644
index 000000000000..d32b04ced66f
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEventListener_idl__
+#define __com_sun_star_document_XEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_document_EventObject_idl__
+#include <com/sun/star/document/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XEventBroadcaster</type>.</p>
+
+ @deprecated
+ @see XDocumentEventListener
+ */
+published interface XEventListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called whenever a document event (see <type>EventObject</type>) occurs
+
+ @param Event
+ specifies the event type
+ */
+ [oneway] void notifyEvent( [in] EventObject Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEventsSupplier.idl b/offapi/com/sun/star/document/XEventsSupplier.idl
new file mode 100644
index 000000000000..d5bd2b0d9aa9
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventsSupplier.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XEventsSupplier_idl__
+#define __com_sun_star_document_XEventsSupplier_idl__
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Events</type> description object
+ */
+ com::sun::star::container::XNameReplace getEvents();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XExporter.idl b/offapi/com/sun/star/document/XExporter.idl
new file mode 100644
index 000000000000..a89017c248a1
--- /dev/null
+++ b/offapi/com/sun/star/document/XExporter.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XExporter_idl__
+#define __com_sun_star_document_XExporter_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to connect a document with an <type>ExportFilter</type>
+
+ <p>
+ An <type>ExportFilter</type> 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
+
+
diff --git a/offapi/com/sun/star/document/XExtendedFilterDetection.idl b/offapi/com/sun/star/document/XExtendedFilterDetection.idl
new file mode 100644
index 000000000000..b5aae4930fd8
--- /dev/null
+++ b/offapi/com/sun/star/document/XExtendedFilterDetection.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XExtendedFilterDetection_idl__
+#define __com_sun_star_document_XExtendedFilterDetection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+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 <type>ExtendedTypeDetection</type> 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" <type>TypeDetection</type>
+ with given URL or arguments
+
+ <p>
+ Registerd services in configuration, which support this interface for different mime types,
+ will be called automaticly to look into the document stream and cdecide wich format it represent.
+ Add the collected information about detected documents in given <type>MediaDescriptor</type>
+ <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 <type>MediaDescriptor</type> which can be used to get/set informations
+ 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
diff --git a/offapi/com/sun/star/document/XFilter.idl b/offapi/com/sun/star/document/XFilter.idl
new file mode 100644
index 000000000000..24eab5fcde5a
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilter.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XFilter_idl__
+#define __com_sun_star_document_XFilter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** interface to filter documents
+
+ <p>
+ This interface will be used by service <type>ImportFilter</type> or
+ <type>ExportFilter</type> 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 <type>XImporter</type> and <type>XExporter</type> 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 <type>MediaDescriptor</type> holds all neccessary 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
diff --git a/offapi/com/sun/star/document/XFilterAdapter.idl b/offapi/com/sun/star/document/XFilterAdapter.idl
new file mode 100644
index 000000000000..877587aa0e26
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilterAdapter.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__
+#define _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#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
diff --git a/offapi/com/sun/star/document/XGraphicObjectResolver.idl b/offapi/com/sun/star/document/XGraphicObjectResolver.idl
new file mode 100644
index 000000000000..50863b04f38c
--- /dev/null
+++ b/offapi/com/sun/star/document/XGraphicObjectResolver.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XGraphicObjectResolver_idl__
+#define __com_sun_star_document_XGraphicObjectResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** this interface converts graphic object URLs from one URL space to another.
+ */
+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.
+ */
+ string resolveGraphicObjectURL( [in] string aURL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XImporter.idl b/offapi/com/sun/star/document/XImporter.idl
new file mode 100644
index 000000000000..9a784aeae173
--- /dev/null
+++ b/offapi/com/sun/star/document/XImporter.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XImporter_idl__
+#define __com_sun_star_document_XImporter_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to connect a document with an <type>ImportFilter</type>
+
+ <p>
+ An <type>ImportFilter</type> 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
+
+
diff --git a/offapi/com/sun/star/document/XInteractionFilterOptions.idl b/offapi/com/sun/star/document/XInteractionFilterOptions.idl
new file mode 100644
index 000000000000..b11749297e14
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterOptions.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XInteractionFilterOptions_idl__
+#define __com_sun_star_document_XInteractionFilterOptions_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XInteractionFilterSelect.idl b/offapi/com/sun/star/document/XInteractionFilterSelect.idl
new file mode 100644
index 000000000000..0aa7770af8a2
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterSelect.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XInteractionFilterSelect_idl__
+#define __com_sun_star_document_XInteractionFilterSelect_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::task">InteractionHandler</type> will be used.
+ (it's a a part of used <type>MediaDescriptor</type>)
+ A <type>NoSuchFilterRequest</type> will be used then to start right interaction on that to
+ get a decision wich filter should be used for given URL. A possible continiuation
+ 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 <type scope="com::sun::star::task">XInteractionAbort</type>.
+ </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 save 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
diff --git a/offapi/com/sun/star/document/XLinkTargetSupplier.idl b/offapi/com/sun/star/document/XLinkTargetSupplier.idl
new file mode 100644
index 000000000000..f48a68f9d429
--- /dev/null
+++ b/offapi/com/sun/star/document/XLinkTargetSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
+#define __com_sun_star_document_XLinkTargetSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>LinkTarget</type>. </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 <type>LinkTargets</type>.
+ */
+ com::sun::star::container::XNameAccess getLinks();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl
new file mode 100644
index 000000000000..4e11911e3181
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLBasicExporter.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XMLBasicExporter_idl__
+#define __com_sun_star_document_XMLBasicExporter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for exporting Basic macros to the OpenOffice.org file format.
+
+ <p>First the <method>XExporter::setSourceDocument</method> 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 <method>XFilter::filter</method> method.</p>
+
+ @since OOo 2.0.0
+ */
+published service XMLBasicExporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the source document for this filter.
+ */
+ interface com::sun::star::document::XExporter;
+
+ //-------------------------------------------------------------------------
+
+ /** filters the document.
+ */
+ interface com::sun::star::document::XFilter;
+
+ //-------------------------------------------------------------------------
+
+ /** initializes the component.
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLBasicImporter.idl b/offapi/com/sun/star/document/XMLBasicImporter.idl
new file mode 100644
index 000000000000..38f3bf3ff086
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLBasicImporter.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XMLBasicImporter_idl__
+#define __com_sun_star_document_XMLBasicImporter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for importing Basic macros from the OpenOffice.org file format.
+
+ <p>The <method>XImporter::setTargetDocument</method> method must be
+ called in order to provide the import component with the target document
+ to which the data should be imported.
+ The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface is used to stream the XML data into the filter.</p>
+
+ @since OOo 2.0.0
+ */
+published service XMLBasicImporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the target document for this filter.
+ */
+ interface com::sun::star::document::XImporter;
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of general document events.
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
new file mode 100644
index 000000000000..8c59e34f4301
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XMLOasisBasicExporter_idl__
+#define __com_sun_star_document_XMLOasisBasicExporter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for exporting Basic macros to the OASIS Open Office file format.
+
+ <p>First the <method>XExporter::setSourceDocument</method> 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 <method>XFilter::filter</method> method.</p>
+
+ @since OOo 2.0.0
+ */
+published service XMLOasisBasicExporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the source document for this filter.
+ */
+ interface com::sun::star::document::XExporter;
+
+ //-------------------------------------------------------------------------
+
+ /** filters the document.
+ */
+ interface com::sun::star::document::XFilter;
+
+ //-------------------------------------------------------------------------
+
+ /** initializes the component.
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
new file mode 100644
index 000000000000..c0aadd8c4941
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XMLOasisBasicImporter_idl__
+#define __com_sun_star_document_XMLOasisBasicImporter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for importing Basic macros from the OASIS Open Office file format.
+
+ <p>The <method>XImporter::setTargetDocument</method> method must be
+ called in order to provide the import component with the target document
+ to which the data should be imported.
+ The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface is used to stream the XML data into the filter.</p>
+
+ @since OOo 2.0.0
+ */
+published service XMLOasisBasicImporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the target document for this filter.
+ */
+ interface com::sun::star::document::XImporter;
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of general document events.
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMimeTypeInfo.idl b/offapi/com/sun/star/document/XMimeTypeInfo.idl
new file mode 100644
index 000000000000..fd3345f75c48
--- /dev/null
+++ b/offapi/com/sun/star/document/XMimeTypeInfo.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XMimeTypeInfo_idl__
+#define __com_sun_star_document_XMimeTypeInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000000..23b29bcaca61
--- /dev/null
+++ b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** allows to import the document properties from OOXML fomat
+ */
+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
+ <type>XDocumentProperties</type> implementation.
+ </p>
+
+ <p>
+ The storage must represent OOXML format and support
+ <type scope="com::sun::star::embed">XRelationshipAccess</type>
+ interface. Please see
+ <type scope="com::sun::star::embed">StorageFactory</type> for details
+ regarding creation of such a storage.
+ </p>
+
+ @param xSource
+ the source storage representing OOXML document
+
+ @param xDocumentProperties
+ the target <type>XDocumentProperties</type> 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 );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XRedlinesSupplier.idl b/offapi/com/sun/star/document/XRedlinesSupplier.idl
new file mode 100644
index 000000000000..9ca883b140d4
--- /dev/null
+++ b/offapi/com/sun/star/document/XRedlinesSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XRedlinesSupplier_idl__
+#define __com_sun_star_document_XRedlinesSupplier_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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 implent at least the interface
+ <type scope="com::sun::star::beans">XPropertySet</type>.
+ Specific objects may support other interfaces as well.</p>
+ */
+ com::sun::star::container::XEnumerationAccess getRedlines();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XScriptInvocationContext.idl b/offapi/com/sun/star/document/XScriptInvocationContext.idl
new file mode 100644
index 000000000000..68f5cd883410
--- /dev/null
+++ b/offapi/com/sun/star/document/XScriptInvocationContext.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_document_XScriptInvocationContext_idl__
+#define __com_sun_star_document_XScriptInvocationContext_idl__
+
+
+#ifndef __com_sun_star_document_XEmbeddedScripts_idl__
+#include <com/sun/star/document/XEmbeddedScripts.idl>
+#endif
+
+//=============================================================================
+
+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 <member>ScriptContainer</member> refers to the document itself. Implementing this
+ interface is unnecessary then, instead the document should simply implement <type>XEmbeddedScripts</type> 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 <member>ScriptContainer</member>.</p>
+
+ <p>If the interface is implemented by a controller, then <member>ScriptContainer</member>
+ refers to the document which supports embedding scripts, and which is unambiguosly
+ associated with the controller. This must not necessarily be the model returned by
+ <member scope="com::sun::star::frame">XController::getModel</member>.</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 inteface.
+ */
+ [attribute, readonly] XEmbeddedScripts ScriptContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl
new file mode 100644
index 000000000000..51a0cd7fa289
--- /dev/null
+++ b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XStandaloneDocumentInfo_idl__
+#define __com_sun_star_document_XStandaloneDocumentInfo_idl__
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to load document information from
+ a resource specified by a URL and to store it into a resource also
+ specified by a URL
+
+ <p>
+ Only the document information part of the resource is transferred.
+ Instead of <type>DocumentInfo</type> not the whole document will be opened.
+ Note: Without specifying the source or target of this info (the document)
+ nothing can work and will be handled as void (for reading) or ignored (for writing).
+ After specigiying the source/target by using this interface,
+ the interface <type>XDocumentInfo</type> (which must be implemented on same
+ object then this one!) provides access to the info properties.
+ </p>
+
+ @deprecated Use <type>XDocumentProperties</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ @see XDocumentInfo
+ */
+published interface XStandaloneDocumentInfo: XDocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** loads the document information from a file referred by an URL
+
+ <p>
+ After an unsuccessful call the contents of the document
+ information are undefined (void).
+ This method only works for storage file formats.
+ </p>
+
+ @param URL
+ specifies the source of information
+
+ @throws com::sun::star::io::IOException
+ if storage couldn't be found or opened
+ */
+ void loadFromURL( [in] string URL )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores the document information into a file referred by a URL
+
+ <p>
+ Only the document information part of the document is overwritten.
+ This method only works for storage file formats.
+ </p>
+
+ @param URL
+ specifies the target for saving
+
+ @throws com::sun::star::io::IOException
+ if storage couldn't be found or opened
+ */
+ void storeIntoURL( [in] string URL )
+ raises( com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XStorageBasedDocument.idl b/offapi/com/sun/star/document/XStorageBasedDocument.idl
new file mode 100644
index 000000000000..047320b43df4
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageBasedDocument.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
+#define __com_sun_star_embed_XStorageBasedDocument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#endif
+
+#ifndef __com_sun_star_document_XStorageChangeListener_idl__
+#include <com/sun/star/document/XStorageChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/document/XStorageChangeListener.idl b/offapi/com/sun/star/document/XStorageChangeListener.idl
new file mode 100644
index 000000000000..2272132f8db2
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageChangeListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XStorageChangeListener_idl__
+#define __com_sun_star_document_XStorageChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+ [oneway] void notifyStorageChange(
+ [in] ::com::sun::star::uno::XInterface xDocument,
+ [in] ::com::sun::star::embed::XStorage xStorage );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XTypeDetection.idl b/offapi/com/sun/star/document/XTypeDetection.idl
new file mode 100644
index 000000000000..5fc14f65ebd9
--- /dev/null
+++ b/offapi/com/sun/star/document/XTypeDetection.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XTypeDetection_idl__
+#define __com_sun_star_document_XTypeDetection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+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 everytime.
+ </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
+ <type>MediaDescriptor</type>
+
+ <p>
+ Instead of <member>XTypeDetection::queryTypeByURL()</member> this function
+ use a <type>MediaDescriptor</type> to specify the document for detection.
+ Such descriptor hold different informations 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 <member>MediaDescriptor::URL</member> should be set on
+ this descriptor as minimum. It specifies the location of the document.
+ If this parameter is missing another one is required: <member>MediaDescriptor::InputStream</member>.
+ This can be usefull to prevent operaton 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 usefull 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.
+ <member>MediaDescriptor::ReadOnly</member>).
+ <br>
+ As an additional feature it's possible to suppress "deep" detection by using argument
+ <var>AllowDeep</var>.
+ </p>
+
+ @param Descriptor
+ means the <type>MediaDescriptor</type> which specify the ressource 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
diff --git a/offapi/com/sun/star/document/XUndoAction.idl b/offapi/com/sun/star/document/XUndoAction.idl
new file mode 100755
index 000000000000..b47550a3f52f
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoAction.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+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
diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl
new file mode 100755
index 000000000000..be43ca899b94
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManager.idl
@@ -0,0 +1,337 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
+ <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 <member>undo</member> respectively <member>redo</member> will include those actions.<br/>
+ Hidden Undo actions can be created by calling <member>enterHiddenUndoContext</member>, following by
+ <member>leaveUndoContext</member>.</p>
+
+ <a name="locking"></a>
+ <h3>Locking</h3>
+ <p>An Undo manager can be locked and unlocked, using the <member>XLockable::lock</member> and
+ <member>XLockable::unlock</member> 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>
+ */
+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><member scope="com::sun::star::container">XChild::setParent</member> is not supported, and will throw
+ an <type scope="com::sun::star::lang">NoSupportException</type>.</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>i_title</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 <member>leaveUndoContext</member>,
+ 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
+ <member>enterHiddenUndoContext</member> multiple times without calling <member>leaveUndoContext</member> inbetween.</p>
+
+ @see leaveUndoContext
+ */
+ void enterUndoContext(
+ [in] string i_title
+ );
+
+ /** 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 <member>undo</member> 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 <member>redo</member> 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 <member>leaveUndoContext</member>,
+ 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 <member>enterUndoContext</member> and
+ <code>enterHiddenUndoContext</code> multiple times without calling <member>leaveUndoContext</member> 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 <member>enterUndoContext</member> respectively
+ <member>enterHiddenUndoContext</member>.
+
+ <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 <member>XUndoManagerListener::cancelledContext</member>.</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 <member>XUndoManagerListener::leftContext</member> resp.
+ <member>XUndoManagerListener::leftHiddenContext</member></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 <member>clear</member> resp.
+ <member>clearRedo</member>), it will be disposed, as long as it supports the <member scope="com::sun::star::lang">XComponent</member>
+ 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 i_action
+ )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** reverts the most recent action on the document.
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke <member>XUndoAction::undo</member> 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 <member>XUndoAction::undo</member> 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 <member>XUndoAction::redo</member> 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 <member>XUndoAction::redo</member> 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 <member>undo</member> 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 <member>redo</member> 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
+ <type scope="com::sun::star::lang">XComponent</type> 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 <type scope="com::sun::star::lang">XComponent</type>
+ 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 <member>XUndoManagerListener::allActionsCleared</member>,
+ <member>XUndoManagerListener::leftContext</member>, etc., notifications. Instead, listeners will be
+ notified of the reset by calling their <member>XUndoManagerListener::resetAll</member> method.</p>
+ */
+ void reset();
+
+ /** adds a listener to be notified of changes in the Undo/Redo stacks.
+ */
+ void addUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+
+ /** removes a previously added listener
+ */
+ void removeUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerListener.idl b/offapi/com/sun/star/document/XUndoManagerListener.idl
new file mode 100755
index 000000000000..783e8e7014d8
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerListener.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+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, <member>UndoManagerEvent::UndoContextDepth</member> 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 i_event );
+
+ /** is called when the top-most action of the undo stack has been undone.
+
+ @see XUndoManager::undo
+ */
+ void actionUndone( [in] UndoManagerEvent i_event );
+
+ /** is called when the top-most action of the Redo stack has been re-applied.
+
+ @see XUndoManager::redo
+ */
+ void actionRedone( [in] UndoManagerEvent i_event );
+
+ /** 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 i_event );
+
+ /** is called when the the Redo stack has been cleared.
+
+ @see XUndoManager::clearRedo
+ */
+ void redoActionsCleared( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** called when the complete undo manager has been reset
+ */
+ void resetAll( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** is called when a new Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredContext( [in] UndoManagerEvent i_event );
+
+ /** is called when a new hidden Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** is called when an Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, exluding the
+ one just left.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftHiddenUndocontext
+ @see cancelledContext
+ */
+ void leftContext( [in] UndoManagerEvent i_event );
+
+ /** is calledn when a hidden Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> is empty, as hidden Undo contexts don't have
+ a title.</p>
+
+ @see XUndoManager::leaveHiddenUndoContext
+ @see leftContext
+ @see cancelledContext
+ */
+ void leftHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** 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 <member>UndoManagerEvent::UndoActionTitle</member> is empty.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftContext
+ @see leftHiddenContext
+ */
+ void cancelledContext( [in] UndoManagerEvent i_event );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerSupplier.idl b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
new file mode 100755
index 000000000000..88a082259413
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.
+ */
+interface XUndoManagerSupplier
+{
+ /** returns the Undo manager associated with the component.
+ */
+ XUndoManager getUndoManager();
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XViewDataSupplier.idl b/offapi/com/sun/star/document/XViewDataSupplier.idl
new file mode 100644
index 000000000000..0a27b906f358
--- /dev/null
+++ b/offapi/com/sun/star/document/XViewDataSupplier.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XViewDataSupplier_idl__
+#define __com_sun_star_document_XViewDataSupplier_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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 informations about currently opened view to restore it later
+
+ @returns
+ a <type scope="com::sun::star::container">XIndexAccess</type>,
+ that gives access to a list of <type scope="com::sun::star::beans">PropertyValue</type>
+ 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 <type scope="com::sun::star::beans">PropertyValue</type>s
+ with information about last opened views to restore it
+ <NULL/> isn't allowed here.
+ */
+ void setViewData( [in] com::sun::star::container::XIndexAccess Data );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk
new file mode 100644
index 000000000000..1521e6b9513c
--- /dev/null
+++ b/offapi/com/sun/star/document/makefile.mk
@@ -0,0 +1,131 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdocument
+PACKAGE=com$/sun$/star$/document
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AmbigousFilterRequest.idl\
+ BrokenPackageRequest.idl\
+ CorruptedFilterConfigurationException.idl\
+ ChangedByOthersRequest.idl\
+ DocumentEvent.idl\
+ DocumentInfo.idl\
+ DocumentProperties.idl\
+ EventDescriptor.idl\
+ EventObject.idl\
+ Events.idl\
+ ExportFilter.idl\
+ ExtendedTypeDetection.idl\
+ ExtendedTypeDetectionFactory.idl\
+ FilterAdapter.idl\
+ FilterFactory.idl\
+ FilterOptionsRequest.idl\
+ HeaderFooterSettings.idl\
+ ImportFilter.idl\
+ LinkTarget.idl\
+ LinkTargets.idl\
+ LockFileIgnoreRequest.idl\
+ LockedDocumentRequest.idl\
+ LockedOnSavingRequest.idl\
+ MacroExecMode.idl\
+ MediaDescriptor.idl\
+ NoSuchFilterRequest.idl\
+ OfficeDocument.idl\
+ OleEmbeddedServerRegistration.idl\
+ OwnLockOnDocumentRequest.idl\
+ PDFDialog.idl\
+ PrinterIndependentLayout.idl\
+ RedlineDisplayType.idl \
+ Settings.idl\
+ StandaloneDocumentInfo.idl\
+ TypeDetection.idl\
+ UpdateDocMode.idl\
+ XActionLockable.idl\
+ XBinaryStreamResolver.idl\
+ XDocumentEventBroadcaster.idl\
+ XDocumentEventListener.idl\
+ XDocumentInfo.idl\
+ XDocumentInfoSupplier.idl\
+ XDocumentInsertable.idl\
+ XDocumentProperties.idl\
+ XDocumentPropertiesSupplier.idl\
+ XDocumentRecovery.idl\
+ XDocumentSubStorageSupplier.idl\
+ XEmbeddedObjectResolver.idl\
+ XEmbeddedObjectSupplier.idl\
+ XEmbeddedObjectSupplier2.idl\
+ XEmbeddedScripts.idl\
+ XEventBroadcaster.idl\
+ XEventListener.idl\
+ XEventsSupplier.idl\
+ XExporter.idl\
+ XExtendedFilterDetection.idl\
+ XFilter.idl\
+ XFilterAdapter.idl\
+ XGraphicObjectResolver.idl\
+ XImporter.idl\
+ XInteractionFilterOptions.idl\
+ XInteractionFilterSelect.idl\
+ XLinkTargetSupplier.idl\
+ XMimeTypeInfo.idl\
+ XOOXMLDocumentPropertiesImporter.idl\
+ XRedlinesSupplier.idl \
+ XScriptInvocationContext.idl\
+ XStandaloneDocumentInfo.idl\
+ XStorageBasedDocument.idl\
+ XStorageChangeListener.idl\
+ XTypeDetection.idl\
+ XViewDataSupplier.idl\
+ LinkUpdateModes.idl\
+ XDocumentRevisionListPersistence.idl\
+ DocumentRevisionListPersistence.idl \
+ XDocumentLanguages.idl \
+ XCodeNameQuery.idl \
+ XUndoAction.idl \
+ XUndoManager.idl \
+ XUndoManagerListener.idl \
+ XUndoManagerSupplier.idl \
+ UndoManagerEvent.idl \
+ EmptyUndoStackException.idl \
+ UndoContextNotClosedException.idl \
+ UndoFailedException.idl \
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
new file mode 100644
index 000000000000..d00884a08faf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleDrawDocumentView.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleDrawDocumentView</type> service is implemented by
+ views of Draw and Impress documents.
+
+ <p>An object that implements the <type>AccessibleDrawDocumentView</type>
+ 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 chanels, e.g. pressing
+ keys or selecting menu entries.</li>
+ <li>The hierarchy exposed through the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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
+*/
+published service AccessibleDrawDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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 is <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::DOCUMENT</const>.</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 dependend
+ ways.</li>
+ <li>Relations: Relations are set and modified from the outside.</li>
+ <li>States: <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is set if a document view
+ becomes obsolete like when the window, which displays the view,
+ is closed. Otherwise the states
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const>,
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>,
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>,
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const>, and
+ <const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const>
+ 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 <type>AccessibleShape</type> service for more
+ information about shapes.</p>
+
+ @see AccessibleShape
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphControl.idl b/offapi/com/sun/star/drawing/AccessibleGraphControl.idl
new file mode 100644
index 000000000000..eb7fcd829fed
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphControl.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 {
+ published interface XAccessible;
+ published interface XAccessibleContext;
+ published interface XAccessibleComponent;
+ published interface XAccessibleEventBroadcaster;
+ published 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 contrours.</p>
+
+ @since OOo 1.1.2
+ */
+published service AccessibleGraphControl
+{
+ /** Base interface for being accessible. It gives access to the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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
diff --git a/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl b/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl
new file mode 100644
index 000000000000..884fbe181984
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleGraphicShape.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#ifndef __com_sun_star_drawing_AccessibleShape_idl__
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleImage_idl__
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleGraphicShape</type> 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 <type>AccessibleShape</type> 'base'
+ service by the additional support of the
+ <type
+ scope="::com::sun::star::accessibility">XAccessibleImage</type>
+ interface.</p>
+
+ @since OOo 1.1.2
+*/
+published service AccessibleGraphicShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See <type>AccessibleShape</type> for documentation and support of
+ the interfaces
+ <type scope="::com::sun::star::accessibility">XAccessible</type>,
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>,
+ and
+ <type scope="::com::sun::star::accessibility">XAccessibleComponent</type>.</p>
+
+ @see AccessibleShape
+ */
+ service AccessibleShape;
+
+ /** Give access to image specific information.
+
+ <p>The support of the <type
+ scope="::com::sun::star::accessibility"
+ >XAccessibleImage</type> 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 <type>AccessibleShape</type> service:
+ the size returned by the
+ <member scope="::com::sun::star::accessibility"
+ >XAccessibleImage::getWidth</member> and <member
+ scope="::com::sun::star::accessibility"
+ >XAccessibleImage::getHeight</member> functions is the same as that
+ returned by the <member
+ scope="::com::sun::star::accessibility"
+ >XAccessibleComponent::getSize</member> function; the description
+ returned by <member
+ scope="::com::sun::star::accessibility"
+ >XAccessibleImage::getAccessibleImageDescription</member> function
+ is the same as the one returned by the <member
+ scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleDescription</member> 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
diff --git a/offapi/com/sun/star/drawing/AccessibleImageBullet.idl b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
new file mode 100644
index 000000000000..1a6464f3ef18
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleImageBullet.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_AccessibleImageBullet_idl__
+#define __com_sun_star_drawing_AccessibleImageBullet_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the accessible object of a text paragraph.
+ <li>There are no children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>.
+ <li>The role is <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::GRAPHIC</const>.
+ <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
+ <type scope="::com::sun::star::accessibility"
+ >XAccessibleStateSet</type> returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>.
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the image bullet
+ is not existing any longer).
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::INVALID</const>
+ </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
diff --git a/offapi/com/sun/star/drawing/AccessibleOLEShape.idl b/offapi/com/sun/star/drawing/AccessibleOLEShape.idl
new file mode 100644
index 000000000000..00c46f4e34eb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleOLEShape.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#ifndef __com_sun_star_drawing_AccessibleShape_idl__
+#include <com/sun/star/drawing/AccessibleShape.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleOLEShape</type> service is implemented by
+ OLE shapes.
+
+ <p>This includes generic OLE shapes, frames, plugins, and applets.</p>
+
+ <p>This service supports the additional <type
+ scope="::com::sun::star::accessibility">XAccessibleAction</type>
+ interface.</p>
+
+ <p>OLE objects are handled as place holders. While not activated the
+ accessible OLE shape is the only indicator of the OLE objects'
+ existence. When an OLE object has been activated then the accessbility
+ 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
+*/
+published service AccessibleOLEShape
+{
+ /** Give access to information of generic shapes.
+
+ <p>See <type>AccessibleShape</type> for basic documentation and
+ support of the <type
+ scope="::com::sun::star::accessibility"
+ >XAccessibleContext</type>, and
+ <type scope="::com::sun::star::accessibility"
+ >XAccessibleComponent</type> 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
diff --git a/offapi/com/sun/star/drawing/AccessibleShape.idl b/offapi/com/sun/star/drawing/AccessibleShape.idl
new file mode 100644
index 000000000000..5fa370bdb511
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleShape.idl
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleShape_idl__
+#define __com_sun_star_drawing_AccessibleShape_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleShape</type> service is implemented by UNO shapes to
+ provide accessibility information that describe the shapes' features.
+ A UNO shape is any object that implements the <type
+ scope="::com::sun::star::drawing">XShape</type> interface.
+
+ <p>The content of a draw page is modeled 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
+ <type>AccessibleGraphicShape</type> or <type>AccessibleOLEShape</type>.
+ See the section Children in the description of the
+ <type scope="::com::sun::star::accessibility"
+ >XAccessibleContext</type> interface support for more details.</p>
+
+ <p>There are two services that extend this one: the
+ <type>AccessibleGraphicShape</type> and the
+ <type>AccessibleOLEShape</type> 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> 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
+*/
+published service AccessibleShape
+{
+ /** Base interface for being accessible. It gives access to the
+ <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleRole::SHAPE</const>.</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 <type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type> for details of
+ how this text is represented.</li>
+ <li>Parent: The parent is either the document view as represented by
+ <type>AccessibleDrawDocumentView</type> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> 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 <const
+ scope="com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> state set has already
+ been disposed and subsequent calls to this object result in
+ <type scope="::com::sun::star::lang">DisposedException</type>
+ 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
+ allways set (which makes 'allways' more of a sort of
+ 'normally').</p></li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const></li> 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><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const> is set according to
+ whether the shape currently has the focus.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_LINE</const> is set if a shape
+ supports the <type scope="::com::sun::star::accessibility"
+ >XAccessibleText</type> interface.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is set for certain shapes
+ with certain attributes like for a filled rectangle.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::RESIZABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is set according to
+ whether the shape is currently selected.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const> is always set.</li>
+ <li><const scope="com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const> 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 <method
+ scope="::com::sun::star::accessibility"
+ >XAccessibleComponent::getBounds</method> 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleExtendedComponent::getForeground</method> and
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleExtendedComponent::getBackground</method> 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 <method
+ scope="::com::sun::star::accessibility"
+ >XAccessibleExtendedComponent::getFont</method>,
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleExtendedComponent::getTitledBorderText</method>, and
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleExtendedComponent::getToolTipText</method> 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
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideView.idl b/offapi/com/sun/star/drawing/AccessibleSlideView.idl
new file mode 100644
index 000000000000..661ace660bc4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideView.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleSlideView</type> 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
+*/
+published 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
diff --git a/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl
new file mode 100644
index 000000000000..b03d1583f0f2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AccessibleSlideViewObject.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
+#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+/** The <type>AccessibleSlideViewObject</type> 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
+*/
+published 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
diff --git a/offapi/com/sun/star/drawing/Alignment.idl b/offapi/com/sun/star/drawing/Alignment.idl
new file mode 100644
index 000000000000..131f62d5c887
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Alignment.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Alignment_idl__
+#define __com_sun_star_drawing_Alignment_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::Alignment
+/** The <type>Alignment</type> enumeration is a general way to specify the
+ alignment of an object or sub-object relative to another object.
+ */
+published enum Alignment
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: TOP_LEFT,
+
+ // DocMerge: empty anyway
+ TOP_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: TOP,
+
+ // DocMerge: empty anyway
+ TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: TOP_RIGHT,
+
+ // DocMerge: empty anyway
+ TOP_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: LEFT,
+
+ // DocMerge: empty anyway
+ LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: CENTER,
+
+ // DocMerge: empty anyway
+ CENTER,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: RIGHT,
+
+ // DocMerge: empty anyway
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: BOTTOM_LEFT,
+
+ // DocMerge: empty anyway
+ BOTTOM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: BOTTOM,
+
+ // DocMerge: empty anyway
+ BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Alignment:: BOTTOM_RIGHT
+
+ // DocMerge: empty anyway
+ BOTTOM_RIGHT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/AppletShape.idl b/offapi/com/sun/star/drawing/AppletShape.idl
new file mode 100644
index 000000000000..95e06b668b8e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/AppletShape.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_AppletShape_idl__
+#define __com_sun_star_drawing_AppletShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/** This <type>Shape</type> 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 <type>AppletShape</type> 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 paramaters 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
+
diff --git a/offapi/com/sun/star/drawing/Arrangement.idl b/offapi/com/sun/star/drawing/Arrangement.idl
new file mode 100644
index 000000000000..917f1403047f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Arrangement.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Arrangement_idl__
+#define __com_sun_star_drawing_Arrangement_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::Arrangement
+/** With this enumeration you can arrange the relative position of an object
+ within the other objects.
+
+ @deprecated
+ */
+published enum Arrangement
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::Arrangement::FRONT
+ /** Move this object in front of all other objects.
+ */
+ FRONT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::Arrangement::MORE_FRONT
+ /** Move this object one object more to the front.
+ */
+ MORE_FRONT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::Arrangement::MORE_BACK
+ /** Move this object one object more to the back.
+ */
+ MORE_BACK,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::Arrangement::BACK
+ /** Move this object behind all other objects.
+ */
+ BACK
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Background.idl b/offapi/com/sun/star/drawing/Background.idl
new file mode 100644
index 000000000000..7625ef293370
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Background.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Background_idl__
+#define __com_sun_star_drawing_Background_idl__
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ of a document and be set on draw pages that support a filled background.
+ */
+published service Background
+{
+ service FillProperties;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/BezierPoint.idl b/offapi/com/sun/star/drawing/BezierPoint.idl
new file mode 100644
index 000000000000..6adf8c5f0b42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BezierPoint.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_BezierPoint_idl__
+#define __com_sun_star_drawing_BezierPoint_idl__
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::BezierPoint
+/** 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
+{
+ // DocMerge from xml: field com::sun::star::drawing::BezierPoint::Position
+ /** This is the position of this point.
+ */
+ com::sun::star::awt::Point Position;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::BezierPoint::ControlPoint1
+ /** This is the position of the first control point.
+ */
+ com::sun::star::awt::Point ControlPoint1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::BezierPoint::ControlPoint2
+ /** This is the position of the second control point.
+ */
+ com::sun::star::awt::Point ControlPoint2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/BitmapMode.idl b/offapi/com/sun/star/drawing/BitmapMode.idl
new file mode 100644
index 000000000000..d2414418927c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapMode.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_BitmapMode_idl__
+#define __com_sun_star_drawing_BitmapMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** The <type>BitmapMode</type> 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
+
diff --git a/offapi/com/sun/star/drawing/BitmapTable.idl b/offapi/com/sun/star/drawing/BitmapTable.idl
new file mode 100644
index 000000000000..1ef488e87438
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BitmapTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_BitmapTable_idl__
+#define __com_sun_star_drawing_BitmapTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/BoundVolume.idl b/offapi/com/sun/star/drawing/BoundVolume.idl
new file mode 100644
index 000000000000..706eaccecd96
--- /dev/null
+++ b/offapi/com/sun/star/drawing/BoundVolume.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_BoundVolume_idl__
+#define __com_sun_star_drawing_BoundVolume_idl__
+
+#ifndef __com_sun_star_drawing_Position3D_idl__
+#include <com/sun/star/drawing/Position3D.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/CameraGeometry.idl b/offapi/com/sun/star/drawing/CameraGeometry.idl
new file mode 100644
index 000000000000..3d235e8a336f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CameraGeometry.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_CameraGeometry_idl__
+#define __com_sun_star_drawing_CameraGeometry_idl__
+
+#ifndef __com_sun_star_drawing_Direction3D_idl__
+#include <com/sun/star/drawing/Direction3D.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Position3D_idl__
+#include <com/sun/star/drawing/Position3D.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl b/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl
new file mode 100644
index 000000000000..4fccffff24e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionEscapeDirection.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>CaptionShape</type>.
+
+ @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
+
diff --git a/offapi/com/sun/star/drawing/CaptionShape.idl b/offapi/com/sun/star/drawing/CaptionShape.idl
new file mode 100644
index 000000000000..d06d8e5ee260
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionShape.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_CaptionShape_idl__
+#define __com_sun_star_drawing_CaptionShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** The <type>CaptionShape</type> 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 relativ escape distance for
+ the line of a caption.
+ */
+ [property] long CaptionEscapeRelative;
+
+ /** This property specifies the absolut 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
+
diff --git a/offapi/com/sun/star/drawing/CaptionType.idl b/offapi/com/sun/star/drawing/CaptionType.idl
new file mode 100644
index 000000000000..df6506130f34
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CaptionType.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>CaptionShape</type>.
+
+ @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
+
diff --git a/offapi/com/sun/star/drawing/CircleKind.idl b/offapi/com/sun/star/drawing/CircleKind.idl
new file mode 100644
index 000000000000..5c037c5fe155
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CircleKind.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_CircleKind_idl__
+#define __com_sun_star_drawing_CircleKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::CircleKind
+/** This enumeration defines a circle.
+ */
+published enum CircleKind
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::CircleKind::FULL
+ /** a full circle
+ */
+ FULL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::CircleKind::SECTION
+ /** a circle with a cut connected by a line
+ */
+ SECTION,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::CircleKind::CUT
+ /** a circle with a cut connected by two lines
+ */
+ CUT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::CircleKind::ARC
+ /** a circle with an open cut
+ */
+ ARC
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ClosedBezierShape.idl b/offapi/com/sun/star/drawing/ClosedBezierShape.idl
new file mode 100644
index 000000000000..7442c553439f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ClosedBezierShape.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ClosedBezierShape_idl__
+#define __com_sun_star_drawing_ClosedBezierShape_idl__
+
+#ifndef __com_sun_star_drawing_LineShape_idl__
+#include <com/sun/star/drawing/LineShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/ColorMode.idl b/offapi/com/sun/star/drawing/ColorMode.idl
new file mode 100644
index 000000000000..9eeb0ba08d6c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ColorMode.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ColorMode_idl__
+#define __com_sun_star_drawing_ColorMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::ColorMode
+/** The <type>ColorMode</type> defines the output style of colors
+ for a graphic.
+ */
+published enum ColorMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ColorMode::STANDARD
+ /** the graphic is rendered in the default color style of the output
+ device,
+ */
+ STANDARD,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ColorMode::GREYS
+ /** the graphic is rendered in greyscales on the output device,
+ */
+ GREYS,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ColorMode::MONO
+ /** the graphic is rendered in black and white only,
+ */
+ MONO,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ColorMode::WATERMARK
+ /** the graphic is rendered in a watermark like style,
+ */
+ WATERMARK
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ConnectionType.idl b/offapi/com/sun/star/drawing/ConnectionType.idl
new file mode 100644
index 000000000000..eaca9eacae7a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectionType.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ConnectionType_idl__
+#define __com_sun_star_drawing_ConnectionType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::ConnectionType
+/** the direction where the
+ connection line leaves the connection point.
+ */
+published enum ConnectionType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::AUTO
+ /** the connection point is chosen automatically,
+ */
+ AUTO,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::LEFT
+ /** the connection line leaves the connected object to the left,
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::TOP
+ /** the connection line leaves the connected object from the top,
+ */
+ TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::RIGHT
+ /** the connection line leaves the connected object to the right,
+ */
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::BOTTOM
+ /** the connection line leaves the connected object from the bottom,
+ */
+ BOTTOM,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectionType::SPECIAL
+ /** not implemented, yet.
+ */
+ SPECIAL
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ConnectorProperties.idl b/offapi/com/sun/star/drawing/ConnectorProperties.idl
new file mode 100644
index 000000000000..db86fca96f7a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorProperties.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ConnectorProperties_idl__
+#define __com_sun_star_drawing_ConnectorProperties_idl__
+
+#ifndef __com_sun_star_drawing_ConnectorType_idl__
+#include <com/sun/star/drawing/ConnectorType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/ConnectorShape.idl b/offapi/com/sun/star/drawing/ConnectorShape.idl
new file mode 100644
index 000000000000..d76bea93345f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorShape.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ConnectorShape_idl__
+#define __com_sun_star_drawing_ConnectorShape_idl__
+
+#ifndef __com_sun_star_drawing_XConnectorShape_idl__
+#include <com/sun/star/drawing/XConnectorShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ConnectorProperties_idl__
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a <type>ConnectorShape</type>, a specialized <type>Shape</type>,
+ which can be connected to other <type>Shape</type>s or <type>GluePoint</type>s.
+ */
+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 glue point 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 glue point 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
+
diff --git a/offapi/com/sun/star/drawing/ConnectorType.idl b/offapi/com/sun/star/drawing/ConnectorType.idl
new file mode 100644
index 000000000000..d289e2ba492c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ConnectorType.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ConnectorType_idl__
+#define __com_sun_star_drawing_ConnectorType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::ConnectorType
+/** The <type>ConnectorType</type> specifies the appearance of a connector.
+ */
+published enum ConnectorType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectorType::STANDARD
+ /** the connector is drawn with three lines, with the middle line
+ perpendicular to the other two
+ */
+ STANDARD,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectorType::CURVE
+ /** the ConnectorShape is drawn as a curve
+ */
+ CURVE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectorType::LINE
+ /** the ConnectorShape is drawn as a straight line
+ */
+ LINE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ConnectorType::LINES
+ /** the connector is drawn with three lines
+ */
+ LINES
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ControlShape.idl b/offapi/com/sun/star/drawing/ControlShape.idl
new file mode 100644
index 000000000000..43055b54d26d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ControlShape.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ControlShape_idl__
+#define __com_sun_star_drawing_ControlShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XControlShape_idl__
+#include <com/sun/star/drawing/XControlShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a <type>Shape</type> 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
+
diff --git a/offapi/com/sun/star/drawing/CoordinateSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequence.idl
new file mode 100644
index 000000000000..f01c422745c8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequence.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl
new file mode 100644
index 000000000000..e0bed624f8fe
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CoordinateSequenceSequence.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+#define __com_sun_star_drawing_CoordinateSequenceSequence_idl__
+
+#ifndef __com_sun_star_drawing_CoordinateSequence_idl__
+#include <com/sun/star/drawing/CoordinateSequence.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<CoordinateSequence> CoordinateSequenceSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/CustomShape.idl b/offapi/com/sun/star/drawing/CustomShape.idl
new file mode 100644
index 000000000000..4ec4dbf7bf92
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShape.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_CustomShape_idl__
+#define __com_sun_star_drawing_CustomShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/CustomShapeEngine.idl b/offapi/com/sun/star/drawing/CustomShapeEngine.idl
new file mode 100644
index 000000000000..6df041ce1948
--- /dev/null
+++ b/offapi/com/sun/star/drawing/CustomShapeEngine.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_CustomShapeEngine_idl__
+#define __com_sun_star_drawing_CustomShapeEngine_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XCustomShapeEngine_idl__
+#include <com/sun/star/drawing/XCustomShapeEngine.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/DashStyle.idl b/offapi/com/sun/star/drawing/DashStyle.idl
new file mode 100644
index 000000000000..2a4aded0e20e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashStyle.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DashStyle_idl__
+#define __com_sun_star_drawing_DashStyle_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::DashStyle
+/** This enumeration defines the style of a dash on a line.
+ */
+published enum DashStyle
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DashStyle::RECT
+ /** the dash is a rectangle
+ */
+ RECT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DashStyle::ROUND
+ /** the dash is a point
+ */
+ ROUND,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DashStyle::RECTRELATIVE
+ /** the dash is a rectangle, with the size of the dash given in
+ relation to the length of the line
+ */
+ RECTRELATIVE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DashStyle::ROUNDRELATIVE
+ /** the dash is a point, with the size of the dash given in relation
+ to the length of the line
+ */
+ ROUNDRELATIVE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/DashTable.idl b/offapi/com/sun/star/drawing/DashTable.idl
new file mode 100644
index 000000000000..84c42b794f93
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DashTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DashTable_idl__
+#define __com_sun_star_drawing_DashTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** this is a container for <type>LineDash</type>s
+
+ <p>It is used for example to access the <type>LineDash</type>s that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see LineDash
+*/
+published service DashTable
+{
+ /** this container lets you access the <type>LineDash</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/Defaults.idl b/offapi/com/sun/star/drawing/Defaults.idl
new file mode 100644
index 000000000000..948b8c769649
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Defaults.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Defaults_idl__
+#define __com_sun_star_drawing_Defaults_idl__
+
+#ifndef __com_sun_star_drawing_TextProperties_idl__
+#include <com/sun/star/drawing/TextProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ConnectorProperties_idl__
+#include <com/sun/star/drawing/ConnectorProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_MeasureProperties_idl__
+#include <com/sun/star/drawing/MeasureProperties.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/Direction3D.idl b/offapi/com/sun/star/drawing/Direction3D.idl
new file mode 100644
index 000000000000..c346274599f6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Direction3D.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Direction3D_idl__
+#define __com_sun_star_drawing_Direction3D_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::Direction3D
+/** specifies a 3-dimensional vector.
+ */
+published struct Direction3D
+{
+ // DocMerge: empty anyway
+ double DirectionX;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Direction3D::DirectionY
+
+ // DocMerge: empty anyway
+ double DirectionY;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Direction3D::DirectionZ
+
+ // DocMerge: empty anyway
+ double DirectionZ;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/DocumentSettings.idl b/offapi/com/sun/star/drawing/DocumentSettings.idl
new file mode 100644
index 000000000000..29aee7f3b951
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DocumentSettings.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DocumentSettings_idl__
+#define __com_sun_star_drawing_DocumentSettings_idl__
+
+#ifndef __com_sun_star_document_Settings_idl__
+#include <com/sun/star/document/Settings.idl>
+#endif
+
+#ifndef __com_sun_star_document_HeaderFooterSettings_idl__
+#include <com/sun/star/document/HeaderFooterSettings.idl>
+#endif
+
+//=============================================================================
+
+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
+ formatings 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
+ */
+ [optional, property] long PageNumberFormat;
+
+ /** If this is true, the distance between two paragraphs is
+ the sum of ParaTopMargin of the previous and ParaBottomMargin of
+ the next paragraph. If false, only the greater of the two is
+ choosen.
+ */
+ [optional, property] boolean ParagraphSummation;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/DoubleSequence.idl b/offapi/com/sun/star/drawing/DoubleSequence.idl
new file mode 100644
index 000000000000..b58c6bcad3d4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequence.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl b/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl
new file mode 100644
index 000000000000..f825d4805031
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DoubleSequenceSequence.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DoubleSequenceSequence_idl__
+#define __com_sun_star_drawing_DoubleSequenceSequence_idl__
+
+#ifndef __com_sun_star_drawing_DoubleSequence_idl__
+#include <com/sun/star/drawing/DoubleSequence.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<DoubleSequence> DoubleSequenceSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/DrawPage.idl b/offapi/com/sun/star/drawing/DrawPage.idl
new file mode 100644
index 000000000000..44d534362e84
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPage.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DrawPage_idl__
+#define __com_sun_star_drawing_DrawPage_idl__
+
+#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XMasterPageTarget_idl__
+#include <com/sun/star/drawing/XMasterPageTarget.idl>
+#endif
+
+#ifndef __com_sun_star_form_XFormsSupplier_idl__
+#include <com/sun/star/form/XFormsSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::DrawPage
+/** This service specifies a page for the actual draw pages to contain
+ the drawings.
+ @see GenericDrawPage
+ @see DrawPages
+ */
+published service DrawPage
+{
+
+
+ // DocMerge from xml: service com::sun::star::drawing::DrawPage: service com::sun::star::drawing::GenericDrawPage
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::DrawPage: interface com::sun::star::drawing::XMasterPageTarget
+ /** provides the link to a <type>MasterPage</type>.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/drawing/DrawPages.idl b/offapi/com/sun/star/drawing/DrawPages.idl
new file mode 100644
index 000000000000..f65fac91c79e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawPages.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DrawPages_idl__
+#define __com_sun_star_drawing_DrawPages_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPageSummarizer_idl__
+#include <com/sun/star/drawing/XDrawPageSummarizer.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPageExpander_idl__
+#include <com/sun/star/drawing/XDrawPageExpander.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::DrawPages
+/** provides access to a container of <type>DrawPage</type>s
+ and makes it possible for you to manipulate them.
+
+ @see XDrawPagesSupplier
+ @see DrawingDocument
+ */
+published service DrawPages
+{
+ /** lets you access and create <type>DrawPage</type>s
+ */
+ 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
+
diff --git a/offapi/com/sun/star/drawing/DrawViewMode.idl b/offapi/com/sun/star/drawing/DrawViewMode.idl
new file mode 100644
index 000000000000..497670828fd3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawViewMode.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DrawViewMode_idl__
+#define __com_sun_star_drawing_DrawViewMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::DrawViewMode
+/** This enumeration specifies the viewmode of a view in a presentation
+ document.
+
+ @deprecated
+ */
+published enum DrawViewMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DrawViewMode::DRAW
+ /** The view shows the drawing pages.
+ */
+ DRAW,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DrawViewMode::NOTES
+ /** The view shows the notes pages.
+ */
+ NOTES,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::DrawViewMode::HANDOUT
+ /** The view shows the handout pages,
+ */
+ HANDOUT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/DrawingDocument.idl b/offapi/com/sun/star/drawing/DrawingDocument.idl
new file mode 100644
index 000000000000..f0335dbd4c10
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocument.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DrawingDocument_idl__
+#define __com_sun_star_drawing_DrawingDocument_idl__
+
+#ifndef __com_sun_star_drawing_GenericDrawingDocument_idl__
+#include <com/sun/star/drawing/GenericDrawingDocument.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
new file mode 100644
index 000000000000..38abff541b14
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentDrawView.idl
@@ -0,0 +1,203 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+#define __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module view {
+ published interface XFormLayerAccess;
+}; }; }; };
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This componend integrates a view to a <type>DrawPage</type>s or
+ <type>MasterPage</type> from a <type>DrawingDocument</type>.
+ */
+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;
+
+
+ //-------------------------------------------------------------------------
+
+ /** provides the names of the services implemented by
+ this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+
+ /** If the view is in masterpage mode, the view shows the masterpages
+ 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
+ <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>,
+ implementations may calculate the required zoom value and set the type
+ to <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>
+ afterwards.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] short ZoomType;
+
+ //-------------------------------------------------------------------------
+
+ /** Defines the zoom value to use.
+ Valid only if the ZoomType is set to
+ <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
+
+ @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
+
diff --git a/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl b/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl
new file mode 100644
index 000000000000..a07fba53ab8e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/DrawingDocumentFactory.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ **************************************************************
+**********/
+#ifndef __com_sun_star_drawing_DrawingDocumentFactory_idl__
+#define __com::sun::star::drawing_DrawingDocumentFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** @deprecated Pleas use the factory interface of the service GenericDrawingDocument.
+ */
+published service DrawingDocumentFactory
+{
+ /** @deprecated */
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EllipseShape.idl b/offapi/com/sun/star/drawing/EllipseShape.idl
new file mode 100644
index 000000000000..cdcbb7cf8676
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EllipseShape.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EllipseShape_idl__
+#define __com_sun_star_drawing_EllipseShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_CircleKind_idl__
+#include <com/sun/star/drawing/CircleKind.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl
new file mode 100644
index 000000000000..f6a755e15827
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+
+//=============================================================================
+
+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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
new file mode 100644
index 000000000000..c34304f03d18
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeExtrusion.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeExtrusion_idl__
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_drawing_Position3D_idl__
+#include <com/sun/star/drawing/Position3D.idl>
+#endif
+#ifndef __com_sun_star_drawing_Direction3D_idl__
+#include <com/sun/star/drawing/Direction3D.idl>
+#endif
+#ifndef __com_sun_star_drawing_ProjectionMode_idl__
+#include <com/sun/star/drawing/ProjectionMode.idl>
+#endif
+#ifndef __com_sun_star_drawing_ShadeMode_idl__
+#include <com/sun/star/drawing/ShadeMode.idl>
+#endif
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ /** 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 grad.
+ 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl
new file mode 100644
index 000000000000..16f3a3815c92
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGeometry.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeHandle.idl>
+#endif
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeAdjustmentValue_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.idl>
+#endif
+
+//=============================================================================
+
+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 textpath 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl
new file mode 100644
index 000000000000..bda5c034d903
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeGluePointType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 glue points of the GluePoints property from the
+ com::sun:star::drawing::EnhancedCustomShapePath are offered
+ */
+ const short CUSTOM = 2;
+
+ /** standard top, left, right, bottom glue points are offered
+ */
+ const short RECT = 3;
+ };
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
new file mode 100644
index 000000000000..d5e8420fc32f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeHandle_idl__
+
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl
new file mode 100644
index 000000000000..b1e78d4333cf
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameter.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
new file mode 100644
index 000000000000..b454950bf1fe
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameter_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeParameter.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
new file mode 100644
index 000000000000..c8c035e13d24
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeParameterType.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeParameterType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** defines how a 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 a 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
new file mode 100644
index 000000000000..d0bd22cafb5a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapePath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapePath_idl__
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#endif
+#ifndef __sun_star_drawing_EnhancedCustomShapeSegment_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.idl>
+#endif
+#ifndef __sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl>
+#endif
+
+
+//=============================================================================
+
+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 glue points
+ */
+ [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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl
new file mode 100644
index 000000000000..a1a8ca12b51f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegment.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegment_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegment_idl__
+
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegmentCommand_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/**
+ */
+struct EnhancedCustomShapeSegment
+{
+ short Command;
+
+ short Count;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
new file mode 100644
index 000000000000..4c65a23ada90
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeSegmentInformationCommand_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeSegmentInformationCommand_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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl
new file mode 100644
index 000000000000..e9bbd2c71962
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
+
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl
new file mode 100644
index 000000000000..72674e8a3974
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPath.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextPath_idl__
+#define __com_sun_star_drawing_EnhancedCustomShapeTextPath_idl__
+
+#ifndef __com_sun_star_drawing_EnhancedCustomShapeTextPathMode_idl__
+#include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl
new file mode 100644
index 000000000000..f7500576a60d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeTextPathMode.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/drawing/EscapeDirection.idl b/offapi/com/sun/star/drawing/EscapeDirection.idl
new file mode 100644
index 000000000000..7198f4033f95
--- /dev/null
+++ b/offapi/com/sun/star/drawing/EscapeDirection.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 glue point.
+ */
+published enum EscapeDirection
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: SMART,
+ SMART,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: LEFT,
+ LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: RIGHT,
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: UP,
+ UP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: DOWN
+ DOWN,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: HORIZONTAL
+ HORIZONTAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR EscapeDirection:: VERTICAL
+ VERTICAL
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/FillProperties.idl b/offapi/com/sun/star/drawing/FillProperties.idl
new file mode 100644
index 000000000000..ea6de0a07a87
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillProperties.idl
@@ -0,0 +1,274 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#define __com_sun_star_drawing_FillProperties_idl__
+
+#ifndef __com_sun_star_drawing_FillStyle_idl__
+#include <com/sun/star/drawing/FillStyle.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Gradient_idl__
+#include <com/sun/star/awt/Gradient.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Hatch_idl__
+#include <com/sun/star/drawing/Hatch.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_BitmapMode_idl__
+#include <com/sun/star/drawing/BitmapMode.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RectanglePoint_idl__
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>FillStyle</member> is set to <const>
+ FillStyle::SOLID</const>, 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 <member>FillStyle
+ </member> is set to <const>FillStyle::SOLID</const>.
+ */
+ [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 <member>FillStyle</member> is set to <const>
+ FillStyle::GRADIENT</const>, this is the name of the used fill
+ gradient style.
+ */
+ [property] string FillGradientName;
+
+ //-------------------------------------------------------------------------
+ /** If the property <member>FillStyle</member> is set to <const>
+ FillStyle::GRADIENT</const>, this describes the gradient used.
+ */
+ [optional, property] com::sun::star::awt::Gradient FillGradient;
+
+ //-------------------------------------------------------------------------
+ /** If the property <member>FillStyle</member> is set to <const>
+ FillStyle::HATCH</const>, this is the name of the used fill hatch
+ style.
+ */
+ [property] string FillHatchName;
+
+ //-------------------------------------------------------------------------
+ /** If the property <member>FillStyle</member> is set to <const>
+ FillStyle::HATCH</const>, 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 <memebr>FillStyle</member> is set to <const>
+ FillStyle::BITMAP</const>, this is the name of the used fill bitmap
+ style.
+ */
+ [property] string FillBitmapName;
+
+ //-------------------------------------------------------------------------
+ /** If the property <member>FillStyle</member> is set to <const>
+ FillStyle::BITMAP</const>, this is the bitmap used.
+ */
+ [optional, property] com::sun::star::awt::XBitmap FillBitmap;
+
+ //-------------------------------------------------------------------------
+ /** If the property <member>FillStyle</member> is set to <const>
+ FillStyle::BITMAP</const>, this is a URL to the bitmap used.
+ */
+ [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
+ witdh 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 <member>FillBitmapSizeX</member>
+ and <member>FillBitmapSizeY</member> 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 <member>FillBitmapLogicalSize</member>,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeX;
+
+ //-------------------------------------------------------------------------
+ /** This is the height of the tile for filling.
+
+ <p>Depending on the property <member>FillBitmapLogicalSize</member>,
+ this is either relative or absolute.
+ */
+ [property] long FillBitmapSizeY;
+
+ //-------------------------------------------------------------------------
+ /** this enum selects how a area is filled with a single bitmap.
+
+ <p>This property corresponds to the properties <member>
+ FillBitmapStretch</member> and <member>FillBitmapTile</member>.</p>
+
+ <p>If set to <const>BitmapMode::REPEAT</const>, the property
+ FillBitmapStretch is set to <FALSE/>, and the property FillBitmapTile
+ is set to <TRUE/>.</p>
+
+ <p>If set to <const>BitmapMode::STRETCH</const>, the property
+ FillBitmapStretch is set to <TRUE/>, and the property FillBitmapTile
+ is set to <FALSE/>.</p>
+
+ <p>If set to <const>BitmapMode::NO_REPEAT</const>, 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 <member>FillBitmapMode</member> 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 <const>BitmapMode::STRETCH</const>. BUT: behaviour is undefined, if
+ the property <member>FillBitmapTile</member> is <TRUE/> too.</p>
+
+ <p>If set to <FALSE/>, the value of the FillBitmapMode property
+ changes to <const>BitmapMode::REPEAT</const> or <const>
+ BitmapMode::NO_REPEAT</const>, depending on the current value of the
+ <member>FillBitmapTile</member> 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 <member>FillBitmapMode</member> 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 <const>BitmapMode::REPEAT</const>. BUT: behaviour is undefined, if
+ the property <member>FillBitmapStretch</member> is <TRUE/> too.</p>
+
+ <p>If set to <FALSE/>, the value of the FillBitmapMode property
+ changes to <const>BitmapMode::STRETCH</const> or <const>
+ BitmapMode::NO_REPEAT</const>, depending on the current value of the
+ <member>FillBitmapStretch</member> property.</p>
+ */
+ [optional, property] boolean FillBitmapTile;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/FillStyle.idl b/offapi/com/sun/star/drawing/FillStyle.idl
new file mode 100644
index 000000000000..b305791e654c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FillStyle.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_FillStyle_idl__
+#define __com_sun_star_drawing_FillStyle_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::FillStyle
+/** specifies how an area will be filled.
+ */
+published enum FillStyle
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR FillStyle:: NONE,
+
+ // DocMerge from xml: value com::sun::star::drawing::FillStyle::NONE
+ /** the area is not filled.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR FillStyle:: SOLID,
+
+ // DocMerge from xml: value com::sun::star::drawing::FillStyle::SOLID
+ /** use a solid color to fill the area.
+ */
+ SOLID,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR FillStyle:: GRADIENT,
+
+ // DocMerge from xml: value com::sun::star::drawing::FillStyle::GRADIENT
+ /** use a gradient color to fill the area.
+ */
+ GRADIENT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR FillStyle:: HATCH,
+
+ // DocMerge from xml: value com::sun::star::drawing::FillStyle::HATCH
+ /** use a hatch to fill the area.
+ */
+ HATCH,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR FillStyle:: BITMAP
+
+ // DocMerge from xml: value com::sun::star::drawing::FillStyle::BITMAP
+ /** use a bitmap to fill the area.
+ */
+ BITMAP
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/FlagSequence.idl b/offapi/com/sun/star/drawing/FlagSequence.idl
new file mode 100644
index 000000000000..a2fcfe27dfc7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequence.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_FlagSequence_idl__
+#define __com_sun_star_drawing_FlagSequence_idl__
+
+#ifndef __com_sun_star_drawing_PolygonFlags_idl__
+#include <com/sun/star/drawing/PolygonFlags.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<PolygonFlags> FlagSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/FlagSequenceSequence.idl b/offapi/com/sun/star/drawing/FlagSequenceSequence.idl
new file mode 100644
index 000000000000..5be60e2a1fb1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/FlagSequenceSequence.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_FlagSequenceSequence_idl__
+#define __com_sun_star_drawing_FlagSequenceSequence_idl__
+
+#ifndef __com_sun_star_drawing_FlagSequence_idl__
+#include <com/sun/star/drawing/FlagSequence.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<FlagSequence> FlagSequenceSequence;
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/GenericDrawPage.idl b/offapi/com/sun/star/drawing/GenericDrawPage.idl
new file mode 100644
index 000000000000..ee9920111805
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawPage.idl
@@ -0,0 +1,238 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
+#define __com_sun_star_drawing_GenericDrawPage_idl__
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapeGrouper_idl__
+#include <com/sun/star/drawing/XShapeGrouper.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapeCombiner_idl__
+#include <com/sun/star/drawing/XShapeCombiner.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapeBinder_idl__
+#include <com/sun/star/drawing/XShapeBinder.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_view_PaperOrientation_idl__
+#include <com/sun/star/view/PaperOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::GenericDrawPage
+/** This abstract service is implemented by every page of a
+ <type>DrawingDocument</type>.
+
+
+
+ @example create and insert a couple of <type>LineShape</type>s:
+
+ <listing>
+ 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%
+ </listing>
+ */
+published service GenericDrawPage
+{
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapes
+ /** manages the <type>Shape</type>s of this page.
+
+ <p>It also lets you add new <type>Shape</type>s. The program currently
+ requires that these <type>Shape</type>s be created by the factory of
+ the document.
+
+ @see <type>DrawingDocument</type>
+ */
+ interface com::sun::star::drawing::XShapes;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeGrouper
+ /** With this interface you can group/ungroup a collection of
+ <type>Shape</type>s.
+ */
+ interface com::sun::star::drawing::XShapeGrouper;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeCombiner
+ /** With this interface you can combine/split a collection of
+ <type>Shape</type>s.
+ */
+ [optional] interface com::sun::star::drawing::XShapeCombiner;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::drawing::XShapeBinder
+ /** With this interface you can bind/unbind a collection of
+ <type>Shape</type>s.
+ */
+ [optional] interface com::sun::star::drawing::XShapeBinder;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::container::XNamed
+ /** Gets or sets the name of this page.
+
+ <p>Duplicated pagenames inside a document are not allowed.
+ */
+ [optional] interface com::sun::star::container::XNamed;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::lang::XServiceInfo
+ /** returns the services implemented by this
+ instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::GenericDrawPage: interface com::sun::star::beans::XPropertySet
+ /** gives you access to the properties of this
+ <type>DrawPage</type>.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderBottom
+ /** This is the border at the bottom.
+ */
+ [optional, property] long BorderBottom;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderLeft
+ /** This is the border at the left.
+ */
+ [optional, property] long BorderLeft;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderRight
+ /** This is the border at the right.
+ */
+ [optional, property] long BorderRight;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::BorderTop
+ /** This is the border at the top.
+ */
+ [optional, property] long BorderTop;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Height
+ /** This is the height.
+ */
+ [optional, property] long Height;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Width
+ /** This is the width.
+ */
+ [optional, property] long Width;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Number
+ /** This is the number of this page, starting with 1.
+ */
+ [optional, readonly, property] short Number;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::GenericDrawPage::Orientation
+ /** 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 avveraged background filling colors luminance
+ is belove an application specified threshold value. This can be used to
+ determine the actuall 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/GenericDrawingDocument.idl b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
new file mode 100644
index 000000000000..febd57d93b97
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GenericDrawingDocument.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GenericDrawingDocument_idl__
+#define __com_sun_star_drawing_GenericDrawingDocument_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPageDuplicator_idl__
+#include <com/sun/star/drawing/XDrawPageDuplicator.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XMasterPagesSupplier_idl__
+#include <com/sun/star/drawing/XMasterPagesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XLayerSupplier_idl__
+#include <com/sun/star/drawing/XLayerSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#endif
+
+#ifndef __com_sun_star_document_OfficeDocument_idl__
+#include <com/sun/star/document/OfficeDocument.idl>
+#endif
+
+//=============================================================================
+
+ 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 then once, its 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 <type>Shape</type>s.
+ They are created by the documents factory and must
+ be inserted into a <type>DrawPage</type> or <type>MasterPage</type>
+ of this document.
+
+ <ul>
+ <li><type>RectangleShape</type></li>
+ <li><type>EllipseShape</type></li>
+ <li><type>ControlShape</type></li>
+ <li><type>ConnectorShape</type></li>
+ <li><type>MeasureShape</type></li>
+ <li><type>LineShape</type></li>
+ <li><type>PolyPolygonShape</type></li>
+ <li><type>PolyLineShape</type></li>
+ <li><type>OpenBezierShape</type></li>
+ <li><type>ClosedBezierShape</type></li>
+ <li><type>GraphicObjectShape</type></li>
+ <li><type>GroupShape</type></li>
+ <li><type>TextShape</type></li>
+ <li><type>OLE2Shape</type></li>
+ <li><type>PageShape</type></li>
+ <li><type>CaptionShape</type></li>
+ <li><type>PluginShape</type></li>
+ <li><type>AppletShape</type></li>
+ </ul>
+
+ <p>The following services are all <type scope="com::sun::star::text">TextField</type>
+ and can be inserted into text as <type scope="com::sun::star::text">TextContent</type>.
+
+ <ul>
+ <li><member scope="com::sun::star::text">TextField::DateTime</member></li>
+ <li><member scope="com::sun::star::text">TextField::URL</member></li>
+ <li><member scope="com::sun::star::text">TextField::PageNumber</member></li>
+ <li><member scope="com::sun::star::text">TextField::PageCount</member></li>
+ <li><member scope="com::sun::star::text">TextField::SheetName</member></li>
+ <li><member scope="com::sun::star::text">TextField::FileName</member></li>
+ <li><member scope="com::sun::star::text">TextField::DocInfo.Title</member></li>
+ <li><member scope="com::sun::star::text">TextField::Author</member></li>
+ <li><member scope="com::sun::star::text">TextField::Measure</member></li>
+ </ul>
+
+ <p>The following services gives access to resources used inside the document
+ and let you add new resources.
+
+ <ul>
+ <li><type scope="com::sun::star::drawing">DashTable</type></li>
+ <li><type scope="com::sun::star::drawing">GradientTable</type></li>
+ <li><type scope="com::sun::star::drawing">HatchTable</type></li>
+ <li><type scope="com::sun::star::drawing">BitmapTable</type></li>
+ <li><type scope="com::sun::star::drawing">TransparencyGradientTable</type></li>
+ <li><type scope="com::sun::star::drawing">MarkerTable</type></li>
+ </ul>
+
+ <p>The following service can be set at the <code>Numbering</code> property
+ inside a <type scope="com::sun::star::style">ParagraphProperties</type>
+
+ <ul>
+ <li><type scope="com::sun::star::text">NumberingRules</type></li>
+ </ul>
+
+ <p>The following services can be used for a <type scope="com::sun::star::image">ImageMap</type>
+ inside the document.
+
+ <br>A <type scope="com::sun::star::image">ImageMap</type> can be obtained from a
+ <type>GraphicObjectShape</type>
+
+ <ul>
+ <li><type scope="com::sun::star::image">ImageMapRectangleObject</type></li>
+ <li><type scope="com::sun::star::image">ImageMapCircleObject</type></li>
+ <li><type scope="com::sun::star::image">ImageMapPolygonObject</type></li>
+ </ul>
+
+ <p>The following services lets you access the drawing property defaults
+ of a document.
+
+ <ul>
+ <li><type scope="com::sun::star::drawing">Defaults</type></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
+ <type>DrawPage</type>s. With this service you have access to the
+ <type>DrawPage</type>s inside a document.
+ */
+ interface com::sun::star::drawing::XDrawPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ <type>MasterPages</type>. With this service you have access to the
+ <type>MasterPage</type>s inside a document.
+ */
+ interface com::sun::star::drawing::XMasterPagesSupplier;
+
+
+ /** returns an object that is implementing the service
+ <type>LayerManager</type>. This service lets you manipulate the
+ <type>Layer</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/GluePoint.idl b/offapi/com/sun/star/drawing/GluePoint.idl
new file mode 100644
index 000000000000..83cfb638d35f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GluePoint_idl__
+#define __com_sun_star_drawing_GluePoint_idl__
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::GluePoint
+/** A <type>GluePoint</type> could be attached to a shape or to a page.
+
+
+
+ <p>If a <type>GluePoint</type> is attached to a shape, it is moved when
+ the shape moves.
+ The ends of connectors can be attached to <type>GluePoint</type>.</p>
+
+ @deprecated
+ @see GluePoint2
+ */
+published struct GluePoint
+{
+ // DocMerge from xml: field com::sun::star::drawing::GluePoint::Position
+ /** This is the position of this <type>GluePoint</type>.
+ */
+ com::sun::star::awt::Point Position;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::GluePoint::EscapeDirection
+ /** This is the direction in which the connector line leaves the
+ <type>GluePoint</type>.
+ */
+ short EscapeDirection;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::GluePoint::PositionAbsolute
+ /** If this is <TRUE/>, then the position of this <type>GluePoint</type> is
+ absolute on a page and is not relative to a shape.
+ */
+ boolean PositionAbsolute;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::GluePoint::Alignment
+ /** 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
+
diff --git a/offapi/com/sun/star/drawing/GluePoint2.idl b/offapi/com/sun/star/drawing/GluePoint2.idl
new file mode 100644
index 000000000000..5169add58450
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GluePoint2.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GluePoint2_idl__
+#define __com_sun_star_drawing_GluePoint2_idl__
+
+#ifndef __com_sun_star_drawing_Alignment_idl__
+#include <com/sun/star/drawing/Alignment.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_EscapeDirection_idl__
+#include <com/sun/star/drawing/EscapeDirection.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This struct defines the attributes of a glue point.
+ <p>A glue point 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 glue point. 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 glue point
+ is given in 1/100% values instead of 1/100cm. */
+ boolean IsRelative;
+
+ /** if this glue points position is not relative, this enum
+ specifies the vertical and horizontal alignment of this
+ point. The alignment specifies how the glue point 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 glue points attached
+ to them which cannot be altered or removed. */
+ boolean IsUserDefined;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/GradientTable.idl b/offapi/com/sun/star/drawing/GradientTable.idl
new file mode 100644
index 000000000000..a8c3b67f4d12
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GradientTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GradientTable_idl__
+#define __com_sun_star_drawing_GradientTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** this is a container for <type scope="com::sun::star::awt">Gradient</type>s
+
+ <p>It is used for example to access the <type scope="com::sun::star::awt">Gradient</type>s that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see com::sun::star::awt::Gradient
+*/
+published service GradientTable
+{
+ /** this container lets you access the <type scope="com::sun::star::awt">Gradient</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/GraphicExportFilter.idl b/offapi/com/sun/star/drawing/GraphicExportFilter.idl
new file mode 100644
index 000000000000..97351fceaa55
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicExportFilter.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GraphicExportFilter_idl__
+#define __com_sun_star_drawing_GraphicExportFilter_idl__
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XMimeTypeInfo_idl__
+#include <com/sun/star/document/XMimeTypeInfo.idl>
+#endif
+
+//=============================================================================
+
+ 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
+{
+ /** calling <method scope=scope="com::sun::star::document">XFilter::filter
+ </method> starts the export of the graphic file. The following properties
+ from the <type scope="com::sun::star::document">MediaDescriptor
+ </type> are supported:<p>
+
+ <member scope="com::sun::star::document">MediaDescriptor::MediaType
+ </member><b>
+
+ Depending on the export filters supported by this component this is
+ the mime type of the target graphic file. Possible values are<b>
+ image/x-MS-bmp<b>
+ application/dxf<b>
+ application/postscript<b>
+ image/gif<b>
+ image/jpeg<b>
+ image/png<b>
+ image/x-pict<b>
+ image/x-pcx<b>
+ image/x-portable-bitmap<b>
+ image/x-portable-graymap<b>
+ image/x-portable-pixmap<b>
+ image/x-cmu-raster<b>
+ image/targa<b>
+ image/tiff<b>
+ image/x-xbitmap<b>
+ image/x-xpixmap<b>
+ image/svg+xml<p>
+ Ask the interface <type scope="com::sun::star::document">XMimeTypeInfo
+ </type> for all values supported by the component.
+
+ <member scope="com::sun::star::document">MediaDescriptor::URL</member><b>
+ This is the target url of the file that will be created during export.
+ */
+ interface ::com::sun::star::document::XFilter;
+
+ /** sets the source component for this export filter.
+ This could either be a <type>DrawPage</type>, a <type>Shape</type>
+ or a <type>Shapes</type>.
+ */
+ interface ::com::sun::star::document::XExporter;
+
+ /** lets you query the supported mime types by this component */
+ interface ::com::sun::star::document::XMimeTypeInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/GraphicFilterRequest.idl b/offapi/com/sun/star/drawing/GraphicFilterRequest.idl
new file mode 100644
index 000000000000..9bf571609159
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicFilterRequest.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GraphicFilterRequest_idl__
+#define __com_sun_star_drawing_GraphicFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ 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 usefull for interactions.
+
+ @since OOo 3.0
+ */
+exception GraphicFilterRequest : com::sun::star::uno::Exception
+{
+ /** specifies the error code. */
+ long ErrCode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/GraphicObjectShape.idl b/offapi/com/sun/star/drawing/GraphicObjectShape.idl
new file mode 100644
index 000000000000..06a45bbe813e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GraphicObjectShape.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GraphicObjectShape_idl__
+#define __com_sun_star_drawing_GraphicObjectShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ColorMode_idl__
+#include <com/sun/star/drawing/ColorMode.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+//=============================================================================
+
+ 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 an url to the source bitmap for this graphic shape.
+ */
+ [property] string GraphicURL;
+
+ //-------------------------------------------------------------------------
+ /** This is an url to the stream ('in document' or linked graphic) for this graphic shape.
+ */
+ [property] string GraphicStreamURL;
+
+ //-------------------------------------------------------------------------
+ /** Deprecated. Use graphic property instead!
+ This is the bitmap that represents this graphic shape.
+ */
+ [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 gama 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 a 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/GroupShape.idl b/offapi/com/sun/star/drawing/GroupShape.idl
new file mode 100644
index 000000000000..4aa717692517
--- /dev/null
+++ b/offapi/com/sun/star/drawing/GroupShape.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_GroupShape_idl__
+#define __com_sun_star_drawing_GroupShape_idl__
+
+#ifndef __com_sun_star_drawing_XShapeGroup_idl__
+#include <com/sun/star/drawing/XShapeGroup.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a group of <type>Shape</type>s.
+ @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 <type>Shape</type>s in this Group.
+ */
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Hatch.idl b/offapi/com/sun/star/drawing/Hatch.idl
new file mode 100644
index 000000000000..bfbbc94d8473
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Hatch.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Hatch_idl__
+#define __com_sun_star_drawing_Hatch_idl__
+
+#ifndef __com_sun_star_drawing_HatchStyle_idl__
+#include <com/sun/star/drawing/HatchStyle.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::Hatch
+/** This struct defines the appearence of a hatch.
+
+ <p>A hatch is a texture made of straight lines.</p>
+ */
+published struct Hatch
+{
+ // DocMerge from xml: field com::sun::star::drawing::Hatch::Style
+ /** The <type>HatchStyle</type> defines the kind of lines used to draw
+ this hatch.
+ */
+ com::sun::star::drawing::HatchStyle Style;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::Hatch::Color
+ /** This is the color of the hatch lines.
+ */
+ com::sun::star::util::Color Color;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::Hatch::Distance
+ /** This is the distance between the lines in the hatch.
+ */
+ long Distance;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::Hatch::Angle
+ /** You can rotate the lines of the hatch with this angle.
+ */
+ long Angle;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HatchStyle.idl b/offapi/com/sun/star/drawing/HatchStyle.idl
new file mode 100644
index 000000000000..baa4d8fab6fa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchStyle.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HatchStyle_idl__
+#define __com_sun_star_drawing_HatchStyle_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::HatchStyle
+/** The <type>HatchStyle</type> defines the style of the lines in a hatch.
+ */
+published enum HatchStyle
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HatchStyle::SINGLE
+ /** the hatch consists of a single horizontal line
+ */
+ SINGLE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HatchStyle::DOUBLE
+ /** the hatch has a horizontal and a vertical line
+ */
+ DOUBLE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HatchStyle::TRIPLE
+ /** the hatch has a horizontal, a vertical and a diagonal line
+ */
+ TRIPLE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HatchTable.idl b/offapi/com/sun/star/drawing/HatchTable.idl
new file mode 100644
index 000000000000..c96a474fb596
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HatchTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HatchTable_idl__
+#define __com_sun_star_drawing_HatchTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** this is a container for <type>Hatch</type>s
+
+ <p>It is used for example to access the <type>Hatch</type>s that
+ are used inside a document.
+
+ @see DrawingDocumentFactory
+ @see Hatch
+*/
+published service HatchTable
+{
+ /** this container lets you access the <type>Hatch</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix.idl b/offapi/com/sun/star/drawing/HomogenMatrix.idl
new file mode 100644
index 000000000000..fabfddc7875d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HomogenMatrix_idl__
+#define __com_sun_star_drawing_HomogenMatrix_idl__
+
+#ifndef __com_sun_star_drawing_HomogenMatrixLine_idl__
+#include <com/sun/star/drawing/HomogenMatrixLine.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::HomogenMatrix
+/** specifies a homogenous matrix by three homogenous lines
+ */
+published struct HomogenMatrix
+{
+ // DocMerge: empty anyway
+ com::sun::star::drawing::HomogenMatrixLine Line1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix::Line2
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::HomogenMatrixLine Line2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix::Line3
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::HomogenMatrixLine Line3;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix::Line4
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::HomogenMatrixLine Line4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix3.idl b/offapi/com/sun/star/drawing/HomogenMatrix3.idl
new file mode 100644
index 000000000000..a2dfb7f6f00b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix3.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HomogenMatrix3_idl__
+#define __com_sun_star_drawing_HomogenMatrix3_idl__
+
+#ifndef __com_sun_star_drawing_HomogenMatrixLine3_idl__
+#include <com/sun/star/drawing/HomogenMatrixLine3.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::HomogenMatrix
+/** specifies a homogenous matrix by three homogenous lines
+ */
+published struct HomogenMatrix3
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix3::Line1
+ com::sun::star::drawing::HomogenMatrixLine3 Line1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix3::Line2
+ com::sun::star::drawing::HomogenMatrixLine3 Line2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix3::Line3
+ com::sun::star::drawing::HomogenMatrixLine3 Line3;
+ };
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrix4.idl b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
new file mode 100644
index 000000000000..345a6bf3ee1a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrix4.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HomogenMatrix4_idl__
+#define __com_sun_star_drawing_HomogenMatrix4_idl__
+
+#ifndef __com_sun_star_drawing_HomogenMatrixLine4_idl__
+#include <com/sun/star/drawing/HomogenMatrixLine4.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::HomogenMatrix
+/** specifies a homogenous matrix by four homogenous lines.
+ */
+published struct HomogenMatrix4
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix4::Line1
+ com::sun::star::drawing::HomogenMatrixLine4 Line1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix4::Line2
+ com::sun::star::drawing::HomogenMatrixLine4 Line2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix4::Line3
+ com::sun::star::drawing::HomogenMatrixLine4 Line3;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrix4::Line4
+ com::sun::star::drawing::HomogenMatrixLine4 Line4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine.idl
new file mode 100644
index 000000000000..68a2399d951e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HomogenMatrixLine_idl__
+#define __com_sun_star_drawing_HomogenMatrixLine_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::HomogenMatrixLine
+/** specifies a single line for a <type>HomogenMatrix</type>.
+ */
+published struct HomogenMatrixLine
+{
+ // DocMerge: empty anyway
+ double Column1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine::Column2
+
+ // DocMerge: empty anyway
+ double Column2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine::Column3
+
+ // DocMerge: empty anyway
+ double Column3;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine::Column4
+
+ // DocMerge: empty anyway
+ double Column4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
new file mode 100644
index 000000000000..9c0e817cbaa9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine3.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>HomogenMatrix3</type>.
+ */
+published struct HomogenMatrixLine3
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine3::Column1
+ double Column1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine3::Column2
+ double Column2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine3::Column3
+ double Column3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl b/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl
new file mode 100644
index 000000000000..c84123691d48
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HomogenMatrixLine4.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>HomogenMatrix4</type>.
+ */
+published struct HomogenMatrixLine4
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine4::Column1
+ double Column1;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine4::Column2
+ double Column2;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine4::Column3
+ double Column3;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HomogenMatrixLine4::Column4
+ double Column4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/HorizontalDimensioning.idl b/offapi/com/sun/star/drawing/HorizontalDimensioning.idl
new file mode 100644
index 000000000000..32afc18fe99b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/HorizontalDimensioning.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_HorizontalDimensioning_idl__
+#define __com_sun_star_drawing_HorizontalDimensioning_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::HorizontalDimensioning
+/** The <type>HorizontalDimensioning</type> specifies the horizontal position
+ of the text of a dimensioning shape.
+ */
+published enum HorizontalDimensioning
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HorizontalDimensioning::AUTO
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HorizontalDimensioning::LEFT
+ /** The text is positioned to the left.
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HorizontalDimensioning::CENTERED
+ /** The text is positioned at the center.
+ */
+ CENTERED,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::HorizontalDimensioning::RIGHT
+ /** The text is positioned to the right.
+ */
+ RIGHT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Layer.idl b/offapi/com/sun/star/drawing/Layer.idl
new file mode 100644
index 000000000000..a8a4476966eb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Layer.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Layer_idl__
+#define __com_sun_star_drawing_Layer_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::Layer
+/** A layer is an entity inside a document which contains shapes.
+
+
+ <p>There could be zero or more <type>Shape</type>s attached to
+ such a layer.
+
+ </p>
+ <p>The properties of a <type>Layer</type> instance affect all <type>Shape</type>s
+ attached to the Layer.
+
+ </p>
+
+ @see DrawingDocument
+ @see LayerManager
+ */
+published service Layer
+{
+
+
+ // DocMerge from xml: service com::sun::star::drawing::Layer: interface com::sun::star::beans::XPropertySet
+ /** The properties in this set affect all <type>Shape</type>s attached to
+ this Layer.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::Layer::Name
+ /** The name of a <type>Layer</type> is used to identify the
+ <type>Layer</type> in the user interface.
+ */
+ [property] string Name;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::Layer::IsVisible
+ /** If a <type>Layer</type> is not visible, the objects in this
+ <type>Layer</type> are not shown in the user interface.
+ */
+ [property] boolean IsVisible;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::Layer::IsPrintable
+ /** If a <type>Layer</type> is not printable, the objects in
+ this <type>Layer</type> are not printed.
+ */
+ [property] boolean IsPrintable;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::Layer::IsLocked
+ /** If a <type>Layer</type> is locked, the objects in this
+ <type>Layer</type> cannot be edited in the user interface.
+ */
+ [property] boolean IsLocked;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LayerManager.idl b/offapi/com/sun/star/drawing/LayerManager.idl
new file mode 100644
index 000000000000..ebcad6a021a8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerManager.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LayerManager_idl__
+#define __com_sun_star_drawing_LayerManager_idl__
+
+#ifndef __com_sun_star_drawing_XLayerManager_idl__
+#include <com/sun/star/drawing/XLayerManager.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::LayerManager
+/** This service is provided by documents to support <type>Layer</type>s.
+
+ @see DrawingDocument
+ */
+published service LayerManager
+{
+
+
+ // DocMerge from xml: service com::sun::star::drawing::LayerManager: interface com::sun::star::drawing::XLayerManager
+ /** gives you access to the existing <type>Layer</type>s by
+ index and makes it possible to add and remove <type>Layer</type>s and
+ to attach <type>Shape</type>s to <type>Layer</type>s.
+
+ <p>The contents of the collection all support <type>Layer</type>
+ returned by <type>XLayer</type>.
+ */
+ interface com::sun::star::drawing::XLayerManager;
+
+
+ // DocMerge from xml: service com::sun::star::drawing::LayerManager: interface com::sun::star::container::XNameAccess
+ /** gives access to the existing <type>Layer</type>s by name.
+
+ <p>The contents of the collection all support <type>Layer</type>
+ returned by <type>XLayer</type>.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LayerType.idl b/offapi/com/sun/star/drawing/LayerType.idl
new file mode 100644
index 000000000000..ee42aa7fc5da
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LayerType.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LayerType_idl__
+#define __com_sun_star_drawing_LayerType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::LayerType
+/** This enumeration specifies the type of a drawing layer.
+ */
+published enum LayerType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::LayerType::LAYOUT
+ /** This is the layer for all standard shapes.
+ */
+ LAYOUT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::LayerType::CONTROLSA
+ /** This is the layer for the controls.
+ */
+ CONTROLSA,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::LayerType::DIMENSIONIANG_LINES
+ /** This is the layer for all measure shapes.
+ */
+ DIMENSIONIANG_LINES,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::LayerType::USER_DEFINED
+ /** There can be zero or more layers of this type.
+ */
+ USER_DEFINED
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LineDash.idl b/offapi/com/sun/star/drawing/LineDash.idl
new file mode 100644
index 000000000000..3ffe6a0576cb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineDash.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineDash_idl__
+#define __com_sun_star_drawing_LineDash_idl__
+
+#ifndef __com_sun_star_drawing_DashStyle_idl__
+#include <com/sun/star/drawing/DashStyle.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::LineDash
+/** A <type>LineDash</type> defines a non-continuous line.
+ */
+published struct LineDash
+{
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::Style
+ /** This sets the style of this <type>LineDash</type>.
+ */
+ com::sun::star::drawing::DashStyle Style;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::Dots
+ /** This is the number of dots in this <type>LineDash</type>.
+ */
+ short Dots;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::DotLen
+ /** This is the length of a dot.
+ */
+ long DotLen;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::Dashes
+ /** This is the number of dashes.
+ */
+ short Dashes;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::DashLen
+ /** This is the length of a single dash.
+ */
+ long DashLen;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::drawing::LineDash::Distance
+ /** This is the distance between the dots.
+ */
+ long Distance;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LineEndType.idl b/offapi/com/sun/star/drawing/LineEndType.idl
new file mode 100644
index 000000000000..76041cbe1d7a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineEndType.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineEndType_idl__
+#define __com_sun_star_drawing_LineEndType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::LineEndType
+/** The <type>LineEndType</type> specifies the appearance of the bullet at the
+ end of a line.
+
+ @deprecated
+ */
+published enum LineEndType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineEndType:: NONE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineEndType::NONE
+ /** the line has no special end.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineEndType:: ARROW,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineEndType::ARROW
+ /** the line uses an arrow for the line end.
+ */
+ ARROW,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineEndType:: CIRCLE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineEndType::CIRCLE
+ /** the line uses a circle for the line end.
+ */
+ CIRCLE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineEndType:: SQUARE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineEndType::SQUARE
+ /** the line uses a square for the line end.
+ */
+ SQUARE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineEndType:: SPECIAL
+
+ // DocMerge from xml: value com::sun::star::drawing::LineEndType::SPECIAL
+ /** deprecated
+ */
+ SPECIAL
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LineJoint.idl b/offapi/com/sun/star/drawing/LineJoint.idl
new file mode 100644
index 000000000000..bc1620414736
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineJoint.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineJoint_idl__
+#define __com_sun_star_drawing_LineJoint_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::LineJoint
+/** The <type>LineJoint</type> defines rendering of joints between thick lines
+ */
+published enum LineJoint
+{
+
+ // DocMerge from xml: value com::sun::star::drawing::LineJoint::NONE
+ /** the joint between lines will not be connected
+ */
+ NONE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineJoint::MIDDLE
+ /** the middle value between the joints is used
+ */
+ MIDDLE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineJoint::BEVEL
+ /** the edges of the thick lines will be joined by lines
+ */
+ BEVEL,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineJoint::MITER
+ /** the lines join at intersections
+ */
+ MITER,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineJoint::ROUND
+ /** the lines join with an arc
+ */
+ ROUND
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/LineProperties.idl b/offapi/com/sun/star/drawing/LineProperties.idl
new file mode 100644
index 000000000000..87455cf45c3e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineProperties.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#define __com_sun_star_drawing_LineProperties_idl__
+
+#ifndef __com_sun_star_drawing_LineStyle_idl__
+#include <com/sun/star/drawing/LineStyle.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineDash_idl__
+#include <com/sun/star/drawing/LineDash.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineJoint_idl__
+#include <com/sun/star/drawing/LineJoint.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 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
+
diff --git a/offapi/com/sun/star/drawing/LineShape.idl b/offapi/com/sun/star/drawing/LineShape.idl
new file mode 100644
index 000000000000..8a98f94a6056
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineShape.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineShape_idl__
+#define __com_sun_star_drawing_LineShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a simple <type>Shape</type> 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
+
diff --git a/offapi/com/sun/star/drawing/LineStyle.idl b/offapi/com/sun/star/drawing/LineStyle.idl
new file mode 100644
index 000000000000..ed2a28b4ced5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/LineStyle.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_LineStyle_idl__
+#define __com_sun_star_drawing_LineStyle_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::LineStyle
+/** specifies the appearance of the lines of a
+ shape.
+ */
+published enum LineStyle
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineStyle:: NONE,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineStyle::NONE
+ /** the line is hidden.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineStyle:: SOLID,
+
+ // DocMerge from xml: value com::sun::star::drawing::LineStyle::SOLID
+ /** the line is solid.
+ */
+ SOLID,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR LineStyle:: DASH
+
+ // DocMerge from xml: value com::sun::star::drawing::LineStyle::DASH
+ /** the line use dashes.
+ */
+ DASH
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MarkerTable.idl b/offapi/com/sun/star/drawing/MarkerTable.idl
new file mode 100644
index 000000000000..0303c5573616
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MarkerTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MarkerTable_idl__
+#define __com_sun_star_drawing_MarkerTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** this is a container for <type>PointSequence</type>s
+
+ <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 <type>PointSequence</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/MasterPage.idl b/offapi/com/sun/star/drawing/MasterPage.idl
new file mode 100644
index 000000000000..a56fc6d219c4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPage.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MasterPage_idl__
+#define __com_sun_star_drawing_MasterPage_idl__
+
+#ifndef __com_sun_star_drawing_GenericDrawPage_idl__
+#include <com/sun/star/drawing/GenericDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::MasterPage
+/** This service is a single master page inside a drawing document.
+
+
+ <p>It serves as a background page for zero or more <type>DrawPage</type>s.
+ Since this service is derived from the service <type>GenericDrawPage</type>,
+ it can be used as a draw page with three differences:
+ </p>
+ <ol>
+ <li>It is not linked to any other <type>MasterPage</type>.
+ </li>
+ <li>It cannot be removed from a document as long as one or
+ more instances of <type>DrawPage</type> are linked to it.
+ </li>
+ <li>Modifications to a <type>MasterPage</type> are instantly visible on
+ every <type>DrawPage</type> that is linked to it.
+ </li>
+ </ol>
+ */
+published service MasterPage
+{
+
+
+ // DocMerge from xml: service com::sun::star::drawing::MasterPage: service com::sun::star::drawing::GenericDrawPage
+ /** This service describes the base functionality that every
+ draw/master page has.
+ */
+ service com::sun::star::drawing::GenericDrawPage;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MasterPages.idl b/offapi/com/sun/star/drawing/MasterPages.idl
new file mode 100644
index 000000000000..6c7ab4c8b9ce
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MasterPages.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MasterPages_idl__
+#define __com_sun_star_drawing_MasterPages_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** provides access to a container of <type>MasterPage</type>s
+ and makes it possible for them to be manipulated.
+
+ @see XMasterPagesSupplier
+ @see DrawingDocument
+ */
+published service MasterPages
+{
+ /** lets you access and create <type>MasterPage</type>s
+ */
+ interface com::sun::star::drawing::XDrawPages;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MeasureKind.idl b/offapi/com/sun/star/drawing/MeasureKind.idl
new file mode 100644
index 000000000000..baed2d178898
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureKind.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MeasureKind_idl__
+#define __com_sun_star_drawing_MeasureKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::MeasureKind
+/** determines whether a measured shape is a standard
+ measure or a radius measure.
+
+ @deprecated
+ */
+published enum MeasureKind
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureKind:: STANDARD,
+
+ // DocMerge from xml: value com::sun::star::drawing::MeasureKind::STANDARD
+ /** use the length measurement.
+ */
+ STANDARD,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureKind:: RADIUS
+
+ // DocMerge from xml: value com::sun::star::drawing::MeasureKind::RADIUS
+ /** use the radius measurement.
+ This option cannot be used from the GUI Interface.
+ */
+ RADIUS
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MeasureProperties.idl b/offapi/com/sun/star/drawing/MeasureProperties.idl
new file mode 100644
index 000000000000..ab02f5605e91
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureProperties.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MeasureProperties_idl__
+#define __com_sun_star_drawing_MeasureProperties_idl__
+
+#ifndef __com_sun_star_drawing_MeasureKind_idl__
+#include <com/sun/star/drawing/MeasureKind.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_MeasureTextHorzPos_idl__
+#include <com/sun/star/drawing/MeasureTextHorzPos.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_MeasureTextVertPos_idl__
+#include <com/sun/star/drawing/MeasureTextVertPos.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service describes a <type>MeasureShape</type>.
+ */
+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 <type>MeasureKind</type>.
+ */
+ [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
+
diff --git a/offapi/com/sun/star/drawing/MeasureShape.idl b/offapi/com/sun/star/drawing/MeasureShape.idl
new file mode 100644
index 000000000000..7422b2d51d79
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureShape.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MeasureShape_idl__
+#define __com_sun_star_drawing_MeasureShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_MeasureProperties_idl__
+#include <com/sun/star/drawing/MeasureProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl b/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl
new file mode 100644
index 000000000000..9a24a2583ea5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextHorzPos.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MeasureTextHorzPos_idl__
+#define __com_sun_star_drawing_MeasureTextHorzPos_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::MeasureTextHorzPos
+/** This enumeration defines the relative horizontal placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextHorzPos
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextHorzPos:: AUTO,
+
+ // DocMerge: empty anyway
+ AUTO,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextHorzPos:: LEFTOUTSIDE,
+
+ // DocMerge: empty anyway
+ LEFTOUTSIDE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextHorzPos:: INSIDE,
+
+ // DocMerge: empty anyway
+ INSIDE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextHorzPos:: RIGHTOUTSIDE
+
+ // DocMerge: empty anyway
+ RIGHTOUTSIDE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MeasureTextVertPos.idl b/offapi/com/sun/star/drawing/MeasureTextVertPos.idl
new file mode 100644
index 000000000000..d1b61991292f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MeasureTextVertPos.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MeasureTextVertPos_idl__
+#define __com_sun_star_drawing_MeasureTextVertPos_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::MeasureTextVertPos
+/** This enumeration defines the relative vertical placement of the text
+ inside a measure shape.
+ */
+published enum MeasureTextVertPos
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextVertPos:: AUTO,
+
+ // DocMerge: empty anyway
+ AUTO,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextVertPos:: EAST,
+
+ // DocMerge: empty anyway
+ EAST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextVertPos:: BREAKEDLINE,
+
+ // DocMerge: empty anyway
+ BREAKEDLINE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextVertPos:: WEST,
+
+ // DocMerge: empty anyway
+ WEST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR MeasureTextVertPos:: CENTERED
+
+ // DocMerge: empty anyway
+ CENTERED
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/MirrorAxis.idl b/offapi/com/sun/star/drawing/MirrorAxis.idl
new file mode 100644
index 000000000000..4324a37c3f2b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/MirrorAxis.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_MirrorAxis_idl__
+#define __com_sun_star_drawing_MirrorAxis_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::MirrorAxis
+/** defines an axis for simple mirroring.
+ */
+published enum MirrorAxis
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::MirrorAxis::VERTICAL
+ /** mirror to the vertical axis
+ */
+ VERTICAL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::MirrorAxis::HORIZONTAL
+ /** mirror to the horizontal axis
+ */
+ HORIZONTAL
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/NormalsKind.idl b/offapi/com/sun/star/drawing/NormalsKind.idl
new file mode 100644
index 000000000000..b9bb5f9cb056
--- /dev/null
+++ b/offapi/com/sun/star/drawing/NormalsKind.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_NormalsKind_idl__
+#define __com_sun_star_drawing_NormalsKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::NormalsKind
+/** specifies in which way the standard normals
+ for an object are produced.
+ */
+published enum NormalsKind
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::NormalsKind::SPECIFIC
+ /** does not produce standard normals, but leaves
+ the object-specific ones untouched.
+ */
+ SPECIFIC,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::NormalsKind::FLAT
+ /** forces one normal per flat part.
+ */
+ FLAT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::NormalsKind::SPHERE
+ /** forces normals to think that the object is a
+ sphere.
+ */
+ SPHERE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/OLE2Shape.idl b/offapi/com/sun/star/drawing/OLE2Shape.idl
new file mode 100644
index 000000000000..52eb671bdceb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OLE2Shape.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_OLE2Shape_idl__
+#define __com_sun_star_drawing_OLE2Shape_idl__
+
+#ifndef __com_sun_star_drawing_XShapeDescriptor_idl__
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/drawing/OpenBezierShape.idl b/offapi/com/sun/star/drawing/OpenBezierShape.idl
new file mode 100644
index 000000000000..d515efe70a43
--- /dev/null
+++ b/offapi/com/sun/star/drawing/OpenBezierShape.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_OpenBezierShape_idl__
+#define __com_sun_star_drawing_OpenBezierShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/PageShape.idl b/offapi/com/sun/star/drawing/PageShape.idl
new file mode 100644
index 000000000000..d3bf315b8ed8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PageShape.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PageShape_idl__
+#define __com_sun_star_drawing_PageShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::PageShape
+/** 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. Theyre also used in the handout page to preview
+ the printing position and order of pages
+ */
+published service PageShape
+{
+ // DocMerge: empty anyway
+ 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
+
diff --git a/offapi/com/sun/star/drawing/PluginShape.idl b/offapi/com/sun/star/drawing/PluginShape.idl
new file mode 100644
index 000000000000..aaa8b3493c7d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PluginShape.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PluginShape_idl__
+#define __com_sun_star_drawing_PluginShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/** This <type>Shape</type> 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 <type>PluginShape</type> 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 paramaters that are passed to the application
+ that renders the plugin when it is initialized.
+ */
+ [property] sequence< com::sun::star::beans::PropertyValue > PluginCommands;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PointSequence.idl b/offapi/com/sun/star/drawing/PointSequence.idl
new file mode 100644
index 000000000000..6d74d8ee3306
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequence.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PointSequence_idl__
+#define __com_sun_star_drawing_PointSequence_idl__
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<com::sun::star::awt::Point> PointSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PointSequenceSequence.idl b/offapi/com/sun/star/drawing/PointSequenceSequence.idl
new file mode 100644
index 000000000000..518751635173
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PointSequenceSequence.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#define __com_sun_star_drawing_PointSequenceSequence_idl__
+
+#ifndef __com_sun_star_drawing_PointSequence_idl__
+#include <com/sun/star/drawing/PointSequence.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<PointSequence> PointSequenceSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PolyLineShape.idl b/offapi/com/sun/star/drawing/PolyLineShape.idl
new file mode 100644
index 000000000000..c8ddb5a1e051
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyLineShape.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyLineShape_idl__
+#define __com_sun_star_drawing_PolyLineShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl
new file mode 100644
index 000000000000..bd671c1bbe5a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierCoords.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FlagSequenceSequence_idl__
+#include <com/sun/star/drawing/FlagSequenceSequence.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::PolyPolygonBezierCoords
+/** specifies the coordinates for a poly polygon bezier.
+ */
+published struct PolyPolygonBezierCoords
+{
+ // DocMerge: empty anyway
+ com::sun::star::drawing::PointSequenceSequence Coordinates;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolyPolygonBezierCoords::Flags
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::FlagSequenceSequence Flags;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl
new file mode 100644
index 000000000000..d498c4d2d4f8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierDescriptor.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+
+#ifndef __com_sun_star_drawing_PolygonKind_idl__
+#include <com/sun/star/drawing/PolygonKind.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl
new file mode 100644
index 000000000000..3ceabb8f129d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonBezierShape.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonBezierShape_idl__
+#define __com_sun_star_drawing_PolyPolygonBezierShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonBezierDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::PolyPolygonBezierShape
+/** This service specifies a polypolygon 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
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl
new file mode 100644
index 000000000000..3626fb0ae7fd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonDescriptor.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+#define __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+
+#ifndef __com_sun_star_drawing_PolygonKind_idl__
+#include <com/sun/star/drawing/PolygonKind.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service describes a polypolygon.
+ <p>A polypolygon 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
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape.idl b/offapi/com/sun/star/drawing/PolyPolygonShape.idl
new file mode 100644
index 000000000000..a72b00d8f1a8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonShape_idl__
+#define __com_sun_star_drawing_PolyPolygonShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PolyPolygonDescriptor_idl__
+#include <com/sun/star/drawing/PolyPolygonDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a polygon shape.
+ <p>A polypolygon 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
+
diff --git a/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
new file mode 100644
index 000000000000..721839255774
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolyPolygonShape3D.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolyPolygonShape3D_idl__
+#define __com_sun_star_drawing_PolyPolygonShape3D_idl__
+
+#ifndef __com_sun_star_drawing_DoubleSequenceSequence_idl__
+#include <com/sun/star/drawing/DoubleSequenceSequence.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::PolyPolygonShape3D
+/** specifies the coordinates of a 3-dimensional poly polygon.
+ */
+published struct PolyPolygonShape3D
+{
+ // DocMerge: empty anyway
+ com::sun::star::drawing::DoubleSequenceSequence SequenceX;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolyPolygonShape3D::SequenceY
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::DoubleSequenceSequence SequenceY;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolyPolygonShape3D::SequenceZ
+
+ // DocMerge: empty anyway
+ com::sun::star::drawing::DoubleSequenceSequence SequenceZ;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PolygonFlags.idl b/offapi/com/sun/star/drawing/PolygonFlags.idl
new file mode 100644
index 000000000000..2bb6d565398f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonFlags.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolygonFlags_idl__
+#define __com_sun_star_drawing_PolygonFlags_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::PolygonFlags
+/** defines how a bezier curve goes through a point.
+ */
+published enum PolygonFlags
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolygonFlags:: NORMAL,
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonFlags::NORMAL
+ /** the point is normal, from the curve discussion view.
+ */
+ NORMAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolygonFlags:: SMOOTH,
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonFlags::SMOOTH
+ /** the point is smooth, the first derivation from the curve discussion view.
+ */
+ SMOOTH,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolygonFlags:: CONTROL,
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonFlags::CONTROL
+ /** the point is a control point, to control the curve from the user interface.
+ */
+ CONTROL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR PolygonFlags:: SYMMETRIC
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonFlags::SYMMETRIC
+ /** the point is symmetric, the second derivation from the curve discussion view.
+ */
+ SYMMETRIC
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/PolygonKind.idl b/offapi/com/sun/star/drawing/PolygonKind.idl
new file mode 100644
index 000000000000..a260401f697d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/PolygonKind.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_PolygonKind_idl__
+#define __com_sun_star_drawing_PolygonKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::PolygonKind
+/** This enumeration defines the type of polygon.
+ */
+published enum PolygonKind
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::LINE
+ /** This is the PolygonKind for a LineShape.
+ */
+ LINE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::POLY
+ /** This is the PolygonKind for a PolyPolygonShape.
+ */
+ POLY,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::PLIN
+ /** This is the PolygonKind for a PolyLineShape.
+ */
+ PLIN,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::PATHLINE
+ /** This is the PolygonKind for an OpenBezierShape.
+ */
+ PATHLINE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::PATHFILL
+ /** This is the PolygonKind for a ClosedBezierShape.
+ */
+ PATHFILL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::FREELINE
+ /** This is the PolygonKind for an OpenFreeHandShape.
+ */
+ FREELINE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::FREEFILL
+ /** This is the PolygonKind for a ClosedFreeHandShape.
+ */
+ FREEFILL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::PATHPOLY
+ /** This is the PolygonKind for a PolyPolygonPathShape.
+ */
+ PATHPOLY,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::PolygonKind::PATHPLIN
+ /** This is the PolygonKind for a PolyLinePathShape.
+ */
+ PATHPLIN
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Position3D.idl b/offapi/com/sun/star/drawing/Position3D.idl
new file mode 100644
index 000000000000..658cca3f4b76
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Position3D.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Position3D_idl__
+#define __com_sun_star_drawing_Position3D_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::drawing::Position3D
+/** specifies a 3-dimensional point.
+ */
+published struct Position3D
+{
+ // DocMerge from xml: field com::sun::star::drawing::Position3D::PositionX
+ /** the position on the X-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionX;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Position3D::PositionY
+
+ // DocMerge from xml: field com::sun::star::drawing::Position3D::PositionY
+ /** the position on the Y-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionY;
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR Position3D::PositionZ
+
+ // DocMerge from xml: field com::sun::star::drawing::Position3D::PositionZ
+ /** the position on the Z-Axis in the 3D room in 100th of millimeters
+ */
+ double PositionZ;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ProjectionMode.idl b/offapi/com/sun/star/drawing/ProjectionMode.idl
new file mode 100644
index 000000000000..7af863757daa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ProjectionMode.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ProjectionMode_idl__
+#define __com_sun_star_drawing_ProjectionMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::ProjectionMode
+/** defines whether the 3D objects are to be
+ drawn in perspective or parallel projection.
+ */
+published enum ProjectionMode
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR ProjectionMode:: PARALLEL,
+
+ // DocMerge from xml: value com::sun::star::drawing::ProjectionMode::PARALLEL
+ /** the 3D objects are drawn in the parallel projection.
+ */
+ PARALLEL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR ProjectionMode:: PERSPECTIVE
+
+ // DocMerge from xml: value com::sun::star::drawing::ProjectionMode::PERSPECTIVE
+ /** the 3D objects are drawn in the perspective projection.
+ */
+ PERSPECTIVE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/RectanglePoint.idl b/offapi/com/sun/star/drawing/RectanglePoint.idl
new file mode 100644
index 000000000000..db1d5ed16f6a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectanglePoint.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_RectanglePoint_idl__
+#define __com_sun_star_drawing_RectanglePoint_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::RectanglePoint
+/** specifies one of nine points in a rectangle.
+ */
+published enum RectanglePoint
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: LEFT_TOP,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::LEFT_TOP
+ /** specify to the point on the left side from the top of the rectangle.
+ */
+ LEFT_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: MIDDLE_TOP,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::MIDDLE_TOP
+ /** specify to the point on the middle of the top from the rectangle.
+ */
+ MIDDLE_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: RIGHT_TOP,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::RIGHT_TOP
+ /** specify to the point on the right side from the top of the rectangle.
+ */
+ RIGHT_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: LEFT_MIDDLE,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::LEFT_MIDDLE
+ /** specify to the point on the middle of the left side from the rectangle.
+ */
+ LEFT_MIDDLE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: MIDDLE_MIDDLE,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::MIDDLE_MIDDLE
+ /** specify to the point on the center from the rectangle.
+ */
+ MIDDLE_MIDDLE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: RIGHT_MIDDLE,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::RIGHT_MIDDLE
+ /** specify to the point on the middle of the right side from the rectangle.
+ */
+ RIGHT_MIDDLE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: LEFT_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::LEFT_BOTTOM
+ /** specify to the point on the bottom of the left side from the rectangle.
+ */
+ LEFT_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: MIDDLE_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::MIDDLE_BOTTOM
+ /** specify to the point on the middle of the bottom from the rectangle.
+ */
+ MIDDLE_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RectanglePoint:: RIGHT_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::drawing::RectanglePoint::RIGHT_BOTTOM
+ /** specify to the point on the bottom of the right side from the rectangle.
+ */
+ RIGHT_BOTTOM
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/RectangleShape.idl b/offapi/com/sun/star/drawing/RectangleShape.idl
new file mode 100644
index 000000000000..173df05c8c47
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RectangleShape.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_RectangleShape_idl__
+#define __com_sun_star_drawing_RectangleShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This service is for a rectangle <type>Shape</type>.
+ */
+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 <type>Shape</type>s with rounded corners, this is the radius
+ of the corners.
+ */
+ [property] long CornerRadius;
+ };
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/RotationDescriptor.idl b/offapi/com/sun/star/drawing/RotationDescriptor.idl
new file mode 100644
index 000000000000..dd7c1d9c38b7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/RotationDescriptor.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>Shape</type>.
+
+ This service is depricated, instead please use the <code>Transformation</code>
+ property of the service <type>Shape</type>.
+
+ @deprecated
+ */
+published service RotationDescriptor
+{
+ //-------------------------------------------------------------------------
+
+ /** This is the angle for rotation of this <type>Shape</type>.
+ 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 <type>Shape</type> instead.
+ @deprecated
+ */
+ [property] long RotateAngle;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the amount of shearing for this <type>Shape</type>.
+ The shape is sheared counter-clockwise around the center
+ of the bounding box
+
+ @deprecated
+ */
+ [optional, property] long ShearAngle;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ShadeMode.idl b/offapi/com/sun/star/drawing/ShadeMode.idl
new file mode 100644
index 000000000000..e91154b6108c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadeMode.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ShadeMode_idl__
+#define __com_sun_star_drawing_ShadeMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::ShadeMode
+/** The <type>ShadeMode</type> determines the quality of displaying the object.
+ */
+published enum ShadeMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ShadeMode::FLAT
+ /** With <const>FLAT</const> shading, the faces of the object are
+ rendered in a solid color.
+ */
+ FLAT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::ShadeMode::PHONG
+ /** With <const>PHONG</const> shading, the normal itself is interpolated
+ to get more realistic colors and light reflections.
+ */
+ PHONG,
+
+ //-------------------------------------------------------------------------
+
+ /** With <const>SMOOTH</const> shading, the colors of the lit vertiecs is
+ interpolated.
+ */
+ SMOOTH,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge: empty anyway
+ /** <const>DRAFT</const> is a special mode which uses a BSP tree and
+ triangle subdivision for displaying.
+ */
+ DRAFT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ShadowProperties.idl b/offapi/com/sun/star/drawing/ShadowProperties.idl
new file mode 100644
index 000000000000..9ecb450b0a2e
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShadowProperties.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#define __com_sun_star_drawing_ShadowProperties_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>Shape</type>.
+ <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 <type>Shape</type>.
+ */
+ [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
+ <type>Shape</type> to the shadow.
+ */
+ [property] long ShadowXDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the vertical distance of the top edge of the
+ <type>Shape</type> to the shadow.
+ */
+ [property] long ShadowYDistance;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl
new file mode 100644
index 000000000000..3bf1c6fa15cc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shape.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Shape_idl__
+#define __com_sun_star_drawing_Shape_idl__
+
+#ifndef __com_sun_star_document_LinkTarget_idl__
+#include <com/sun/star/document/LinkTarget.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_style_XStyle_idl__
+#include <com/sun/star/style/XStyle.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_HomogenMatrix3_idl__
+#include <com/sun/star/drawing/HomogenMatrix3.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XGluePointsSupplier_idl__
+#include <com/sun/star/drawing/XGluePointsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This abstract service specifies the general characteristics of all
+ <type>Shape</type>s.
+
+ @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 <type>Shape</type>
+ and lets you change it. You can use <member>getShapeType</member>
+ to determine what kind of shape this is.
+ */
+ interface com::sun::star::drawing::XShape;
+
+ //-------------------------------------------------------------------------
+
+ /** is used for lifetime control of this <type>Shape</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+
+ /** The <type>XShapeDescriptor</type> tells you what kind of
+ <type>Shape</type> this instance is.
+ */
+ interface com::sun::star::drawing::XShapeDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ /** This interfaces gives access to an optional container of glue points.
+ To have unique ids you should query the returned interface for
+ <type scope="com::sun::star::container">XIdentifierContainer</type>.
+ */
+ [optional] interface com::sun::star::drawing::XGluePointsSupplier;
+
+ //-------------------------------------------------------------------------
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ /** is used to query or change the ZOrder of this <type>Shape</type>. */
+ [optional, property] long ZOrder;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the ID of the <type>Layer</type> to which this
+ <type>Shape</type> is attached.
+ */
+ [optional, property] short LayerID;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the name of the <type>Layer</type> to which this
+ <type>Shape</type> is attached.
+ */
+ [optional, property] string LayerName;
+
+ //-------------------------------------------------------------------------
+
+ /** If this is <FALSE/>, the <type>Shape</type> is not visible
+ on screen outputs. Please note that the <type>Shape</type> may still
+ be visible when printed, see <member>Printable</member>.
+ */
+ [optional, property] boolean Visible;
+
+ //-------------------------------------------------------------------------
+
+ /** If this is <FALSE/>, the <type>Shape</type> is not visible
+ on printer outputs.
+ */
+ [optional, property] boolean Printable;
+
+ //-------------------------------------------------------------------------
+
+ /** With this set to <TRUE/>, this <type>Shape</type>
+ cannot be moved interactively in the user interface.
+ */
+ [optional, property] boolean MoveProtect;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the name of this <type>Shape</type>.
+ */
+ [optional, property] string Name;
+
+ //-------------------------------------------------------------------------
+
+ /** With this set to <TRUE/>, this <type>Shape</type> 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 homogen 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/ShapeCollection.idl b/offapi/com/sun/star/drawing/ShapeCollection.idl
new file mode 100644
index 000000000000..df633e334cb2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/ShapeCollection.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_ShapeCollection_idl__
+#define __com_sun_star_drawing_ShapeCollection_idl__
+
+#ifndef __com_sun_star_drawing_Shapes_idl__
+#include <com/sun/star/drawing/Shapes.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module drawing {
+
+//=============================================================================
+/** This service describes a generic container to manage collections of
+ <type>Shape</type>. The <type>Shape</type> 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
+ <type>Shape</type> that are selected at the ui.
+*/
+published service ShapeCollection
+{
+ /** gives access to the shapes
+ */
+ interface com::sun::star::drawing::XShapes;
+
+ /** allows controlling or observing the lifetime of this collection
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Shapes.idl b/offapi/com/sun/star/drawing/Shapes.idl
new file mode 100644
index 000000000000..e6c1663df2e0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Shapes.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Shapes_idl__
+#define __com_sun_star_drawing_Shapes_idl__
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::drawing::Shapes
+/** This service is for a generic collection of shapes.
+ */
+published service Shapes
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::drawing::XShapes;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/SlideRenderer.idl b/offapi/com/sun/star/drawing/SlideRenderer.idl
new file mode 100644
index 000000000000..7607829ed338
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideRenderer.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_SlideRenderer_idl__
+#define __com_sun_star_drawing_SlideRenderer_idl__
+
+#ifndef __com_sun_star_drawing_XSlideRenderer_idl__
+#include <com/sun/star/drawing/XSlideRenderer.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/drawing/SlideSorter.idl b/offapi/com/sun/star/drawing/SlideSorter.idl
new file mode 100644
index 000000000000..b5af6a596a04
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SlideSorter.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_SlideSorter_idl__
+#define __com_sun_star_drawing_SlideSorter_idl__
+
+#ifndef __com_sun_star_drawing_framework_XView_idl__
+#include <com/sun/star/drawing/framework/XView.idl>
+#endif
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+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 <type>SlideSorter</type> service.</p>
+*/
+interface XSlideSorterBase
+{
+ /** This interface is included to mark a <type>SlideSorter</type> object
+ as view of the drawing framework and to provide a
+ <type>ResourceId</type>.
+ */
+ interface ::com::sun::star::drawing::framework::XView;
+
+ /** The <type>XDrawView</type> 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;
+};
+
+
+
+
+/** 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
diff --git a/offapi/com/sun/star/drawing/SnapObjectType.idl b/offapi/com/sun/star/drawing/SnapObjectType.idl
new file mode 100644
index 000000000000..cb9b984d92d9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/SnapObjectType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_SnapObjectType_idl__
+#define __com_sun_star_drawing_SnapObjectType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::SnapObjectType
+/** @deprecated
+ */
+published enum SnapObjectType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR SnapObjectType:: POINT,
+
+ // DocMerge: empty anyway
+ POINT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR SnapObjectType:: VERTICAL,
+
+ // DocMerge: empty anyway
+ VERTICAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR SnapObjectType:: HORIZONTAL
+
+ // DocMerge: empty anyway
+ HORIZONTAL
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/Text.idl b/offapi/com/sun/star/drawing/Text.idl
new file mode 100644
index 000000000000..cb9b0c182afd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/Text.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_Text_idl__
+#define __com_sun_star_drawing_Text_idl__
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextProperties_idl__
+#include <com/sun/star/drawing/TextProperties.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This abstract service specifies the general characteristics of an optional
+ text inside a <type>Shape</type>.
+ */
+published service Text
+{
+ /** With this interface you can modify the text of this
+ <type>Shape<type>.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/drawing/TextAdjust.idl b/offapi/com/sun/star/drawing/TextAdjust.idl
new file mode 100644
index 000000000000..9b0e63572503
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAdjust.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextAdjust_idl__
+#define __com_sun_star_drawing_TextAdjust_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextAdjust
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::LEFT
+ /** The left edge of the text is adjusted to the left edge of the shape.
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::CENTER
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::RIGHT
+ /** The right edge of the text is adjusted to the right edge of the shape.
+ */
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::BLOCK
+ /** The text extends from the left to the right edge of the shape.
+ */
+ BLOCK,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::STRETCH
+ /** The text is stretched so that the longest line goes from the left
+ to the right edge of the shape.
+ */
+ STRETCH
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextAnimationDirection.idl b/offapi/com/sun/star/drawing/TextAnimationDirection.idl
new file mode 100644
index 000000000000..a0d172f2fd99
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationDirection.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextAnimationDirection_idl__
+#define __com_sun_star_drawing_TextAnimationDirection_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextAnimationDirection
+/** This enumeration defines the movement direction of a scrolltext.
+ */
+published enum TextAnimationDirection
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR TextAnimationDirection:: LEFT,
+
+ // DocMerge: empty anyway
+ LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR TextAnimationDirection:: RIGHT,
+
+ // DocMerge: empty anyway
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR TextAnimationDirection:: UP,
+
+ // DocMerge: empty anyway
+ UP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR TextAnimationDirection:: DOWN
+
+ // DocMerge: empty anyway
+ DOWN
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextAnimationKind.idl b/offapi/com/sun/star/drawing/TextAnimationKind.idl
new file mode 100644
index 000000000000..fa2a12f2e596
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextAnimationKind.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextAnimationKind_idl__
+#define __com_sun_star_drawing_TextAnimationKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextAnimationKind
+/** This enumeration specifies the type of animation for a text.
+ */
+published enum TextAnimationKind
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAnimationKind::NONE
+ /** Don't animate this text.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAnimationKind::BLINK
+ /** Let this text switch its state from visibile to nonvisible continuously.
+ */
+ BLINK,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAnimationKind::SCROLL
+ /** Let this text scroll.
+ */
+ SCROLL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAnimationKind::ALTERNATE
+ /** Scroll the text from one side to the other and back.
+ */
+ ALTERNATE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAnimationKind::SLIDE
+ /** Scroll the text from one side to the final position and stop there.
+ */
+ SLIDE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextFitToSizeType.idl b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
new file mode 100644
index 000000000000..39b92eeb9bbb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextFitToSizeType_idl__
+#define __com_sun_star_drawing_TextFitToSizeType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextFitToSizeType
+/** 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,
+
+ //-------------------------------------------------------------------------
+
+ /** if the shape is scaled, the text character size is scaled proportional
+ */
+ PROPORTIONAL,
+
+ //-------------------------------------------------------------------------
+
+ /** like <code>PROPORTIONAL</code>, but the width of each text row is
+ also scaled proportional.
+ */
+ ALLLINES,
+
+ //-------------------------------------------------------------------------
+
+ /** if the shape is scaled, the font attributes are scaled and hard set
+ on the text */
+ RESIZEATTR
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl b/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl
new file mode 100644
index 000000000000..bab5f3313ef8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextHorizontalAdjust.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/drawing/TextProperties.idl b/offapi/com/sun/star/drawing/TextProperties.idl
new file mode 100644
index 000000000000..aaf7dc5e4be7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextProperties.idl
@@ -0,0 +1,334 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextProperties_idl__
+#define __com_sun_star_drawing_TextProperties_idl__
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextFitToSizeType_idl__
+#include <com/sun/star/drawing/TextFitToSizeType.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextAdjust_idl__
+#include <com/sun/star/drawing/TextAdjust.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextAnimationDirection_idl__
+#include <com/sun/star/drawing/TextAnimationDirection.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextAnimationKind_idl__
+#include <com/sun/star/drawing/TextAnimationKind.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextVerticalAdjust_idl__
+#include <com/sun/star/drawing/TextVerticalAdjust.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextHorizontalAdjust_idl__
+#include <com/sun/star/drawing/TextHorizontalAdjust.idl>
+#endif
+
+#ifndef __com_sun_star_text_WritingMode_idl__
+#include <com/sun/star/text/WritingMode.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>Shape</type>.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+ //-------------------------------------------------------------------------
+
+ /** The properties in this service set default formats for asian text
+ inside the <type>Shape</type>.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesAsian;
+
+ //-------------------------------------------------------------------------
+
+ /** The properties in this service set default formats for complex text
+ inside the <type>Shape</type>.
+ */
+ [optional] service com::sun::star::style::CharacterPropertiesComplex;
+
+ //-------------------------------------------------------------------------
+
+ /** The properties in this service set default formats for text
+ inside the <type>Shape</type>.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+ //-------------------------------------------------------------------------
+
+ /** The properties in this service set default formats for asian text
+ inside the <type>Shape</type>.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+ //-------------------------------------------------------------------------
+
+ /** The properties in this service set default formats for complex text
+ inside the <type>Shape</type>.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+ //-------------------------------------------------------------------------
+
+ /** If this is <TRUE/>, numbering is ON for the text of
+ this <type>Shape</type>.
+ */
+ [optional, property] boolean IsNumbering;
+
+ //-------------------------------------------------------------------------
+
+ /** describes the numbering levels.
+ <p>The different rules accessible with this
+ <type scope="com::sun::star::container">XIndexReplace</type> interface
+ are sequences of property values as described in the service
+ <type scope="com::sun::star::style">NumberingRule</type>.</p>
+ */
+ [optional, property] com::sun::star::container::XIndexReplace NumberingRules;
+
+ //-------------------------------------------------------------------------
+
+ /** If this value is <TRUE/>, the height of the <type>Shape</type> is
+ automatically expanded/shrunk when text is added to or removed from
+ the <type>Shape</type>.
+ */
+ [property] boolean TextAutoGrowHeight;
+
+ //-------------------------------------------------------------------------
+
+ /** If this value is <TRUE/>, the width of the <type>Shape</type> is
+ automatically expanded/shrunk when text is added to or removed from
+ the <type>Shape</type>.
+ */
+ [property] boolean TextAutoGrowWidth;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::drawing::Text::TextContourFrame
+ /** If this value is <TRUE/>, the left edge of every line of text is
+ aligned with the left edge of this <type>Shape</type>.
+ */
+ [property] boolean TextContourFrame;
+
+ //-------------------------------------------------------------------------
+
+ /** With this set to <TRUE/>, the text inside of the <type>Shape</type>
+ is stretched to fit into the <type>Shape</type>.
+ */
+ [property] com::sun::star::drawing::TextFitToSizeType TextFitToSize;
+
+ //-------------------------------------------------------------------------
+
+ /** adjusts the horizontal position of the text inside of
+ the <type>Shape</type>.
+ */
+ [property] com::sun::star::drawing::TextHorizontalAdjust TextHorizontalAdjust;
+
+ //-------------------------------------------------------------------------
+
+ /** adjusts the vertical position of the text inside of
+ the <type>Shape</type>.
+ */
+ [property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the distance from the left edge of the <type>Shape</type>
+ to the left edge of the text.
+ <p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
+ <const>BLOCK</const> or <const>STRETCH</const> or if
+ <member>Text::TextFitSize</member> is <TRUE/>.</p>
+ */
+ [property] long TextLeftDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the distance from the right edge of the <type>Shape</type>
+ to the right edge of the text.
+
+ <p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
+ <const>BLOCK</const> or <const>STRETCH</const>
+ or if <member>Text::TextFitSize</member> is <TRUE/>.</p>
+ */
+ [property] long TextRightDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the distance from the upper edge of the <type>Shape</type> to
+ the upper edge of the text.
+
+ <p>This is only useful if <member>Text::TextVerticalAdjust</member> is
+ <const>BLOCK</const> or if <member>Text::TextFitSize</member> is
+ <TRUE/>.</p>
+ */
+ [property] long TextUpperDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the distance from the lower edge of the <type>Shape</type> to the
+ lower edge of the text.
+
+
+
+ <p>This is only useful if <member>Text::TextVerticalAdjust</member> is
+ <const>BLOCK</const> or if <member>Text::TextFitSize</member> 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 heigher 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextShape.idl b/offapi/com/sun/star/drawing/TextShape.idl
new file mode 100644
index 000000000000..e1b8d23fbd1d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextShape.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#define __com_sun_star_drawing_TextShape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Text_idl__
+#include <com/sun/star/drawing/Text.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_FillProperties_idl__
+#include <com/sun/star/drawing/FillProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineProperties_idl__
+#include <com/sun/star/drawing/LineProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ShadowProperties_idl__
+#include <com/sun/star/drawing/ShadowProperties.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_RotationDescriptor_idl__
+#include <com/sun/star/drawing/RotationDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/TextVerticalAdjust.idl b/offapi/com/sun/star/drawing/TextVerticalAdjust.idl
new file mode 100644
index 000000000000..ea22b4430324
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextVerticalAdjust.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::LEFT
+ /** The top edge of the text is adjusted to the top edge of the shape.
+ */
+ TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::CENTER
+ /** The text is centered inside the shape.
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextAdjust::RIGHT
+ /** 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
+
diff --git a/offapi/com/sun/star/drawing/TextureKind.idl b/offapi/com/sun/star/drawing/TextureKind.idl
new file mode 100644
index 000000000000..963ba7e580ae
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextureKind_idl__
+#define __com_sun_star_drawing_TextureKind_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextureKind
+/** These enumeration values specify how the texture is applied.
+ @deprecated
+ */
+published enum TextureKind
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureKind::LUMINANCE
+ /** With <type>TextureKind</type> <const>LUMINANCE</const>, the texture
+ and the lighting information are mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureKind::COLOR
+ /** With this mode the lighting is ignored and only the
+ texture color information is used.
+ */
+ COLOR
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextureKind2.idl b/offapi/com/sun/star/drawing/TextureKind2.idl
new file mode 100644
index 000000000000..f419f95e2b13
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureKind2.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>TextureKind</type> <const>LUMINANCE</const>, the texture
+ and the lighting information are mixed to produce the image, so a
+ lit, textured object is achieved.
+ */
+ LUMINANCE,
+
+ /** With <type>TextureKind</type> <const>INTENSITY</const>, 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
+
diff --git a/offapi/com/sun/star/drawing/TextureMode.idl b/offapi/com/sun/star/drawing/TextureMode.idl
new file mode 100644
index 000000000000..def9d015af28
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureMode.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextureMode_idl__
+#define __com_sun_star_drawing_TextureMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextureMode
+/** The <type>TextureMode</type> defines in which way the texture color data
+ replaces the object color data.
+ */
+published enum TextureMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureMode::REPLACE
+ /** This is the standard mode.
+ */
+ REPLACE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureMode::MODULATE
+ /** This mixes up colors in a way defined by the texture bitmap.
+ */
+ MODULATE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureMode::BLEND
+ /** This mixes both data sources in a fixed ratio.
+ */
+ BLEND
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TextureProjectionMode.idl b/offapi/com/sun/star/drawing/TextureProjectionMode.idl
new file mode 100644
index 000000000000..aaede2a89872
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TextureProjectionMode.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TextureProjectionMode_idl__
+#define __com_sun_star_drawing_TextureProjectionMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::TextureProjectionMode
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureProjectionMode::OBJECTSPECIFIC
+ /** This value specifies that the standard object projection method is
+ used.
+ */
+ OBJECTSPECIFIC,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureProjectionMode::PARALLEL
+ /** This value specifies a flat parallel projection in the specified
+ degree of freedom (X or Y).
+ */
+ PARALLEL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::TextureProjectionMode::SPHERE
+ /** This value forces projection to wrapping in X and/or Y.
+ */
+ SPHERE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/TransparencyGradientTable.idl b/offapi/com/sun/star/drawing/TransparencyGradientTable.idl
new file mode 100644
index 000000000000..1e91a5b40cd7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/TransparencyGradientTable.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_TransparencyGradientTable_idl__
+#define __com_sun_star_drawing_TransparencyGradientTable_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** this is a container for <type scope="com::sun::star::awt">Gradient</type>s
+
+ <p>It is used for example to access the <type scope="com::sun::star::awt">Gradient</type>s 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 <typeu scope="com::sun::star::awt">Gradient</type>s 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
+
diff --git a/offapi/com/sun/star/drawing/VerticalDimensioning.idl b/offapi/com/sun/star/drawing/VerticalDimensioning.idl
new file mode 100644
index 000000000000..d6e43834a5ee
--- /dev/null
+++ b/offapi/com/sun/star/drawing/VerticalDimensioning.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_VerticalDimensioning_idl__
+#define __com_sun_star_drawing_VerticalDimensioning_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::drawing::VerticalDimensioning
+/** specifies the vertical position of
+ the text of a dimensioning shape.
+ */
+published enum VerticalDimensioning
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::VerticalDimensioning::AUTO
+ /** Set this to have the application select the best horizontal
+ position for the text.
+ */
+ AUTO,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::VerticalDimensioning::TOP
+ /** The text is positioned above the main line.
+ */
+ TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::VerticalDimensioning::CENTERED
+ /** The text is positioned over the main line.
+ */
+ CENTERED,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::drawing::VerticalDimensioning::BOTTOM
+ /** The text is positioned below the main line.
+ */
+ BOTTOM
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XConnectableShape.idl b/offapi/com/sun/star/drawing/XConnectableShape.idl
new file mode 100644
index 000000000000..12132d75c7fa
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectableShape.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XConnectableShape_idl__
+#define __com_sun_star_drawing_XConnectableShape_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** @deprecated
+*/
+published interface XConnectableShape: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XConnectableShape::canConnect
+
+ // DocMerge: empty anyway
+ boolean canConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XConnectableShape::doConnect
+
+ // DocMerge: empty anyway
+ boolean doConnect( [in] com::sun::star::awt::Point nPos,
+ [in] boolean bCreateGluePoint,
+ [in] long nMaxDist );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XConnectorShape.idl b/offapi/com/sun/star/drawing/XConnectorShape.idl
new file mode 100644
index 000000000000..2cc777ebc2f4
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XConnectorShape.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XConnectorShape_idl__
+#define __com_sun_star_drawing_XConnectorShape_idl__
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XConnectableShape_idl__
+#include <com/sun/star/drawing/XConnectableShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_ConnectionType_idl__
+#include <com/sun/star/drawing/ConnectionType.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** @deprecated
+ */
+published interface XConnectorShape: com::sun::star::drawing::XShape
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XConnectorShape::connectStart
+ /** connects the start of this instance
+ */
+ void connectStart( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XConnectorShape::connectEnd
+ /** connects the end of this instance.
+ */
+ void connectEnd( [in] com::sun::star::drawing::XConnectableShape xShape,
+ [in] com::sun::star::drawing::ConnectionType nPos );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XConnectorShape::disconnectBegin
+ /** disconnects the given <type>Shape</type> from the start of
+ this instance.
+ */
+ void disconnectBegin( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XConnectorShape::disconnectEnd
+ /** disconnects the given <type>Shape</type> from the end of
+ this instance.
+ */
+ void disconnectEnd( [in] com::sun::star::drawing::XConnectableShape xShape );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XControlShape.idl b/offapi/com/sun/star/drawing/XControlShape.idl
new file mode 100644
index 000000000000..2607f082b3d7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XControlShape.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XControlShape_idl__
+#define __com_sun_star_drawing_XControlShape_idl__
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** is implemented by a <type>ControlShape</type> 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 <type>Shape</type>.
+
+ @return
+ if there is already a control model assigned
+ to this <type>ControlShape</type>, than its returned.
+ Otherwise you get an empty reference.
+ */
+ com::sun::star::awt::XControlModel getControl();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the control model for this <type>Shape</type>.
+
+ @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 <type>ControlShape</type>
+
+ */
+ [oneway] void setControl( [in] com::sun::star::awt::XControlModel xControl );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XCustomShapeEngine.idl b/offapi/com/sun/star/drawing/XCustomShapeEngine.idl
new file mode 100644
index 000000000000..4bc2aa287066
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeEngine.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XCustomShapeEngine_idl__
+#define __com_sun_star_drawing_XCustomShapeEngine_idl__
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_drawing_PolyPolygonBezierCoords_idl__
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+#ifndef __com_sun_star_drawing_XCustomShapeHandle_idl__
+#include <com/sun/star/drawing/XCustomShapeHandle.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** The XCustomShapeEngine
+ */
+interface XCustomShapeEngine: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ @returns
+ a 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
+
diff --git a/offapi/com/sun/star/drawing/XCustomShapeHandle.idl b/offapi/com/sun/star/drawing/XCustomShapeHandle.idl
new file mode 100644
index 000000000000..45861c445cbd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XCustomShapeHandle.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XCustomShapeHandle_idl__
+#define __com_sun_star_drawing_XCustomShapeHandle_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** The XCustomShapeHandle
+ */
+interface XCustomShapeHandle: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** is getting the actual handle position
+
+ @returns
+ a the actual handle position
+ */
+ com::sun::star::awt::Point getPosition();
+
+ /** is setting a new positon for the handle
+ */
+ void setControllerPosition( [in] com::sun::star::awt::Point aPoint );
+
+ };
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPage.idl b/offapi/com/sun/star/drawing/XDrawPage.idl
new file mode 100644
index 000000000000..93ec75f7ea5f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPage.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#define __com_sun_star_drawing_XDrawPage_idl__
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** identifies an <type>XShapes</type> as a <type>DrawPage</type>.
+ */
+published interface XDrawPage: com::sun::star::drawing::XShapes
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl b/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl
new file mode 100644
index 000000000000..515d83ac9bc2
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageDuplicator.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPageDuplicator_idl__
+#define __com_sun_star_drawing_XDrawPageDuplicator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>DrawPage</type> or <type>MasterPage</type>,
+ including the <type>Shape</type>s on that page and inserts it into the
+ same model.
+
+ @param xPage
+ that is the source <type>DrawPage</type> or <type>MasterPage</type>
+ that will be duplicated
+
+ @return
+ a newly created <type>DrawPage</type> or <type>MasterPage</type>
+ that as all properties and copies of all <type>Shape</type>s from
+ the source page.
+ */
+ com::sun::star::drawing::XDrawPage duplicate( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPageExpander.idl b/offapi/com/sun/star/drawing/XDrawPageExpander.idl
new file mode 100644
index 000000000000..306379ea9a3b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageExpander.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPageExpander_idl__
+#define __com_sun_star_drawing_XDrawPageExpander_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** is implemented by documents that can expand the contents
+ of a summary on a <type>DrawPage</type> into a collection of
+ <type>DrawPage</type>s.
+
+ @see XDrawPageSummarizer
+
+ @deprecated
+ */
+published interface XDrawPageExpander: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** creates a collection of <type>DrawPage</type>s from the
+ summary inside the given <type>DrawPage</type> and adds
+ them to the same model as the source <type>DrawPage</type>.
+ */
+ com::sun::star::drawing::XDrawPages expand( [in] com::sun::star::drawing::XDrawPage xPage );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl b/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl
new file mode 100644
index 000000000000..780a484d0783
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSummarizer.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPageSummarizer_idl__
+#define __com_sun_star_drawing_XDrawPageSummarizer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::drawing::XDrawPageSummarizer
+/** is implemented by documents that can create summaries
+ of their <type>DrawPage</type>s.
+
+ @deprecated
+ */
+published interface XDrawPageSummarizer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XDrawPageSummarizer::summarize
+ /** creates a new <type>DrawPage</type> with a summary of all
+ <type>DrawPage</type>s in the given collection.
+ */
+ com::sun::star::drawing::XDrawPage summarize( [in] com::sun::star::drawing::XDrawPages xPages );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPageSupplier.idl b/offapi/com/sun/star/drawing/XDrawPageSupplier.idl
new file mode 100644
index 000000000000..6804c0411271
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPageSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPageSupplier_idl__
+#define __com_sun_star_drawing_XDrawPageSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::drawing::XDrawPageSupplier
+/** represents something that provides a <type>DrawPage</type>.
+
+ <p>This interface is provided if the container only supports exactly
+ one <type>DrawPage</type>. For containers which support multiple
+ <type>DrawPage</type>s interface <type>XDrawPagesSupplier</type> is
+ supported.</p>
+
+ @deprecated
+ */
+published interface XDrawPageSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XDrawPageSupplier::getDrawPage
+ /** returns the <type>DrawPage</type>.
+ */
+ com::sun::star::drawing::XDrawPage getDrawPage();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawPages.idl b/offapi/com/sun/star/drawing/XDrawPages.idl
new file mode 100644
index 000000000000..f913259ed29b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPages.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#define __com_sun_star_drawing_XDrawPages_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** gives access to a container of <type>DrawPage</type>s or <type>MasterPage</type>s.
+
+ <p>The pages are stored in an index container. The order is determined by
+ the index.
+
+ You usualy get this interface if you use the
+ <type>XDrawPagesSupplier</type> or the <type>XMasterPagesSupplier</type>
+ at a model that contains <type>DrawPage</type>s or <type>MasterPage</type>s
+*/
+published interface XDrawPages: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** creates and inserts a new <type>DrawPage</type> or <type>MasterPage</type>
+ into this container
+
+ @param nIndex
+ the index at which the newly created <type>DrawPage</type> or
+ <type>MasterPage</type> will be inserted.
+
+ @return
+ the newly created and already inserted <type>DrawPage</type> or
+ <type>MasterPage</type>.
+ */
+ com::sun::star::drawing::XDrawPage insertNewByIndex( [in] long nIndex );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a <type>DrawPage</type> or <type>MasterPage</type> from this
+ container.
+
+ @param xPage
+ this <type>DrawPage</type> or <type>MasterPage</type> 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
+
diff --git a/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl b/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl
new file mode 100644
index 000000000000..fcc749269ef7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawPagesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
+#define __com_sun_star_drawing_XDrawPagesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>DrawPages</type>.
+ */
+ com::sun::star::drawing::XDrawPages getDrawPages();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XDrawSubController.idl b/offapi/com/sun/star/drawing/XDrawSubController.idl
new file mode 100644
index 000000000000..6c1f86dce440
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawSubController.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_XDrawSubController_idl__
+#define __com_sun_star_drawing_XDrawSubController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+
+
+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
+ <type scope="com::sun::star::drawing">DrawingDocumentDrawView</type>
+ 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
+
diff --git a/offapi/com/sun/star/drawing/XDrawView.idl b/offapi/com/sun/star/drawing/XDrawView.idl
new file mode 100644
index 000000000000..de6fd0bbc7c3
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XDrawView.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#define __com_sun_star_drawing_XDrawView_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** is implemented by views that display <type>DrawPage</type>s or <type>MasterPage</type>s.
+ */
+published interface XDrawView: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** changes the current page.
+
+ @param xPage
+ this <type>DrawPage</type> or <type>MasterPage</type> will be
+ displayed inside this view.
+ */
+ void setCurrentPage( [in] com::sun::star::drawing::XDrawPage xPage );
+
+ //-------------------------------------------------------------------------
+
+ /** returns the current page.
+
+ @return
+ the <type>DrawPage</type> or <type>MasterPage</type> that is
+ currently displayed.
+ */
+ com::sun::star::drawing::XDrawPage getCurrentPage();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
new file mode 100644
index 000000000000..f69951d20f21
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XEnhancedCustomShapeDefaulter.idl
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+#define __com_sun_star_drawing_XEnhancedCustomShapeDefaulter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/drawing/XGluePointsSupplier.idl b/offapi/com/sun/star/drawing/XGluePointsSupplier.idl
new file mode 100644
index 000000000000..6fd8b7a8db24
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XGluePointsSupplier.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XGluePointsSupplier_idl__
+#define __com_sun_star_drawing_XGluePointsSupplier_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** must be supported to provide access to a container of <type>GluePoint2</type>.
+ */
+published interface XGluePointsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ @return
+ a container of <type>GluePoint2</type> structs.
+ */
+ com::sun::star::container::XIndexContainer getGluePoints();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/drawing/XLayer.idl b/offapi/com/sun/star/drawing/XLayer.idl
new file mode 100644
index 000000000000..2a4f1941f0cd
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayer.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XLayer_idl__
+#define __com_sun_star_drawing_XLayer_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** identifies the object as a <type>Layer</type>.
+ */
+published interface XLayer: com::sun::star::beans::XPropertySet
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XLayerManager.idl b/offapi/com/sun/star/drawing/XLayerManager.idl
new file mode 100644
index 000000000000..3c20758b9b0b
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerManager.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XLayerManager_idl__
+#define __com_sun_star_drawing_XLayerManager_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XLayer_idl__
+#include <com/sun/star/drawing/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** This interface makes it possible to access and manage the
+ <type>Layer</type>s of a document.
+
+ @see LayerManager
+ */
+published interface XLayerManager: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** creates a new <type>Layer</type>
+
+ @param nIndex
+ the index at which the new layer is inserted
+
+ @returns
+ the new created <type>Layer</type>
+ */
+ com::sun::star::drawing::XLayer insertNewByIndex( [in] long nIndex );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a <type>Layer</type> and all <type>Shape</type>s on
+ this <type>Layer</type>.
+
+ @param xLayer
+ this <type>Layer</type> will be removed and disposed
+ */
+ void remove( [in] com::sun::star::drawing::XLayer xLayer )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+
+ /** attaches a <type>Shape</type> to the given <type>Layer</type>.
+
+ @param xShape
+ this is the <type>Shape</type> that will be attached to a <type>Layer</type>
+
+ @param xLayer
+ this is the <type>Layer</type> that will be attached to a <type>Shape</type>
+ */
+ void attachShapeToLayer( [in] com::sun::star::drawing::XShape xShape,
+ [in] com::sun::star::drawing::XLayer xLayer );
+
+ //-------------------------------------------------------------------------
+
+ /** queries the <type>Layer</type> that a <type>Shape</type> is attached to
+
+ @param xShape
+ specifies the <type>Shape</type> for which the layer is requested.
+
+ @returns
+ the <type>Layer</type> to which the <type>Shape</type> is
+ attached.
+
+ */
+ com::sun::star::drawing::XLayer getLayerForShape( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XLayerSupplier.idl b/offapi/com/sun/star/drawing/XLayerSupplier.idl
new file mode 100644
index 000000000000..3c5bcfdbd3b8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XLayerSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XLayerSupplier_idl__
+#define __com_sun_star_drawing_XLayerSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** gives access to a <type>LayerManager</type>.
+
+ @see LayerManager
+ */
+published interface XLayerSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the <type>LayerManager</type>.
+ */
+ com::sun::star::container::XNameAccess getLayerManager();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XMasterPageTarget.idl b/offapi/com/sun/star/drawing/XMasterPageTarget.idl
new file mode 100644
index 000000000000..04dcab906881
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPageTarget.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XMasterPageTarget_idl__
+#define __com_sun_star_drawing_XMasterPageTarget_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** is implemented by objects that can be linked to a
+ <type>MasterPage</type>.
+
+ @see DrawPage
+ */
+published interface XMasterPageTarget: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns the <type>MasterPage</type> linked to this object.
+ */
+ com::sun::star::drawing::XDrawPage getMasterPage();
+
+ //-------------------------------------------------------------------------
+
+ /** links a <type>MasterPage</type> to this object.
+
+ @param xMasterPage
+ the <type>MasterPage</type> that is linked to this object
+ */
+ void setMasterPage( [in] com::sun::star::drawing::XDrawPage xMasterPage );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl b/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl
new file mode 100644
index 000000000000..77d7fd1238dc
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XMasterPagesSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XMasterPagesSupplier_idl__
+#define __com_sun_star_drawing_XMasterPagesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPages_idl__
+#include <com/sun/star/drawing/XDrawPages.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** must be supported to provide access to the
+ <type>MasterPage</type>s of a multi-page drawing-layer.
+ */
+published interface XMasterPagesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ an indexed container with the service <type>MasterPages</type>.
+ */
+ com::sun::star::drawing::XDrawPages getMasterPages();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XPresenterHelper.idl b/offapi/com/sun/star/drawing/XPresenterHelper.idl
new file mode 100644
index 000000000000..d1a2d5d3e176
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XPresenterHelper.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_XPresenterHelper_idl__
+#define __com_sun_star_drawing_XPresenterHelper_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+module com { module sun { module star { module drawing {
+
+constants CanvasFeature
+{
+ const short None = 0;
+ const short SpriteCanvas = 1;
+};
+
+/** This interface is a collection of functions that are necessary to
+ implement larger parts of the presenter screen as extension. The
+ methods of this interface give access to services that can, at the
+ moment, only implemented in the Office core, not in an extension.
+
+ <p>With time some, maybe all, methods can moved to other, better suited,
+ interfaces.</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 <type>CanvasFeature</type>
+ 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 from a file or other accessible resource that can be
+ located via a URL.
+ @param sURL
+ The URL of the bitmap. For a file URL the bitmap is loaded from
+ the specified file.
+ @param xCanvas
+ The bitmap is created to be compatible, and possibly optimized,
+ for this canvas.
+ */
+ ::com::sun::star::rendering::XBitmap loadBitmap (
+ [in] string sURL,
+ [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
diff --git a/offapi/com/sun/star/drawing/XSelectionFunction.idl b/offapi/com/sun/star/drawing/XSelectionFunction.idl
new file mode 100644
index 000000000000..5e7abe8b1d42
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSelectionFunction.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XSelectionFunction_idl__
+#define __com_sun_star_drawing_XSelectionFunction_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#include <com/sun/star/awt/XKeyHandler.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMouseClickHandler_idl__
+#include <com/sun/star/awt/XMouseClickHandler.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMouseMotionHandler_idl__
+#include <com/sun/star/awt/XMouseMotionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionChangeListener_idl__
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/drawing/XShape.idl b/offapi/com/sun/star/drawing/XShape.idl
new file mode 100644
index 000000000000..f5ba5579ee30
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShape.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShape_idl__
+#define __com_sun_star_drawing_XShape_idl__
+
+#ifndef __com_sun_star_drawing_XShapeDescriptor_idl__
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** lets you do a basic transformation on a <type>Shape</type> 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
+
diff --git a/offapi/com/sun/star/drawing/XShapeAligner.idl b/offapi/com/sun/star/drawing/XShapeAligner.idl
new file mode 100644
index 000000000000..a3eda14c62b8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeAligner.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeAligner_idl__
+#define __com_sun_star_drawing_XShapeAligner_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Alignment_idl__
+#include <com/sun/star/drawing/Alignment.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::drawing::XShapeAligner
+/** Objects implementing this interface can be used to align
+ <type>Shape</type>s.
+
+ @deprecated
+ */
+published interface XShapeAligner: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeAligner::alignShapes
+ /** aligns the specified <type>Shape</type>s.
+ */
+ void alignShapes( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::Alignment eType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeArranger.idl b/offapi/com/sun/star/drawing/XShapeArranger.idl
new file mode 100644
index 000000000000..18ca895d33f9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeArranger.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeArranger_idl__
+#define __com_sun_star_drawing_XShapeArranger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_Arrangement_idl__
+#include <com/sun/star/drawing/Arrangement.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::drawing::XShapeArranger
+/** Objects implementing this interface can be used to arrange
+ <type>Shape</type>s.
+
+ @deprecated
+ */
+published interface XShapeArranger: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::arrange
+ /** applies the specified <type>Arrangement</type> to
+ the specified collection of <type>Shape</type>s.
+ */
+ void arrange( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::Arrangement eType );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::bringToFront
+ /** moves the specified <type>Shape</type>s by a specified number
+ of objects more to the front.
+ */
+ void bringToFront( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::sendToBack
+ /** moves the specified <type>Shape</type>s
+ <var>nSteps</var> objects more to the back.
+ */
+ void sendToBack( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] short nSteps );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::setBehindShape
+ /** moves the specified collection of <type>Shape</type>s
+ behind the specified single <type>Shape</type>.
+ */
+ void setBehindShape( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::setInFrontOf
+ /** moves the specified collection of <type>Shape</type>s in
+ front of the specified single <type>Shape</type>.
+ */
+ void setInFrontOf( [in] com::sun::star::drawing::XShapes xShapes,
+ [in] com::sun::star::drawing::XShape xShape );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeArranger::reverseOrder
+ /** reverses the order of the specified collection of
+ <type>Shape</type>s.
+ */
+ void reverseOrder( [in] com::sun::star::drawing::XShapes xShapes );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeBinder.idl b/offapi/com/sun/star/drawing/XShapeBinder.idl
new file mode 100644
index 000000000000..42b36a85f7f7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeBinder.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeBinder_idl__
+#define __com_sun_star_drawing_XShapeBinder_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** connects or breaks the lines of <type>Shape</type>s
+ */
+published interface XShapeBinder: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** binds <type>Shape</type>s together.
+
+ @param xShapes
+ a container with <type>Shape</type>s that will be bind toghether.
+ All <type>Shapes</type> will be converted to a <type>PolyPolygonBezierShape</type>
+ and the lines will be connected. The <type>Shape</types>s in xShape will be
+ removed from the <type>GenericDrawPage</type> and disposed.
+
+ @returns
+ a newly created <type>PolyPolygonBezierShape</type> which contains all
+ line segment from the supplied <type>Shape</type>s. It is also added
+ to the <type>GenericDrawPage</type> of the source <type>Shape</type>s.
+ */
+ com::sun::star::drawing::XShape bind( [in] com::sun::star::drawing::XShapes xShapes );
+
+ //-------------------------------------------------------------------------
+
+ /** breaks a <type>Shape</type> into its line segments
+
+ @param xShape
+ the given <type>Shape</type> will be converted to a <type>PolyPolygonBezierShape</type>
+ and the line segments of this <type>Shape</type> will be used to create
+ new <type>PolyPolygonBezierShape</type> shapes. The original <type>Shape</type>
+ will be removed from its <type>GenericDrawPage</type> and disposed.
+ */
+ void unbind( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeCombiner.idl b/offapi/com/sun/star/drawing/XShapeCombiner.idl
new file mode 100644
index 000000000000..f97d15122440
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeCombiner.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeCombiner_idl__
+#define __com_sun_star_drawing_XShapeCombiner_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** specifies the combine/split functionality.
+ */
+published interface XShapeCombiner: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** combines <type>Shape</type>s
+
+ @param xShapes
+ the <type>Shape</type>s inside this container are converted
+ to <type>PolyPolygonBezierShape</type>s and are than combined
+ into one <type>PolyPolygonBezierShape</type>.
+ The <type>Shape</types>s in xShape will be removed from the
+ <type>GenericDrawPage</type> and disposed.
+
+ @returns
+ a newly created <type>PolyPolygonBezierShape</type> which contains all
+ converted <type>PolyPolygonBezierShape</type> combined. It is also added
+ to the <type>GenericDrawPage</type> of the source <type>Shape</type>s.
+
+ */
+ com::sun::star::drawing::XShape combine( [in] com::sun::star::drawing::XShapes xShapes );
+
+ //-------------------------------------------------------------------------
+
+ /** splits <type>Shape</type>s.
+
+ @param xShapes
+ the <type>Shape</type> is converted to a
+ <type>PolyPolygonBezierShape</type>s and then splited into
+ several <type>PolyPolygonBezierShape</type>s
+ The <type>Shape</types>s in xShape will be removed from the
+ <type>GenericDrawPage</type> and disposed.
+ */
+ void split( [in] com::sun::star::drawing::XShape xGroup );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeDescriptor.idl b/offapi/com/sun/star/drawing/XShapeDescriptor.idl
new file mode 100644
index 000000000000..dbadb01be765
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeDescriptor.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeDescriptor_idl__
+#define __com_sun_star_drawing_XShapeDescriptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::lang">XServiceName</type>
+ */
+published interface XShapeDescriptor: com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the programmatic name of the shape type.
+ */
+ string getShapeType();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeGroup.idl b/offapi/com/sun/star/drawing/XShapeGroup.idl
new file mode 100644
index 000000000000..66013be4bacb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGroup.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeGroup_idl__
+#define __com_sun_star_drawing_XShapeGroup_idl__
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** is implemented by <type>Shape</type>s that contain other
+ <type>Shape</type>s.
+
+ @deprecated
+ */
+published interface XShapeGroup: com::sun::star::drawing::XShape
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeGroup::enterGroup
+ /** enters the group which enables the editing function
+ for the parts of a grouped <type>Shape</type>. 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();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::drawing::XShapeGroup::leaveGroup
+ /** leaves the group, which disables the editing function
+ for the parts of a grouped <type>Shape</type>. 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
+
diff --git a/offapi/com/sun/star/drawing/XShapeGrouper.idl b/offapi/com/sun/star/drawing/XShapeGrouper.idl
new file mode 100644
index 000000000000..a5474b35a5d7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeGrouper.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeGrouper_idl__
+#define __com_sun_star_drawing_XShapeGrouper_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapeGroup_idl__
+#include <com/sun/star/drawing/XShapeGroup.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** specifies the group/ungroup functionality.
+ */
+published interface XShapeGrouper: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** groups the <type>Shape</type>s inside a collection.
+
+ <p>Grouping of objects in text documents works only if none
+ of the objects has an anchor of type
+ <member scope="com::sun::star::text::TextContentAnchorType">AS_CHARACTER</member>
+ </p>.
+
+ @param xShapes
+ the <type>Shape</type>s that will be grouped. They
+ must all be inserted into the same <type>GenericDrawPage</type>.
+
+ @returns
+ a newly created <type>GroupShape</type> that contains all
+ <type>Shape</type>s from xShapes and is also added to the
+ <type>GenericDrawPage</type> of the <type>Shape</type>s
+ in xShapes.
+ */
+ com::sun::star::drawing::XShapeGroup group( [in] com::sun::star::drawing::XShapes xShapes );
+
+ //-------------------------------------------------------------------------
+
+ /** ungroups a given <type>GroupShape</type>.
+
+ @param aGroup
+ moves all <type>Shape</type>s from this <type>GroupShape</type>
+ to the parent <type>XShapes</type> of the <type>GroupShape</type>.
+ The <type>GroupShape</type> is than removed from the
+ <type>GenericDrawPage</type> and disposed.
+ */
+ void ungroup( [in] com::sun::star::drawing::XShapeGroup aGroup );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapeMirror.idl b/offapi/com/sun/star/drawing/XShapeMirror.idl
new file mode 100644
index 000000000000..1a64265bd10f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapeMirror.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapeMirror_idl__
+#define __com_sun_star_drawing_XShapeMirror_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_MirrorAxis_idl__
+#include <com/sun/star/drawing/MirrorAxis.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** Objects implementing this interface can be used to mirror
+ <type>Shape</type>s.
+
+ @deprecated
+ */
+published interface XShapeMirror: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** mirrors the given <type>Shape</type>s
+ at the given axis.
+ */
+ void mirror( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::MirrorAxis eAxis );
+
+ //-------------------------------------------------------------------------
+
+ /** mirrors the given <type>Shape</type>s at
+ the given axis.
+ */
+ void mirrorAtAxis( [inout] com::sun::star::drawing::XShapes aShapes,
+ [in] com::sun::star::drawing::XShape aLine );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XShapes.idl b/offapi/com/sun/star/drawing/XShapes.idl
new file mode 100644
index 000000000000..b0b9c78646b5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XShapes.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#define __com_sun_star_drawing_XShapes_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+/** makes it possible to access, add, and remove the
+ <type>Shape</type>s in a collection.
+
+ @see DrawPage
+ @see MasterPage
+ @see DrawingDocumentDrawView
+ */
+published interface XShapes: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** inserts a <type>Shape</type> into this collection.
+
+ @param xShape
+ a <type>Shape</type> that will be inserted.
+ */
+ void add( [in] com::sun::star::drawing::XShape xShape );
+
+ //-------------------------------------------------------------------------
+
+ /** removes a <type>Shape</type> from this collection.
+
+ @param xShape
+ the <type>Shape</type> will be removed from the
+ collection and disposed.
+ */
+ void remove( [in] com::sun::star::drawing::XShape xShape );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/drawing/XSlidePreviewCache.idl b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
new file mode 100644
index 000000000000..ee40c5f34fa6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlidePreviewCache.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_XSlidePreviewCache_idl__
+#define __com_sun_star_drawing_XSlidePreviewCache_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerSize2D_idl__
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+
+
+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
+ <method>XSlidePreviewCache::getSlidePreview()</method>. The
+ implementor may then call <method>getSlidePreview()</method> a second
+ time to get the up-to-date version of the preview.
+*/
+interface XSlidePreviewCacheListener
+{
+ /** Called by a <interface>XSlidePreviewCache</interface> 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);
+};
+
+
+
+
+/** 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 <method>resume()</method> to restart it.
+ */
+ void pause ();
+
+ /** Resume the asynchronous creation of slide previews.
+ */
+ void resume ();
+};
+
+}; }; }; }; // ::com::sun::star::drawing
+
+#endif
diff --git a/offapi/com/sun/star/drawing/XSlideRenderer.idl b/offapi/com/sun/star/drawing/XSlideRenderer.idl
new file mode 100644
index 000000000000..c2ad6030de9d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XSlideRenderer.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_XSlideRenderer_idl__
+#define __com_sun_star_drawing_XSlideRenderer_idl__
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#endif
+
+
+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 adaption 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 suppport 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 <member>createPreview()</member>,
+ only a different return type:
+ <type>com::sun::star::rendering::XBitmap</type> instead
+ of <type>com::sun::star::awt::XBitmap</type>.
+ @see 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
diff --git a/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
new file mode 100644
index 000000000000..60286c3271d6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/XUniversalShapeDescriptor.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+#define __com_sun_star_drawing_XUniversalShapeDescriptor_idl__
+
+#ifndef __com_sun_star_drawing_XShapeDescriptor_idl__
+#include <com/sun/star/drawing/XShapeDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module drawing {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::drawing::XUniversalShapeDescriptor
+/** @deprecated
+ */
+published interface XUniversalShapeDescriptor: com::sun::star::drawing::XShapeDescriptor
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XUniversalShapeDescriptor::setShapeType
+
+ // DocMerge: empty anyway
+ void setShapeType( [in] string aShapeTypeName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
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 000000000000..afcea77be685
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/AnchorBindingMode.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ResourceSearchMode_idl__
+#define __com_sun_star_drawing_framework_ResourceSearchMode_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+
+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
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 000000000000..2797362aade5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicPaneFactory.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_BasicPaneFactory_idl__
+#define __com_sun_star_drawing_framework_BasicPaneFactory_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef _COM_SUN_STAR_DRAWING_FRAMEWORK_XPANEFACTORY_IDL_
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The <type>BasicPaneFactory</pane> 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 <type>XModuleController</type> 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
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 000000000000..e0a1529177d1
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicToolBarFactory.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_BasicToolBarFactory_idl__
+#define __com_sun_star_drawing_framework_BasicToolBarFactory_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef _COM_SUN_STAR_DRAWING_FRAMEWORK_XPANEFACTORY_IDL_
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The <type>BasicToolBarFactory</type> 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 <type>XModuleController</type> 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
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 000000000000..ffde0f8b4cb7
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/BasicViewFactory.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_BasicViewFactory_idl__
+#define __com_sun_star_drawing_framework_BasicViewFactory_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XResourceFactory_idl__
+#include <com/sun/star/drawing/framework/XResourceFactory.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The <type>BasicViewFactory</type> 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
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 000000000000..3c070f8784a9
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/Configuration.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationController_idl__
+#define __com_sun_star_drawing_framework_ConfigurationController_idl__
+
+#ifndef __com_sun_star_drawing_framework_XConfiguration_idl__
+#include <com/sun/star/drawing/framework/XConfiguration.idl>
+#endif
+
+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 <member
+ scope="XConfigurationController">restoreConfiguration()</member>
+ 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
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 000000000000..f5d37a917383
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationChangeEvent.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#define __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+module com { module sun { module star { module uno { interface XInterface; }; }; }; };
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XConfiguration;
+interface XConfigurationController;
+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 <type>XConfigurationController</type> 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 <member>UserData</member>
+ that was given when the listener was registered.
+ */
+ any UserData;
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..23e43ab70a0c
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ConfigurationController.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationController_idl__
+#define __com_sun_star_drawing_framework_ConfigurationController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XConfigurationController_idl__
+#include <com/sun/star/drawing/framework/XConfigurationController.idl>
+#endif
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See <type>XConfigurationController</type> for a description of the
+ configuration controller.
+
+ <p>This service is used at the moment by the
+ <type>XControllerManager</type> 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 usefull
+ 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
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 000000000000..3966a6fafb60
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ModuleController.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ModuleController_idl__
+#define __com_sun_star_drawing_framework_ModuleController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XModuleController_idl__
+#include <com/sun/star/drawing/framework/XModuleController.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** See <type>XModuleController</type> for a description of the module
+ controller.
+
+ <p>See <type>ConfigurationController</type> for a comment why this
+ service may be removed in the future.</p>
+
+ <p>The <type>ModuleController</type> object for an application can be
+ obtained via the <type>XControllerManager</type> interface.</type>
+*/
+service ModuleController : XModuleController
+{
+ /** Create a new instance of a <type>ModuleController</type> as sub
+ controller of the given <type>XController</type> object.
+ */
+ create ([in] ::com::sun::star::frame::XController xController);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..a62e47d01302
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceActivationMode.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member
+ scope="com::sun::star::drawing::framework"
+ >XConfigurationController::requestResourceActivation()</member>,
+ 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
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 000000000000..635744f69246
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/ResourceId.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_ResourceId_idl__
+#define __com_sun_star_drawing_framework_ResourceId_idl__
+
+#ifndef __com_sun_star_drawing_framework_XResourceId_idl__
+#include <com/sun/star/drawing/framework/XResourceId.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+/** The <type>ResourceId</type> service provides several constructors for
+ resource ids.
+ <p>They mainly differe 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
+ <type>XResourceId</type> object. This is the mose 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
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 000000000000..3ba80cefd3f8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/TabBarButton.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 disiplayed in
+ one pane.
+ <p>For identification only the <member>ResourceId</member> is used, so for
+ some methods of the <type>XTabBar</type> interface only the
+ <member>ResourceId</member> 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;
+
+ /** <type>XResourceId</type> object of the resource that is requested to be
+ displayed when the tab bar button is activated.
+ <p>For some methods of the <type>XTabBar</type> 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
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 000000000000..e0af30491710
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfiguration.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfiguration_idl__
+#define __com_sun_star_drawing_framework_XConfiguration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+#endif
+
+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 <type>ConfigurationController</type> and objects that
+ implement the <type>XConfigurationChangeRequest</type> 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
+ <type>XResourceId</type> object. An
+ empty reference is treated like an <type>XResourceId</type> object.
+ @param sURLPrefix
+ 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 wether 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
+ <type>XResourceId</type> 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
+ <type>XConfigurationRequest</type> 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
+ <type>XConfigurationRequest</type> 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 xResource);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..d487786387b5
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeListener.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationChangeListener_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#endif
+
+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
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 000000000000..8fff19cd27ad
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationChangeRequest.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationChangeRequest_idl__
+#define __com_sun_star_drawing_framework_XConfigurationChangeRequest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#endif
+
+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
+ <member>execute()</member> method is called. Configuration change
+ requests are executed asynchronously. This is done to avoid reentrance
+ problems with objects that are registered as
+ <type>XConfigurationChangeListener</type> 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
+ <type>XConfigurationController</type></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
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 000000000000..f7d01faf44db
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationController.idl
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationController_idl__
+#define __com_sun_star_drawing_framework_XConfigurationController_idl__
+
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+#include <com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+#include <com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+#include <com/sun/star/drawing/framework/XResourceFactoryManager.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_ResourceActivationMode_idl__
+#include <com/sun/star/drawing/framework/ResourceActivationMode.idl>
+#endif
+
+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
+ <member>requestResourceActivation()</member> and
+ <member>requestResourceDeactivation()</member>.</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 fullfilled.
+ <ol>
+ <li>when the last pending request for configuration changes has been
+ processed,</li>
+ <li>when the <member>update()</member> 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
+ <member>requestResourceActivation()</member> or
+ <member>requestResourceDeactivation()</member> results in one or more
+ function objects, that each implement the
+ <type>XConfigurationChangeRequest</type> 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
+ <type>XConfigurationChangeListener</type> 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 anavailable 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><const>ResourceActivationRequested</const> 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
+ <member>requestResourceActivation()</member> call is made.</p>
+ <p>The <member scope="ConfigurationChangeEvent">ResourceId</member> member is set to the requested
+ resource. The <member>ResourceObject</member> member is not
+ set.</p></li>
+ <li><const>ResourceDeactivationRequested</const> 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 <member>requestResourceDeactivation()</member> is called.</p>
+ <p>The <member>ResourceId</member> member is set to the requested
+ resource. The <member>ResourceObject</member> member is not
+ set.</p></li>
+ <li><const>ConfigurationUpdateStart</const> is sent before the update of
+ the current configuration starts.</p>
+ <p>The requested configuration is available in the <member
+ scope="ConfigurationChangeEvent">Configuration</member> member. The
+ <member>ResourceId</member> and <member>ResourceObject</member> members
+ are not set.</p></li>
+ <li><const>ConfigurationUpdateEnd</const> is sent after the update of
+ the current configuration ends.</p>
+ <p>The requested configuration is
+ available in the <member scope="ConfigurationChangeEvent"
+ >Configuration</member> member. The <member>ResourceId</member> and
+ <member>ResourceObject</member> members are not set.</p></li>
+ <li><const>ResourceActivation</const> is sent when a resource is
+ activated, i.e. when a new object of a resource is created (or taken
+ from a cash).</p>
+ <p>The <member>ResourceId</member> and <member>ResourceObject</member>
+ members are set to the <type>XResourceId</type> and object reference of
+ the activated resource.</p></li>
+ <li><const>ResourceDeactivation</const> 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 <member>ResourceId</member> and <member>ResourceObject</member>
+ members are set to <type>XResourceId</type> 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 <const>REPLACE</const> then, before adding the
+ resource activation to the request queue, similar resources
+ linked to the same anchor are removed. This makes it easer 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 <const>ADD</const> 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 <member>lock()</member> calls are recognized: the
+ configuration controller is locked while <member>lock()</member> was
+ called more often than <member>unlock()</member>.</p>
+ */
+ void lock ();
+
+ /** Unlock the processing of configuration change requests.
+ <p>When <member>unlock()</member> is called as many times as
+ <member>lock()</member> 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 <member>getCurrentConfiguration()</member> and
+ <member>getRequestedConfiguration()</member> 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 of change
+ requests so that the resulting reqeusted 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 configuratio 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 <member>getRequestedConfiguration()</member> call.
+ */
+ void restoreConfiguration ([in] XConfiguration xConfiguration);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..6da775a13fea
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerBroadcaster.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
+#include <com/sun/star/drawing/framework/ConfigurationChangeEvent.idl>
+#endif
+
+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 regisered
+ 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
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 000000000000..ebd171cb4f23
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XConfigurationControllerRequestQueue.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+#define __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 wheter the queue is empty. Using this interace
+ should normally not be necessary for anyone else than the
+ <type>XConfigurationController</type>. 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
+ famework. Other sub conrollers of the drawing framework are typical
+ callers. They can add change requests that can not be made with the
+ <member>requestResourceActivation()</member> and
+ <member>requestResourceDeactivation()</member> methods.</p>
+ @param xRequest
+ The configuration change represented by this request object must only
+ be commited to the configuration when the
+ <member
+ scope="com::sun::star::drawing::framework::XConfigurationChangeRequest"
+ >execute()</member>
+ method of the xRequest object is called.
+ */
+ void postChangeRequest (
+ [in] XConfigurationChangeRequest xRequest);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..fba9b5f920ca
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XControllerManager.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XControllerManager_idl__
+#define __com_sun_star_drawing_framework_XControllerManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <type>XControllerManager</type> interface is typically
+ implemented by the same object that implements <type
+ scope="com::sun::star::frame">XController</type>.</p>
+*/
+interface XControllerManager
+{
+ /** Return the <type>XConfigurationController</type> object.
+ @return
+ The returned reference is never empty.
+ */
+ XConfigurationController getConfigurationController ();
+
+ /** Return the <type>XModuleController</type> object.
+ @return
+ The returned reference is never empty.
+ */
+ XModuleController getModuleController ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..b115f955fac0
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XModuleController.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XModuleController_idl__
+#define __com_sun_star_drawing_framework_XModuleController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_IDL_
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_ResourceId_idl__
+#include <com/sun/star/drawing/framework/ResourceId.idl>
+#endif
+
+module com { module sun { module star { module drawing { module framework {
+
+interface XView;
+
+/** The module controller is responsible for loading a module (addon,
+ 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
+ <const>MultiPaneGUI/Framework/ResourceFactories</const> 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
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 000000000000..ad0bc7dbb791
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XPane_idl__
+#define __com_sun_star_drawing_framework_XPane_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCcanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XResource_idl__
+#include <com/sun/star/drawing/framework/XResource.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XRelocatableResource_idl__
+#include <com/sun/star/drawing/framework/XRelocatableResource.idl>
+#endif
+
+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 <type scope="com::sun::star::awt">XWindow</type> of the
+ pane that is used to display a view.
+ */
+ ::com::sun::star::awt::XWindow getWindow ();
+
+ /** Return the <type scope="com::sun::star::awt">XCanvas</type> of the pane. The
+ <type scope="com::sun::star::rendering">XCanvas</type> object is expected to
+ be associated with the <type
+ scope="com::sun::star::awt">XWindow</type> object returned by
+ <member>getWindow()</member>.
+ @return
+ When the <type scope="com::sun::star::rendering">XCanvas</type>
+ interface is not supported then an empty reference is returned.
+ */
+ ::com::sun::star::rendering::XCanvas getCanvas ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..85fec5a311cb
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPane2.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XPane2_idl__
+#define __com_sun_star_drawing_framework_XPane2_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#include <com/sun/star/accessibility/XAccessible.idl>
+#endif
+
+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.
+ @Returns <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
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 000000000000..e9d875897a40
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XPaneBorderPainter.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+#define __com_sun_star_drawing_framework_XPaneBorderPainter_idl__
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+
+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
+};
+
+
+/** Paint the border around a rectangular region, typically a pane.
+
+ <p>Calling objects have to be able to derive inner bounding boxs 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);
+
+ /** Shring 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 callout
+ that is anchored at the given point. Most arguments have the same
+ meaning as in the <method>paintBorder</method>.
+ @param aCalloutAnchor
+ The anchor point of the callout. 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 callout anchor with respect to the outer
+ border. This value is used when the callout is realized by a fixed
+ bitmap in order to determine the size and/or location of the outer
+ border for a given callout.
+ */
+ ::com::sun::star::awt::Point getCalloutOffset (
+ [in] string sPaneBorderStyleName);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..9c8af5a15620
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XRelocatableResource.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XRelocatableResource_idl__
+#define __com_sun_star_drawing_framework_XRelocatableResource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 successfull.
+ */
+ boolean relocateToAnchor ([in] XResource xNewAnchor);
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..c0dbbe95141d
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResource.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XResource_idl__
+#define __com_sun_star_drawing_framework_XResource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <type>XResourceId</type> object for the called resource.
+ The returned id unambiguously indentifies 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
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 000000000000..4bb8b09bc8ad
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactory.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XResourceFactory_idl__
+#define __com_sun_star_drawing_framework_XResourceFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+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
+ <type>XConfigurationController</type> 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 <type>XResourceId</type> object.
+ @param xResourceId
+ The resourc 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 <type>XConfigurationController</type></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 successfull. 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
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 000000000000..1926c38c2774
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceFactoryManager.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+#define __com_sun_star_drawing_framework_XResourceFactoryManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
+ <member>removeResourceFactoryForReference()</member> 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
+ <member>removeResourceFactoryForURL</member> 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
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 000000000000..6d24fbed092f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XResourceId.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XResourceId_idl__
+#define __com_sun_star_drawing_framework_XResourceId_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_AnchorBindingMode_idl__
+#include <com/sun/star/drawing/framework/AnchorBindingMode.idl>
+#endif
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+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 <type>XResourceId</type> 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 an 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 <type>XResourceId</type> 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 <const>0</const> 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 xAnchor
+ 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 <const>DIRECT</const> then the anchor of the called resource id
+ has to be identical to the given anchor. If eMode is
+ <const>INDIRECT</const> then the given anchor has to be a part
+ of the anchor of the called resource.
+ */
+ boolean isBoundTo (
+ [in] XResourceId xId,
+ [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 <member>isBoundTo()</member> function
+ that can also be seen as an optimization for the case that the
+ anchor consists of exactly one URL.
+ @param xAnchor
+ 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 <member>isBoundTo()</member> for more
+ information.
+ */
+ boolean isBoundToURL (
+ [in] string sAnchorURL,
+ [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
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 000000000000..8213b9babe0a
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XTabBar.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XTabBar_idl__
+#define __com_sun_star_drawing_framework_XTabBar_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_TabBarButton_idl__
+#include <com/sun/star/drawing/framework/TabBarButton.idl>
+#endif
+
+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
+ <member>addTabBarButtonAfter()</member> does not provide enough
+ control as to where to insert a new button.</p>
+ */
+ sequence<TabBarButton> getTabBarButtons ();
+};
+
+}; }; }; }; }; // ::com::sun::star::drawing::framework
+
+#endif
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 000000000000..364406affc7f
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XToolBar.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XToolBar_idl__
+#define __com_sun_star_drawing_framework_XToolBar_idl__
+
+#ifndef __com_sun_star_drawing_framework_XResource_idl__
+#include <com/sun/star/drawing/framework/XResource.idl>
+#endif
+
+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
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 000000000000..c773cd903a00
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/XView.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_drawing_framework_XView_idl__
+#define __com_sun_star_drawing_framework_XView_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_drawing_framework_XResource_idl__
+#include <com/sun/star/drawing/framework/XResource.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/drawing/framework/makefile.mk b/offapi/com/sun/star/drawing/framework/makefile.mk
new file mode 100644
index 000000000000..e073b1a61ab8
--- /dev/null
+++ b/offapi/com/sun/star/drawing/framework/makefile.mk
@@ -0,0 +1,75 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssdframework
+PACKAGE=com$/sun$/star$/drawing$/framework
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES= \
+ AnchorBindingMode.idl \
+ BasicPaneFactory.idl \
+ BasicToolBarFactory.idl \
+ BasicViewFactory.idl \
+ Configuration.idl \
+ ConfigurationChangeEvent.idl \
+ ConfigurationController.idl \
+ ModuleController.idl \
+ ResourceActivationMode.idl \
+ ResourceId.idl \
+ TabBarButton.idl \
+ XConfiguration.idl \
+ XConfigurationChangeListener.idl \
+ XConfigurationChangeRequest.idl \
+ XConfigurationController.idl \
+ XConfigurationControllerBroadcaster.idl \
+ XConfigurationControllerRequestQueue.idl\
+ XControllerManager.idl \
+ XModuleController.idl \
+ XPane.idl \
+ XPane2.idl \
+ XPaneBorderPainter.idl \
+ XRelocatableResource.idl \
+ XResource.idl \
+ XResourceId.idl \
+ XResourceFactory.idl \
+ XResourceFactoryManager.idl \
+ XTabBar.idl \
+ XToolBar.idl \
+ XView.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/drawing/makefile.mk b/offapi/com/sun/star/drawing/makefile.mk
new file mode 100644
index 000000000000..b3d581c755e6
--- /dev/null
+++ b/offapi/com/sun/star/drawing/makefile.mk
@@ -0,0 +1,227 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdrawing
+PACKAGE=com$/sun$/star$/drawing
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleShape.idl \
+ AccessibleGraphicShape.idl \
+ AccessibleOLEShape.idl \
+ AccessibleDrawDocumentView.idl \
+ AccessibleSlideView.idl \
+ AccessibleSlideViewObject.idl \
+ AccessibleGraphControl.idl\
+ Alignment.idl\
+ AppletShape.idl\
+ Arrangement.idl\
+ Background.idl\
+ BezierPoint.idl\
+ BitmapMode.idl\
+ BitmapTable.idl\
+ BoundVolume.idl\
+ CameraGeometry.idl\
+ CaptionEscapeDirection.idl\
+ CaptionShape.idl\
+ CaptionType.idl\
+ CircleKind.idl\
+ ClosedBezierShape.idl\
+ ColorMode.idl\
+ ConnectionType.idl\
+ ConnectorProperties.idl\
+ ConnectorShape.idl\
+ ConnectorType.idl\
+ ControlShape.idl\
+ CoordinateSequence.idl\
+ CoordinateSequenceSequence.idl\
+ CustomShape.idl\
+ CustomShapeEngine.idl\
+ DashStyle.idl\
+ DashTable.idl\
+ Defaults.idl\
+ Direction3D.idl\
+ DocumentSettings.idl\
+ DoubleSequence.idl\
+ DoubleSequenceSequence.idl\
+ DrawingDocument.idl\
+ DrawingDocumentDrawView.idl\
+ DrawingDocumentFactory.idl\
+ DrawPage.idl\
+ DrawPages.idl\
+ DrawViewMode.idl\
+ EnhancedCustomShapeAdjustmentValue.idl\
+ EnhancedCustomShapeExtrusion.idl\
+ EnhancedCustomShapeGeometry.idl\
+ EnhancedCustomShapeGluePointType.idl\
+ EnhancedCustomShapeHandle.idl\
+ EnhancedCustomShapeParameter.idl\
+ EnhancedCustomShapeParameterPair.idl\
+ EnhancedCustomShapeParameterType.idl\
+ EnhancedCustomShapePath.idl\
+ EnhancedCustomShapeSegment.idl\
+ EnhancedCustomShapeSegmentCommand.idl\
+ EnhancedCustomShapeTextFrame.idl\
+ EnhancedCustomShapeTextPath.idl\
+ EnhancedCustomShapeTextPathMode.idl\
+ EllipseShape.idl\
+ EscapeDirection.idl\
+ FillProperties.idl\
+ FillStyle.idl\
+ FlagSequence.idl\
+ FlagSequenceSequence.idl\
+ GenericDrawingDocument.idl\
+ GenericDrawPage.idl\
+ GluePoint.idl\
+ GluePoint2.idl\
+ GradientTable.idl\
+ GraphicExportFilter.idl\
+ GraphicFilterRequest.idl\
+ GraphicObjectShape.idl\
+ GroupShape.idl\
+ Hatch.idl\
+ HatchStyle.idl\
+ HatchTable.idl\
+ HomogenMatrix.idl\
+ HomogenMatrix3.idl\
+ HomogenMatrix4.idl\
+ HomogenMatrixLine.idl\
+ HomogenMatrixLine3.idl\
+ HomogenMatrixLine4.idl\
+ HorizontalDimensioning.idl\
+ Layer.idl\
+ LayerManager.idl\
+ LayerType.idl\
+ LineDash.idl\
+ LineEndType.idl\
+ LineJoint.idl\
+ LineProperties.idl\
+ LineShape.idl\
+ LineStyle.idl\
+ MarkerTable.idl\
+ MasterPage.idl\
+ MasterPages.idl\
+ MeasureKind.idl\
+ MeasureProperties.idl\
+ MeasureShape.idl\
+ MeasureTextHorzPos.idl\
+ MeasureTextVertPos.idl\
+ MirrorAxis.idl\
+ NormalsKind.idl\
+ OLE2Shape.idl\
+ OpenBezierShape.idl\
+ PageShape.idl\
+ PluginShape.idl\
+ PointSequence.idl\
+ PointSequenceSequence.idl\
+ PolygonFlags.idl\
+ PolygonKind.idl\
+ PolyLineShape.idl\
+ PolyPolygonBezierCoords.idl\
+ PolyPolygonBezierDescriptor.idl\
+ PolyPolygonBezierShape.idl\
+ PolyPolygonDescriptor.idl\
+ PolyPolygonShape.idl\
+ PolyPolygonShape3D.idl\
+ Position3D.idl\
+ ProjectionMode.idl\
+ RectanglePoint.idl\
+ RectangleShape.idl\
+ RotationDescriptor.idl\
+ ShadeMode.idl\
+ ShadowProperties.idl\
+ Shape.idl\
+ ShapeCollection.idl\
+ Shapes.idl\
+ SlideRenderer.idl\
+ SlideSorter.idl\
+ SnapObjectType.idl\
+ Text.idl\
+ TextAdjust.idl\
+ TextAnimationDirection.idl\
+ TextAnimationKind.idl\
+ TextFitToSizeType.idl\
+ TextHorizontalAdjust.idl\
+ TextProperties.idl\
+ TextShape.idl\
+ TextureKind.idl\
+ TextureKind2.idl\
+ TextureMode.idl\
+ TextureProjectionMode.idl\
+ TextVerticalAdjust.idl\
+ TransparencyGradientTable.idl\
+ VerticalDimensioning.idl\
+ XConnectableShape.idl\
+ XConnectorShape.idl\
+ XControlShape.idl\
+ XCustomShapeEngine.idl\
+ XCustomShapeHandle.idl\
+ XDrawPage.idl\
+ XDrawPageDuplicator.idl\
+ XDrawPageExpander.idl\
+ XDrawPages.idl\
+ XDrawPagesSupplier.idl\
+ XDrawPageSummarizer.idl\
+ XDrawPageSupplier.idl\
+ XDrawSubController.idl\
+ XDrawView.idl\
+ XEnhancedCustomShapeDefaulter.idl\
+ XGluePointsSupplier.idl\
+ XLayer.idl\
+ XLayerManager.idl\
+ XLayerSupplier.idl\
+ XMasterPagesSupplier.idl\
+ XMasterPageTarget.idl\
+ XPresenterHelper.idl\
+ XShape.idl\
+ XShapeAligner.idl\
+ XShapeArranger.idl\
+ XShapeBinder.idl\
+ XShapeCombiner.idl\
+ XShapeDescriptor.idl\
+ XShapeGroup.idl\
+ XShapeGrouper.idl\
+ XShapeMirror.idl\
+ XShapes.idl\
+ XSlidePreviewCache.idl\
+ XSlideRenderer.idl\
+ XUniversalShapeDescriptor.idl\
+ XSelectionFunction.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/drawing/modules.idl b/offapi/com/sun/star/drawing/modules.idl
new file mode 100644
index 000000000000..5c9fe1d58c31
--- /dev/null
+++ b/offapi/com/sun/star/drawing/modules.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.
+ <p>The framework is implemented by a set of sub controllers that are
+ responsible for its different resources: <type
+ scope="com::sun::star::drawing::framework">XModuleController</type>,
+ <type scope="com::sun::star::drawing::framework">XPaneController</type>,
+ <type scope="com::sun::star::drawing::framework">XViewController</type>,
+ <type scope="com::sun::star::drawing::framework">XToolbarController</type>,
+ <type scope="com::sun::star::drawing::framework">XCommandController</type>.
+ The set of active resources is represented by the <type
+ scope="com::sun::star::drawing::framework">XConfiguration</type>.</p>
+ <p>The <type
+ scope="com::sun::star::drawing::framework">XControllerManager</type>
+ interface provides access to the sub controllers. It typically is
+ implemented by the same class that implements the <type
+ scope="com::sun::star::frame">XController</type> interface.</p>
+ <p>The
+ configuration is managed by the <type
+ scope="com::sun::star::drawing::framework">XConfigurationController</type>.
+ 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 meaningfull
+ state.</li></ul></p>
+ <p>For more information please see the wiki page of the <a
+ href="http://wiki.services.openoffice.org/wiki/Drawing_framework">drawing framework</a>.
+*/
+module framework {};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/Actions.idl b/offapi/com/sun/star/embed/Actions.idl
new file mode 100644
index 000000000000..48ad78eb0ab2
--- /dev/null
+++ b/offapi/com/sun/star/embed/Actions.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+<type>ActionsApproval</type> implementation.
+*/
+published constants Actions
+{
+ //------------------------------------------------------------------------
+ /** "Prevent Close" - throws veto excetion if target object is going to
+ close.
+
+ <p>
+ Usually a <type scope="com::sun::star::util">XCloseListener</type>
+ implementation could use this constant to request approval to throw
+ veto exception.
+ </p>
+ */
+ const long PREVENT_CLOSE = 1;
+
+ //------------------------------------------------------------------------
+ /** "Prevent Termination" - throws veto excetion if target object is going
+ to terminate.
+
+ <p>
+ Usually a <type scope="com::sun::star::frame">XTerminateListener</type>
+ implementation could use this constant to request approval to throw
+ veto exception.
+ </p>
+ */
+ const long PREVENT_TERMINATION = 2;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/Aspects.idl b/offapi/com/sun/star/embed/Aspects.idl
new file mode 100644
index 000000000000..28431b60f87e
--- /dev/null
+++ b/offapi/com/sun/star/embed/Aspects.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XEmbeddedObject</type>.
+ </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
+
diff --git a/offapi/com/sun/star/embed/BaseStorage.idl b/offapi/com/sun/star/embed/BaseStorage.idl
new file mode 100644
index 000000000000..81df39792b75
--- /dev/null
+++ b/offapi/com/sun/star/embed/BaseStorage.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_BaseStorage_idl__
+#define __com_sun_star_embed_BaseStorage_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//============================================================================
+
+ 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 <type>ElementModes</type>.
+ </p>
+ */
+ [property, readonly] long OpenMode;
+
+ // -----------------------------------------------------------------------
+ /** allows to retrieve URL the storage is based on.
+ */
+ [property, optional, readonly] string URL;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/DocumentCloser.idl b/offapi/com/sun/star/embed/DocumentCloser.idl
new file mode 100644
index 000000000000..9b0eaf617527
--- /dev/null
+++ b/offapi/com/sun/star/embed/DocumentCloser.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_DocumentCloser_idl__
+#define __com_sun_star_embed_DocumentCloser_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#endif
+
+//=============================================================================
+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
+ <type scope="com::sun::star::util">XCloseable</type>::close( true ). Thus
+ in case there is a code that prevents closing of the frame the code
+ avtomatically 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
+
diff --git a/offapi/com/sun/star/embed/ElementModes.idl b/offapi/com/sun/star/embed/ElementModes.idl
new file mode 100644
index 000000000000..314036fd45ec
--- /dev/null
+++ b/offapi/com/sun/star/embed/ElementModes.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.
+ <const>ElementModes::READ</const> and <const>ElementModes::WRITE</const>
+ are base modes. A result mode must include one of base modes.
+ </p>
+
+ @see <type>XStorage</type>
+*/
+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 <type>Storage</type> elements.
+ This flag makes sence only in combination with
+ <const>ElementModes::READ</const> and/or
+ <const>ElementModes::WRITE</const>.
+ </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 <const>ElementModes::READ</const>.
+ </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 immediatelly after opening.
+
+ <p>
+ This flag makes sence only in combination with
+ <const>ElementModes::WRITE</const>.
+ </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 sence only in combination with
+ <const>ElementModes::WRITE</const>.
+ </p>
+ */
+ const long NOCREATE = 16;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/EmbedMapUnits.idl b/offapi/com/sun/star/embed/EmbedMapUnits.idl
new file mode 100644
index 000000000000..ff8a3cebada5
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedMapUnits.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 milimetre.
+ */
+ const long ONE_100TH_MM = 0;
+
+ // ----------------------------------------------------------------------
+ /** In this type of map mode one logical point is equal to one-tenth
+ of milimetre.
+ */
+ const long ONE_10TH_MM = 1;
+
+ // ----------------------------------------------------------------------
+ /** In this type of map mode one logical point is equal to one
+ milimetre.
+ */
+ const long ONE_MM = 2;
+
+ // ----------------------------------------------------------------------
+ /** In this type of map mode one logical point is equal to one
+ centimetre.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/embed/EmbedMisc.idl b/offapi/com/sun/star/embed/EmbedMisc.idl
new file mode 100644
index 000000000000..a1e05224b00b
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedMisc.idl
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 charactetistics
+ 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
diff --git a/offapi/com/sun/star/embed/EmbedStates.idl b/offapi/com/sun/star/embed/EmbedStates.idl
new file mode 100644
index 000000000000..df94cfa045a5
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedStates.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+<type>EmbeddedObject</type>.
+*/
+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
+ <type scope="com::sun::star::frame">XModel</type> 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 it's 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 menues, toolbars,
+ keyboard accelerators, and has the focus.
+ </p>
+ */
+ const long UI_ACTIVE = 4;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/EmbedUpdateModes.idl b/offapi/com/sun/star/embed/EmbedUpdateModes.idl
new file mode 100644
index 000000000000..9060aa965909
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedUpdateModes.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/embed/EmbedVerbs.idl b/offapi/com/sun/star/embed/EmbedVerbs.idl
new file mode 100644
index 000000000000..5d34fb1e8153
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbedVerbs.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 doubleclick.
+ */
+ const long MS_OLEVERB_PRIMARY = 0;
+
+ //------------------------------------------------------------------------
+ /** lets the object open itself for editing of 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
+
diff --git a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
new file mode 100644
index 000000000000..5a47c8f8fafc
--- /dev/null
+++ b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_EmbeddedObjectDescriptor_idl__
+#define __com_sun_star_embed_EmbeddedObjectDescriptor_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+#endif
+
+#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
+ <type scope="com::sun::star::beans" dim="[]">PropertyValue</type>.
+ Such descriptors will be passed to different functions, included into
+ possible load/save proccesses. Every member of such process can use
+ this descriptor and may change it to actualize the informations 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
+ controlls the document to store or not to store the graphical
+ representation of the document in to 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 <type>XEmbedObjectCreator</type> 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
+
diff --git a/offapi/com/sun/star/embed/EntryInitModes.idl b/offapi/com/sun/star/embed/EntryInitModes.idl
new file mode 100644
index 000000000000..ae67192d323a
--- /dev/null
+++ b/offapi/com/sun/star/embed/EntryInitModes.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ persistance.
+
+ @see XEmbedPersist
+*/
+published constants EntryInitModes
+{
+ // -----------------------------------------------------------------------
+ /** In case object persistance 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/embed/FileSystemStorage.idl b/offapi/com/sun/star/embed/FileSystemStorage.idl
new file mode 100644
index 000000000000..2b4d7d456751
--- /dev/null
+++ b/offapi/com/sun/star/embed/FileSystemStorage.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_FileSystemStorage_idl__
+#define __com_sun_star_embed_FileSystemStorage_idl__
+
+#ifndef __com_sun_star_embed_BaseStorage_idl__
+#include <com/sun/star/embed/BaseStorage.idl>
+#endif
+
+//============================================================================
+
+ 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 <type scope="com::sun::star::lang">XComponent</type>
+ </dt>
+ <dd>
+ <p>
+ A file system storage is created either by
+ <type>StorageFactory</type> or by <type>XStorage</type>
+ 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 <type>XStorage</type></dt>
+ <dd>
+ <dl>
+ <dt><method>XStorage::openStorageElement</method></dt>
+ <dd>
+ This method returns <type>FileSystemStorage</type>
+ service implementation.
+ </dd>
+
+ <dt><method>XStorage::copyLastCommitTo</method></dt>
+ <dd>
+ Since this service implementation supports no transaction
+ this method just creates a copy of the storage in it's
+ current state.
+ </dd>
+
+ <dt><method>XStorage::copyStorageElementLastCommitTo</method></dt>
+ <dd>
+ Since this service implementation supports no transaction
+ this method just creates a copy of the storage in it's
+ current state.
+ </dd>
+
+ <dt><method>XStorage::removeStorageElement</method></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
+
diff --git a/offapi/com/sun/star/embed/FileSystemStorageFactory.idl b/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
new file mode 100644
index 000000000000..d27541d703ef
--- /dev/null
+++ b/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_FileSystemStorageFactory_idl__
+#define __com_sun_star_embed_FileSystemStorageFactory_idl__
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** The <type>FileSystemStorageFactory</type> is a service that allows to
+ create a <type>FileSystemStorage</type> based on URL. The URL must point
+ to a folder.
+ */
+published service FileSystemStorageFactory
+{
+ // ----------------------------------------------------------------------
+ /** A storage can be created through this interface.
+
+ <p>
+ In case
+ <method scope="com::sun::star::lang">XSingleServiceFactory::createInstance</method>
+ call is used the result storage will be open in readwrite mode based
+ on an arbitrary file system folder.
+ </p>
+
+ <p>
+ In case
+ <method scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments</method>
+ 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 <type>ElementModes</type> constant set.
+ </dd>
+
+ <dt>parameter 3</dt>
+ <dd>
+ allowes to provide
+ <type scope="com::sun::star::document">MediaDescryptor</type>
+ to the storage so some parts can be used for
+ initialization, it can be for example
+ <type scope="com::sun::star::task">XInteractionHandler</type>
+ 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
+ <member scope="com::sun::star::lang">XSingleServiceFactory::createInstance</member>.
+ 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>
+ */
+ interface ::com::sun::star::lang::XSingleServiceFactory;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/InsertedObjectInfo.idl b/offapi/com/sun/star/embed/InsertedObjectInfo.idl
new file mode 100644
index 000000000000..dedfabb75a8f
--- /dev/null
+++ b/offapi/com/sun/star/embed/InsertedObjectInfo.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_InsertedObjectInfo_idl__
+#define __com_sun_star_embed_InsertedObjectInfo_idl__
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XEmbeddedObject_idl__
+#include <com/sun/star/embed/XEmbeddedObject.idl>
+#endif
+
+//=============================================================================
+
+ 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 choiches that can be container related. This information
+ can be provided by this member.
+ </p>
+ */
+ sequence < ::com::sun::star::beans::NamedValue > Options;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/InstanceLocker.idl b/offapi/com/sun/star/embed/InstanceLocker.idl
new file mode 100644
index 000000000000..3258dc3b9365
--- /dev/null
+++ b/offapi/com/sun/star/embed/InstanceLocker.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_InstanceLocker_idl__
+#define __com_sun_star_embed_InstanceLocker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_embed_XActionsApproval_idl__
+#include <com/sun/star/embed/XActionsApproval.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#endif
+
+//=============================================================================
+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:
+ <type>Actions</type>::PREVENT_CLOSE and
+ <type>Actions</type>::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:
+ <type>Actions</type>::PREVENT_CLOSE and
+ <type>Actions</type>::PREVENT_TERMINATION.
+
+ @param xApprove
+ The object implementing <type>XActionsApproval</type> 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 <type>string</type> and can take following
+ values in this case: "PreventClose", "PreventTermination" ).
+ */
+ InstanceLockerCtor2( [in] com::sun::star::uno::XInterface xInstance,
+ [in] long aActions,
+ [in] XActionsApproval xApprove )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::uno::Exception );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/InvalidStorageException.idl b/offapi/com/sun/star/embed/InvalidStorageException.idl
new file mode 100644
index 000000000000..f4eabfb8908e
--- /dev/null
+++ b/offapi/com/sun/star/embed/InvalidStorageException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#define __com_sun_star_embed_InvalidStorageException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/LinkageMisuseException.idl b/offapi/com/sun/star/embed/LinkageMisuseException.idl
new file mode 100644
index 000000000000..fec43851a373
--- /dev/null
+++ b/offapi/com/sun/star/embed/LinkageMisuseException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_LinkageMisuseException_idl__
+#define __com_sun_star_embed_LinkageMisuseException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/NeedsRunningStateException.idl b/offapi/com/sun/star/embed/NeedsRunningStateException.idl
new file mode 100644
index 000000000000..8853049ab64f
--- /dev/null
+++ b/offapi/com/sun/star/embed/NeedsRunningStateException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_NeedsRunningStateException_idl__
+#define __com_sun_star_embed_NeedsRunningStateException_idl__
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
new file mode 100644
index 000000000000..c5f8e5935b46
--- /dev/null
+++ b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_NoVisualAreaSizeException_idl__
+#define __com_sun_star_embed_NoVisualAreaSizeException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/OLESimpleStorage.idl b/offapi/com/sun/star/embed/OLESimpleStorage.idl
new file mode 100644
index 000000000000..8aa4630acd6b
--- /dev/null
+++ b/offapi/com/sun/star/embed/OLESimpleStorage.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_OLESimpleStorage_idl__
+#define __com_sun_star_embed_OLESimpleStorage_idl__
+
+#ifndef __com_sun_star_embed_XOLESimpleStorage_idl__
+#include <com/sun/star/embed/XOLESimpleStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+//============================================================================
+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
diff --git a/offapi/com/sun/star/embed/ObjectSaveVetoException.idl b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
new file mode 100644
index 000000000000..3d0252e912fe
--- /dev/null
+++ b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_ObjectSaveVetoException_idl__
+#define __com_sun_star_embed_ObjectSaveVetoException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+
+/** This exception can be thrown in case container whants to avoid objects
+ saving.
+
+ @see XEmbeddedClient
+ */
+published exception ObjectSaveVetoException: com::sun::star::uno::Exception
+{
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/StateChangeInProgressException.idl b/offapi/com/sun/star/embed/StateChangeInProgressException.idl
new file mode 100644
index 000000000000..648e839383ba
--- /dev/null
+++ b/offapi/com/sun/star/embed/StateChangeInProgressException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_StateChangeInProgressException_idl__
+#define __com_sun_star_embed_StateChangeInProgressException_idl__
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+
+//============================================================================
+
+ 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 <type>EmbedStates</type> constant set.
+ </p>
+ */
+ long TargetState;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/Storage.idl b/offapi/com/sun/star/embed/Storage.idl
new file mode 100644
index 000000000000..d34d736cf5cb
--- /dev/null
+++ b/offapi/com/sun/star/embed/Storage.idl
@@ -0,0 +1,367 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_Storage_idl__
+#define __com_sun_star_embed_Storage_idl__
+
+#ifndef __com_sun_star_embed_BaseStorage_idl__
+#include <com/sun/star/embed/BaseStorage.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactedObject_idl__
+#include <com/sun/star/embed/XTransactedObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactionBroadcaster_idl__
+#include <com/sun/star/embed/XTransactionBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifiable_idl__
+#include <com/sun/star/util/XModifiable.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//============================================================================
+
+ 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 <type>StorageFactory</type>
+ service. Substorages are created through <type>XStorage</type> 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 <type scope="com::sun::star::lang">XComponent</type>
+ </dt>
+ <dd>
+ <p>
+ A root storage is created by <type>StorageFactory</type>
+ 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 <type>XStorage</type>
+ 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 noncommited changes will be lost.
+ </p>
+ </dd>
+ <dt>interface <type>XStorage</type></dt>
+ <dd>
+ <dl>
+ <dt><method>XStorage::openStreamElement</method></dt>
+ <dd>
+ <p>
+ This method returns <type>StorageStream</type>
+ service implementation.
+ </p>
+
+ <p>
+ If the child stream is an encrypted one a corect
+ common storage password should be set through
+ <type>XEncryptionProtectedSource</type> 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><method>XStorage::openEncryptedStreamElement</method></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
+ <type>XEncryptionProtectedSource</type> interface. In
+ case a new password is not specified an old one will
+ be used for storing.
+ </dd>
+
+ <dt><method>XStorage::openStorageElement</method></dt>
+ <dd>
+ This method returns <type>Storage</type> service
+ implementation.
+ </dd>
+
+ <dt><method>XStorage::cloneStreamElement</method></dt>
+ <dd>
+ <p>
+ This method returns <type>StorageStream</type> service
+ implementation.
+ </p>
+
+ <p>
+ The latest flashed version of the stream will be used.
+ The stream can be flashed explicitly by
+ <method scope="com::sun::star::io">XOutputStream::flush</method>
+ 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 commited 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 corect
+ common storage password should be set through
+ <type>XEncryptionProtectedSource</type> 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><method>XStorage::cloneEncryptedStreamElement</method></dt>
+ <dd>
+ <p>
+ This method returns <type>StorageStream</type> service
+ implementation.
+ </p>
+
+ <p>
+ The latest flashed version of the stream will be used.
+ The stream can be flashed explicitly by
+ <method scope="com::sun::star::io">XOutputStream::flush</method>
+ 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 commited 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><method>XStorage::copyLastCommitTo</method></dt>
+ <dd>
+ This method gets <type>Storage</type> service
+ implementation and fills it in with the latest
+ commited version of this storage. So in case the
+ storage was not commited after it was changed, the
+ changes will not appear in the new created storage.
+ </dd>
+
+ <dt><method>XStorage::copyStorageElementLastCommitTo</method></dt>
+ <dd>
+ <p>
+ This method gets <type>Storage</type> service
+ implementation and fills it in with the contents of
+ the requested substorage. The latest commited version
+ of child storage will be used. So in case the child
+ storage was not commited 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><method>XStorage::removeStorageElement</method></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 commited all changes made to it will be integrated to
+ it's parent storage. This is recursive process, so the last commited
+ 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 commited, no changes for it or it's 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 deside 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
+ <type>XEncryptionProtectedSource</type> interface.
+ </p>
+ */
+ [property, optional, readonly] boolean HasEncryptedEntries;
+
+ // -----------------------------------------------------------------------
+ /** allows to detect if the storage contains nonencrypted entries.
+
+ <p>
+ In case it is set to <TRUE/> the storage itself and/or a tree of
+ substorages contains nonencrypted streams. Usually in case this
+ property is supported the implementation supports
+ <type>XEncryptionProtectedSource</type> interface.
+ </p>
+ */
+ [property, optional, readonly] boolean HasNonEncryptedEntries;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/StorageFactory.idl b/offapi/com/sun/star/embed/StorageFactory.idl
new file mode 100644
index 000000000000..4b4b40d01a4c
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageFactory.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_StorageFactory_idl__
+#define __com_sun_star_embed_StorageFactory_idl__
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** The <type>StorageFactory</type> is a service that allows to create
+ a storage based on either stream or URL.
+ */
+published service StorageFactory
+{
+ // ----------------------------------------------------------------------
+ /** A storage can be created through this interface.
+
+ <p>
+ In case
+ <method scope="com::sun::star::lang">XSingleServiceFactory::createInstance</method>
+ call is used the result storage will be open in readwrite mode based
+ on an arbitrary medium.
+ </p>
+
+ <p>
+ In case
+ <method scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments</method>
+ 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
+ <type scope="com::sun::star::io">XStream</type>
+ implementation or
+ <type scope="com::sun::star::io">XInputStream</type>;
+ in case of
+ <type scope="com::sun::star::io">XStream</type>
+ implementation
+ the <type scope="com::sun::star::io">XSeekable</type>
+ interface must be supported.
+ </dd>
+
+ <dt>parameter 2</dt>
+ <dd>
+ specifies mode the storage should be open in, can take
+ values from <type>ElementModes</type> constant set.
+ </dd>
+
+ <dt>parameter 3</dt>
+ <dd>
+ this paramenter represents
+ <type scope="com::sun::star::uno">Any</type>
+ containing a sequence of
+ <type scope="com::sun::star::beans">PropertyValue</type>.<br>
+ The parameter can contain entries from
+ <type scope="com::sun::star::document">MediaDescryptor</type>
+ to transport some document info during the storage
+ initialization, it can be for example
+ <type scope="com::sun::star::task">XInteractionHandler</type>
+ implementation, password for the storage and repair
+ package flag.<br>
+ Additionaly the parameter might contain property with the name
+ "StorageFormat" that can take values from
+ <type scope="com::sun::star::embed">StorageFormats</type>.
+ 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
+ <member scope="com::sun::star::lang">XSingleServiceFactory::createInstance</member>.
+ 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>
+ */
+ interface ::com::sun::star::lang::XSingleServiceFactory;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/StorageFormats.idl b/offapi/com/sun/star/embed/StorageFormats.idl
new file mode 100644
index 000000000000..128fb1190b15
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageFormats.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>StorageFactory</type>.
+
+ @see <type>StorageFactory</type>
+ @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
+
diff --git a/offapi/com/sun/star/embed/StorageStream.idl b/offapi/com/sun/star/embed/StorageStream.idl
new file mode 100644
index 000000000000..1fb6733605f0
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageStream.idl
@@ -0,0 +1,239 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_embed_StorageStream_idl__
+#define __com_sun_star_embed_StorageStream_idl__
+
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XSeekable_idl__
+#include <com/sun/star/io/XSeekable.idl>
+#endif
+
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** This is a service that represents a stream that can be provided by
+ <type>XStorage</type>::openStreamElement() call implemented by
+ <type>Storage</type> service.
+
+ <p>
+ In case a stream is open with readwrite access only one instance
+ of the stream can exist.
+ </p>
+ */
+published service StorageStream
+{
+ // -----------------------------------------------------------------------
+ /** allows to get access to <type scope="com::sun::star::io">XInputStream</type>
+ and <type scope="com::sun::star::io">XOutputStream</type>
+ implementations.
+
+ <p>
+ In case the storage stream is open readonly the returned reference
+ to <type scope="com::sun::star::io">XOutputStream</type> 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 readwrite 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
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>
+ call or by explicit closing of input and output ( if provided )
+ streams implementations with
+ <member scope="com::sun::star::io">XInputStream::closeInput()</member>
+ and
+ <member scope="com::sun::star::io">XOutputStream::closeOutput()</member>
+ calls.
+ </p>
+
+ <p>
+ When a stream is disposed all the changes that were done for it are
+ automatically flashed, so that they becomes 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 it's methods should result in
+ <type scope="com::sun::star::lang">DisposedException</type>.
+ </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 readwrite 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
+ <type>XEncryptionProtectedSource</type> 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 commited.
+
+ <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 commited.
+ <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 nonencrypted until the closest storage
+ in the parent hierarchy, that has common storage password, is commited.
+ 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
+ <type>XEncryptionProtectedSource</type> interface the value is
+ automatically set to <FALSE/> and the stream becomes encrypted
+ with specified password immediatelly.
+ </p>
+
+ <p>
+ In case stream is encrypted one and the value is set to <TRUE/>
+ the stream becomes nonencrypted until the common storage password
+ holder is commited. The data about previously set password ( if any )
+ will be removed and the stream can be accessed as nonencrypted stream.
+ </p>
+ */
+ [property] boolean UseCommonStoragePasswordEncryption;
+
+ // -----------------------------------------------------------------------
+ /** allows to detect size of the stream in bytes.
+ */
+ [property, readonly] long Size;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/StorageWrappedTargetException.idl b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
new file mode 100644
index 000000000000..aed449eb90a1
--- /dev/null
+++ b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#define __com_sun_star_embed_StorageWrappedTargetException_idl__
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+
+/** This exception can wrap an exception thrown during <type>XStorage</type>
+ methods execution.
+ */
+published exception StorageWrappedTargetException: com::sun::star::lang::WrappedTargetException
+{
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/UnreachableStateException.idl b/offapi/com/sun/star/embed/UnreachableStateException.idl
new file mode 100644
index 000000000000..be53beda3bc3
--- /dev/null
+++ b/offapi/com/sun/star/embed/UnreachableStateException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_UnreachableStateException_idl__
+#define __com_sun_star_embed_UnreachableStateException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/UseBackupException.idl b/offapi/com/sun/star/embed/UseBackupException.idl
new file mode 100644
index 000000000000..e7d74d30f52c
--- /dev/null
+++ b/offapi/com/sun/star/embed/UseBackupException.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_UseBackupException_idl__
+#define __com_sun_star_embed_UseBackupException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//============================================================================
+
+ 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 failes 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
+
diff --git a/offapi/com/sun/star/embed/VerbAttributes.idl b/offapi/com/sun/star/embed/VerbAttributes.idl
new file mode 100644
index 000000000000..742e782eb5c9
--- /dev/null
+++ b/offapi/com/sun/star/embed/VerbAttributes.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/embed/VerbDescriptor.idl b/offapi/com/sun/star/embed/VerbDescriptor.idl
new file mode 100644
index 000000000000..f213c5969952
--- /dev/null
+++ b/offapi/com/sun/star/embed/VerbDescriptor.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>VerbAttributes</type>.
+ </p>
+ */
+ long VerbAttributes;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/VisualRepresentation.idl b/offapi/com/sun/star/embed/VisualRepresentation.idl
new file mode 100644
index 000000000000..8d07575008bb
--- /dev/null
+++ b/offapi/com/sun/star/embed/VisualRepresentation.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_VisualRepresentation_idl__
+#define __com_sun_star_embed_VisualRepresentation_idl__
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>Flavor</member>.
+ */
+ any Data;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/WrongStateException.idl b/offapi/com/sun/star/embed/WrongStateException.idl
new file mode 100644
index 000000000000..809389c3a1fa
--- /dev/null
+++ b/offapi/com/sun/star/embed/WrongStateException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#define __com_sun_star_embed_WrongStateException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XActionsApproval.idl b/offapi/com/sun/star/embed/XActionsApproval.idl
new file mode 100644
index 000000000000..d3b64367a97b
--- /dev/null
+++ b/offapi/com/sun/star/embed/XActionsApproval.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XActionsApproval_idl__
+#define __com_sun_star_embed_XActionsApproval_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//============================================================================
+
+ 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 <type>Actions</type> 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
+ <type>InstanceLocker</type> does.
+
+ @return
+ returns <TRUE/> in case the specified action is approved.
+ */
+ boolean approveAction( [in] long nAction );
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XClassifiedObject.idl b/offapi/com/sun/star/embed/XClassifiedObject.idl
new file mode 100644
index 000000000000..2cde70fa8566
--- /dev/null
+++ b/offapi/com/sun/star/embed/XClassifiedObject.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XClassifiedObject_idl__
+#define __com_sun_star_embed_XClassifiedObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XCommonEmbedPersist.idl b/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
new file mode 100644
index 000000000000..8b82c44965e0
--- /dev/null
+++ b/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XCommonEmbedPersist_idl__
+#define __com_sun_star_embed_XCommonEmbedPersist_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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 persistance it will be reloaded from it's persistant
+ entry.
+ </p>
+
+ @param aMediaArgs
+ optional parameters for document reloading, see also
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @param aObjectArgs
+ optional parameters for object reloading, see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @thrown ::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\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
+
diff --git a/offapi/com/sun/star/embed/XComponentSupplier.idl b/offapi/com/sun/star/embed/XComponentSupplier.idl
new file mode 100644
index 000000000000..548b5aa24510
--- /dev/null
+++ b/offapi/com/sun/star/embed/XComponentSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XComponentSupplier_idl__
+#define __com_sun_star_embed_XComponentSupplier_idl__
+
+#ifndef __com_sun_star_util_XCloseable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::lang">XComponent</type> interface.
+ </p>
+
+ @return
+ component representation
+ */
+ ::com::sun::star::util::XCloseable getComponent();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
new file mode 100644
index 000000000000..45f3aef06cd6
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbedObjectClipboardCreator_idl__
+#define __com_sun_star_embed_XEmbedObjectClipboardCreator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InsertedObjectInfo_idl__
+#include <com/sun/star/embed/InsertedObjectInfo.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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 infomation will be returned in the
+ <type>InsertedObjectInfo</type> 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
+ <type>EmbeddedObjectDescriptor</type>
+
+ @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\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
+
diff --git a/offapi/com/sun/star/embed/XEmbedObjectCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
new file mode 100644
index 000000000000..a214851922ad
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbedObjectCreator_idl__
+#define __com_sun_star_embed_XEmbedObjectCreator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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
+ <type>EmbeddedObjectDescriptor</type>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\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
+ <type scope="com::sun::star::document">MediaDescriptor</type> 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 <type>EmbeddedObjectDescriptor</type>
+ contains object related properties
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @thrown ::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
+ <type scope="com::sun::star::document">MediaDescriptor</type>.
+
+ <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
+ <type scope="com::sun::star::document">MediaDescriptor</type> that
+ specifies source
+
+ @param aObjectArgs
+ an object of type <type>EmbeddedObjectDescriptor</type>
+ contains object related properties
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\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
+
diff --git a/offapi/com/sun/star/embed/XEmbedObjectFactory.idl b/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
new file mode 100644
index 000000000000..67a355054c48
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbedObjectFactory_idl__
+#define __com_sun_star_embed_XEmbedObjectFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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 a object.
+ </p>
+
+ <p>
+ If the service implementation does not support
+ <type>XEmbedObjectCreator</type> 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 <type>EntryInitModes</type> constant set
+
+ @param aArgs
+ optional parameters for the embedded document persistence
+ initialization, see also
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\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
+
diff --git a/offapi/com/sun/star/embed/XEmbedPersist.idl b/offapi/com/sun/star/embed/XEmbedPersist.idl
new file mode 100644
index 000000000000..73f807188ba6
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbedPersist.idl
@@ -0,0 +1,275 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbedPersist_idl__
+#define __com_sun_star_embed_XEmbedPersist_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XCommonEmbedPersist_idl__
+#include <com/sun/star/embed/XCommonEmbedPersist.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @thrown ::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\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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @param aObjectArgs
+ optional parameters for the object saving, see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @thrown ::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 <method>XEmbedPersist::saveCompleted</method> 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
+ <method>XEmbedPersist::saveCompleted</method> 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @param aObjectArgs
+ optional parameters for the object saving, see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @thrown ::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
+
diff --git a/offapi/com/sun/star/embed/XEmbeddedClient.idl b/offapi/com/sun/star/embed/XEmbeddedClient.idl
new file mode 100644
index 000000000000..f361ea2d8653
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedClient.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbeddedClient_idl__
+#define __com_sun_star_embed_XEmbeddedClient_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XComponentSupplier_idl__
+#include <com/sun/star/embed/XComponentSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_embed_ObjectSaveVetoException_idl__
+#include <com/sun/star/embed/ObjectSaveVetoException.idl>
+#endif
+
+
+
+//============================================================================
+
+ 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 whants 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
+
diff --git a/offapi/com/sun/star/embed/XEmbeddedObject.idl b/offapi/com/sun/star/embed/XEmbeddedObject.idl
new file mode 100644
index 000000000000..e0368736279f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEmbeddedObject.idl
@@ -0,0 +1,306 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEmbeddedObject_idl__
+#define __com_sun_star_embed_XEmbeddedObject_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XEmbeddedClient_idl__
+#include <com/sun/star/embed/XEmbeddedClient.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XVisualObject_idl__
+#include <com/sun/star/embed/XVisualObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XClassifiedObject_idl__
+#include <com/sun/star/embed/XClassifiedObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XComponentSupplier_idl__
+#include <com/sun/star/embed/XComponentSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStateChangeBroadcaster_idl__
+#include <com/sun/star/embed/XStateChangeBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_embed_VerbDescriptor_idl__
+#include <com/sun/star/embed/VerbDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_embed_UnreachableStateException_idl__
+#include <com/sun/star/embed/UnreachableStateException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_NeedsRunningStateException_idl__
+#include <com/sun/star/embed/NeedsRunningStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloseable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+
+
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** represents common functionality for embedded objects.
+ */
+published interface XEmbeddedObject
+{
+ // INTERFACES
+ //
+ //------------------------------------------------------------------------
+ /** represents common visualisation 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
+ <type scope="com::sun::star::embed">EmbedStates</type>
+
+ @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::NeedsRunnignStateException
+ 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
+ <type>EmbedVerbs</type>
+
+ @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::NeedsRunnignStateException
+ 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
+ <type>EmbeddedUpdateModes</type>
+
+ @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 <type>EmbedMisc</type> 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
+
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
new file mode 100644
index 000000000000..9a71b99e871b
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__
+#define __com_sun_star_embed_XEncryptionProtectedSource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl
new file mode 100644
index 000000000000..e590a5764178
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource2_idl__
+#define __com_sun_star_embed_XEncryptionProtectedSource2_idl__
+
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module embed {
+
+//============================================================================
+/** This interface allows to set a password for an object.
+ */
+published 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 );
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XExtendedStorageStream.idl b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
new file mode 100644
index 000000000000..397358db57ec
--- /dev/null
+++ b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XExtendedStorageStream_idl__
+#define __com_sun_star_embed_XExtendedStorageStream_idl__
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XSeekable_idl__
+#include <com/sun/star/io/XSeekable.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__
+#include <com/sun/star/embed/XEncryptionProtectedSource.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactedObject_idl__
+#include <com/sun/star/embed/XTransactedObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactionBroadcaster_idl__
+#include <com/sun/star/embed/XTransactionBroadcaster.idl>
+#endif
+
+//============================================================================
+
+ 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 readwrite 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 <type>XTransactedObject</type> interface is implemented this
+ interface must be implemented as well.
+ </p>
+ */
+ [optional] interface ::com::sun::star::embed::XTransactionBroadcaster;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XHatchWindow.idl b/offapi/com/sun/star/embed/XHatchWindow.idl
new file mode 100644
index 000000000000..33733958f6cd
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindow.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XHatchWindow_idl__
+#define __com_sun_star_embed_XHatchWindow_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XHatchWindowController_idl__
+#include <com/sun/star/embed/XHatchWindowController.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XHatchWindowController.idl b/offapi/com/sun/star/embed/XHatchWindowController.idl
new file mode 100644
index 000000000000..7ec2e0c5a5bb
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindowController.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XHatchWindowController_idl__
+#define __com_sun_star_embed_XHatchWindowController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XHatchWindowFactory.idl b/offapi/com/sun/star/embed/XHatchWindowFactory.idl
new file mode 100644
index 000000000000..79d8db04832d
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHatchWindowFactory.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XHatchWindowFactory_idl__
+#define __com_sun_star_embed_XHatchWindowFactory_idl__
+
+#ifndef __com_sun_star_embed_XHatchWindow_idl__
+#include <com/sun/star/embed/XHatchWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//============================================================================
+
+ 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::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
+
diff --git a/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
new file mode 100644
index 000000000000..1f2cdcf132f9
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XHierarchicalStorageAccess_idl__
+#define __com_sun_star_embed_XHierarchicalStorageAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XExtendedStorageStream_idl__
+#include <com/sun/star/embed/XExtendedStorageStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> values
+
+ @param sPassword
+ this parameter allowes 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 eny 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
+
diff --git a/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl b/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl
new file mode 100644
index 000000000000..0df83ea33580
--- /dev/null
+++ b/offapi/com/sun/star/embed/XHierarchicalStorageAccess2.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XHierarchicalStorageAccess2_idl__
+#define __com_sun_star_embed_XHierarchicalStorageAccess2_idl__
+
+#ifndef __com_sun_star_embed_XHierarchicalStorageAccess_idl__
+#include <com/sun/star/embed/XHierarchicalStorageAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//============================================================================
+
+ 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> values
+
+ @param aEncryptionData
+ this parameter allowes 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::io::IOException,
+ ::com::sun::star::embed::StorageWrappedTargetException );
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XInplaceClient.idl b/offapi/com/sun/star/embed/XInplaceClient.idl
new file mode 100644
index 000000000000..b4edc9794c7e
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInplaceClient.idl
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XInplaceClient_idl__
+#define __com_sun_star_embed_XInplaceClient_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#include <com/sun/star/frame/XLayoutManager.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+
+//============================================================================
+
+ 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 it's 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
+ <type scope="com::sun::star::frame">LayoutManager</type> of the
+ container.
+
+ @return
+ reference to object representing the
+ <type scope="com::sun::star::frame">LayoutManager</type> 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
+ <type scope="com::sun::star::frame">XDispatchProvider</type>
+
+ @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 whants 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
+
diff --git a/offapi/com/sun/star/embed/XInplaceObject.idl b/offapi/com/sun/star/embed/XInplaceObject.idl
new file mode 100644
index 000000000000..3ca6bdf359fb
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInplaceObject.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XInplaceObject_idl__
+#define __com_sun_star_embed_XInplaceObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+
+
+//============================================================================
+
+ 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 contaner whants 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 whants 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
+
diff --git a/offapi/com/sun/star/embed/XInsertObjectDialog.idl b/offapi/com/sun/star/embed/XInsertObjectDialog.idl
new file mode 100644
index 000000000000..7b98a1c767a2
--- /dev/null
+++ b/offapi/com/sun/star/embed/XInsertObjectDialog.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XInsertObjectDialog_idl__
+#define __com_sun_star_embed_XInsertObjectDialog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InsertedObjectInfo_idl__
+#include <com/sun/star/embed/InsertedObjectInfo.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ 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 infomation will be returned in the
+ <type>InsertedObjectInfo</type> 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 <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @returns
+ the structure containing the object and container related options
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\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
+
diff --git a/offapi/com/sun/star/embed/XLinkCreator.idl b/offapi/com/sun/star/embed/XLinkCreator.idl
new file mode 100644
index 000000000000..be4bbe613288
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkCreator.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XLinkCreator_idl__
+#define __com_sun_star_embed_XLinkCreator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ and initializes it as a link.
+
+ <p>
+ In case the entry exists already all it's contents will be ignored and
+ rewritten on storing of the object.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created/opened in
+
+ @param sEntryName
+ a name for the entry
+
+ @param aArgs
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ the link will be based on
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization,
+ see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the argument is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\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
+
diff --git a/offapi/com/sun/star/embed/XLinkFactory.idl b/offapi/com/sun/star/embed/XLinkFactory.idl
new file mode 100644
index 000000000000..cd77fbfe0dbb
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkFactory.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XLinkFactory_idl__
+#define __com_sun_star_embed_XLinkFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ 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 aClassName
+ 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ that contains source for the link
+
+ @param aObjectArgs
+ optional parameters for the object persistence initialization
+ see also
+ <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ one of arguments is illegal
+
+ @throws com::sun::star::io::IOException
+ in case of io problems during opening\creation
+
+ @throws com::sun::star::uno::Exception
+ in case of other problems
+ */
+ ::com::sun::star::uno::XInterface createInstanceLinkUserInit(
+ [in] sequence< byte > aClassID,
+ [in] string sClassName,
+ [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
+
diff --git a/offapi/com/sun/star/embed/XLinkageSupport.idl b/offapi/com/sun/star/embed/XLinkageSupport.idl
new file mode 100644
index 000000000000..a4a53c36e7a8
--- /dev/null
+++ b/offapi/com/sun/star/embed/XLinkageSupport.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XLinkageSupport_idl__
+#define __com_sun_star_embed_XLinkageSupport_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XCommonEmbedPersist_idl__
+#include <com/sun/star/embed/XCommonEmbedPersist.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+//============================================================================
+
+ 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
+ <type>XEmbedPersist</type> 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\opened inside
+ provided storage. This entry will be used for the object persistence.
+ If the entry exists already all it's contents will be ignored.
+ </p>
+
+ @param xStorage
+ a parent storage the entry should be created\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 staies 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
+
diff --git a/offapi/com/sun/star/embed/XOLESimpleStorage.idl b/offapi/com/sun/star/embed/XOLESimpleStorage.idl
new file mode 100644
index 000000000000..ac39370e8a8f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XOLESimpleStorage.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XOLESimpleStorage_idl__
+#define __com_sun_star_embed_XOLESimpleStorage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactedObject_idl__
+#include <com/sun/star/embed/XTransactedObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XClassifiedObject_idl__
+#include <com/sun/star/embed/XClassifiedObject.idl>
+#endif
+
+
+//============================================================================
+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 themself or streams.
+ </p>
+*/
+published interface XOLESimpleStorage
+{
+ //INTERFACES
+ //
+ //------------------------------------------------------------------------
+ /** interface <type>XNameContainer</type> is the generic interface for
+ supporting the insertion and removal of named elements.
+
+ <p>The access to the elements is provided though
+ <type>XNameContainer</type> methods.</p>
+ */
+ interface ::com::sun::star::container::XNameContainer;
+
+ //------------------------------------------------------------------------
+ /** interface <type>XComponent</type> allows to exclicitly free resources
+ and break cyclic references.
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ //------------------------------------------------------------------------
+ /** interface <type>XTransactedObject</type> allows transacted access to
+ an object.
+
+ <p>The storages are always opened in transdacted mode, the
+ <type>XTransactedObject</type> interface allows to commit the storage.
+ </p>
+ */
+ interface XTransactedObject;
+
+ //------------------------------------------------------------------------
+ /** interface <type>XClassifiedObject</type> represents common
+ functionality for embedded objects
+
+ <p>the <type>XClassifiedObject</type> interface allows to set/get the
+ ClassID of the storage.</p>
+ */
+ interface XClassifiedObject;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/embed/XOptimizedStorage.idl b/offapi/com/sun/star/embed/XOptimizedStorage.idl
new file mode 100644
index 000000000000..d51371fadfbb
--- /dev/null
+++ b/offapi/com/sun/star/embed/XOptimizedStorage.idl
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XOptimizedStorage_idl__
+#define __com_sun_star_embed_XOptimizedStorage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_EncryptionNotAllowedException_idl__
+#include <com/sun/star/packages/EncryptionNotAllowedException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoRawFormatException_idl__
+#include <com/sun/star/packages/NoRawFormatException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+//============================================================================
+
+ 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 depricated soon!
+ Another solution will be introduced as final one.
+ */
+published interface XOptimizedStorage
+{
+ // -----------------------------------------------------------------------
+ /** allows to insert a raw stream representing nonencrypted 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 commited.
+ */
+ 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 guarantied 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
+
diff --git a/offapi/com/sun/star/embed/XPackageStructureCreator.idl b/offapi/com/sun/star/embed/XPackageStructureCreator.idl
new file mode 100644
index 000000000000..c76d4c787cc7
--- /dev/null
+++ b/offapi/com/sun/star/embed/XPackageStructureCreator.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XPackageStructureCreator_idl__
+#define __com_sun_star_embed_XPackageStructureCreator_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module embed {
+
+//=============================================================================
+/** allows to convert file system folder tree in to a package.
+ */
+published interface XPackageStructureCreator: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** converts file system folder tree in to 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
+
diff --git a/offapi/com/sun/star/embed/XPersistanceHolder.idl b/offapi/com/sun/star/embed/XPersistanceHolder.idl
new file mode 100644
index 000000000000..5528fe62e143
--- /dev/null
+++ b/offapi/com/sun/star/embed/XPersistanceHolder.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XPersistanceHolder_idl__
+#define __com_sun_star_embed_XPersistanceHolder_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+//=============================================================================
+
+ 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 persistance.
+
+ @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 persistance.
+
+ @param xStream
+ a stream that specify the persistance
+
+ @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
+
diff --git a/offapi/com/sun/star/embed/XRelationshipAccess.idl b/offapi/com/sun/star/embed/XRelationshipAccess.idl
new file mode 100644
index 000000000000..3c934caf1f33
--- /dev/null
+++ b/offapi/com/sun/star/embed/XRelationshipAccess.idl
@@ -0,0 +1,283 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XRelationshipAccess_idl__
+#define __com_sun_star_embed_XRelationshipAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** This interface allows to ge 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 uniqued for the whole set of entries,
+ this tag is used as a uniqued identified 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,
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the tag name and
+ <type scope="::com::sun::star::beans">StringPair</type>::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,
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the tag name and
+ <type scope="::com::sun::star::beans">StringPair</type>::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,
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the tag name and
+ <type scope="::com::sun::star::beans">StringPair</type>::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,
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the tag name and
+ <type scope="::com::sun::star::beans">StringPair</type>::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,
+ <type scope="::com::sun::star::beans">StringPair</type>::First
+ represents the tag name and
+ <type scope="::com::sun::star::beans">StringPair</type>::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
+
diff --git a/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl b/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
new file mode 100644
index 000000000000..91a47e8f6288
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStateChangeBroadcaster_idl__
+#define __com_sun_star_embed_XStateChangeBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStateChangeListener_idl__
+#include <com/sun/star/embed/XStateChangeListener.idl>
+#endif
+
+
+//============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/embed/XStateChangeListener.idl b/offapi/com/sun/star/embed/XStateChangeListener.idl
new file mode 100644
index 000000000000..3c552de33222
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStateChangeListener.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStateChangeListener_idl__
+#define __com_sun_star_embed_XStateChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+//============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/embed/XStorage.idl b/offapi/com/sun/star/embed/XStorage.idl
new file mode 100644
index 000000000000..0a98cfa3e8eb
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorage.idl
@@ -0,0 +1,661 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStorage_idl__
+#define __com_sun_star_embed_XStorage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoRawFormatException_idl__
+#include <com/sun/star/packages/NoRawFormatException.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+ <method scope="com::sun::star::container">XNameAccess::getByName</method>
+ call. But the recommended way is to use <type>XStorage</type>
+ interface for this purpose.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameAccess;
+
+ // -----------------------------------------------------------------------
+ /** allows to controll and track lifetime of the storage.
+
+ <p>
+ In case a storage is disposed any call to it's methods should result
+ in <type scope="com::sun::star::lang">DisposedException</type>.
+ </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
+ commited 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
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> values
+
+ @param sPassword
+ this parameter allowes 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
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ The stream is open in readonly mode so the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 allowes 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 it's last commit.
+
+ <p>
+ This method makes sence only for services implementations that allow
+ transaction in the storage.
+ </p>
+
+ @param xStorage
+ 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 it's last commit.
+
+ <p>
+ This method makes sence only for services implementations that allow
+ transaction in the storage.
+ </p>
+
+ @param sStorName
+ the name of the storage that should be copied
+
+ @param xStorage
+ 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 eny 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 eny 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 commited 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 eny 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 commited 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 eny 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
+
diff --git a/offapi/com/sun/star/embed/XStorage2.idl b/offapi/com/sun/star/embed/XStorage2.idl
new file mode 100644
index 000000000000..cf4f9907b66e
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorage2.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStorage2_idl__
+#define __com_sun_star_embed_XStorage2_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ In case the stream is open in readonly mode the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 <type>ElementModes</type> values
+
+ @param aEncryptionData
+ this parameter allowes 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
+ <type scope="com::sun::star::packages">NoEncryptionException</type>.
+ </p>
+
+ <p>
+ The stream is open in readonly mode so the
+ <method scope="com::sun::star::io">XStream::getOutputStream</method>
+ 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 allowes 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
+
diff --git a/offapi/com/sun/star/embed/XStorageRawAccess.idl b/offapi/com/sun/star/embed/XStorageRawAccess.idl
new file mode 100644
index 000000000000..b70b2e3c1235
--- /dev/null
+++ b/offapi/com/sun/star/embed/XStorageRawAccess.idl
@@ -0,0 +1,235 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XStorageRawAccess_idl__
+#define __com_sun_star_embed_XStorageRawAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_StorageWrappedTargetException_idl__
+#include <com/sun/star/embed/StorageWrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_InvalidStorageException_idl__
+#include <com/sun/star/embed/InvalidStorageException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoRawFormatException_idl__
+#include <com/sun/star/packages/NoRawFormatException.idl>
+#endif
+
+
+//============================================================================
+
+ 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/decription 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 reccomended 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
+ resposible 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
+
+ @param xInputStream
+ 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::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 retrived by
+ <method>XStorageRawAccess::getRawEncrStreamElement()</method> 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 reccomended 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 xInputStream
+ 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
+
diff --git a/offapi/com/sun/star/embed/XTransactedObject.idl b/offapi/com/sun/star/embed/XTransactedObject.idl
new file mode 100644
index 000000000000..80f86187a7c6
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactedObject.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XTransactedObject_idl__
+#define __com_sun_star_embed_XTransactedObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/XTransactionBroadcaster.idl b/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
new file mode 100644
index 000000000000..fb5b7d2acc06
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XTransactionBroadcaster_idl__
+#define __com_sun_star_embed_XTransactionBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XTransactionListener_idl__
+#include <com/sun/star/embed/XTransactionListener.idl>
+#endif
+
+
+//============================================================================
+
+module com { module sun { module star { module embed {
+
+//============================================================================
+
+/** broadcasts messege in case transacted object is commited 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
+
diff --git a/offapi/com/sun/star/embed/XTransactionListener.idl b/offapi/com/sun/star/embed/XTransactionListener.idl
new file mode 100644
index 000000000000..89e80956cf11
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransactionListener.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XTransactionListener_idl__
+#define __com_sun_star_embed_XTransactionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module embed {
+
+//============================================================================
+
+/** makes it possible to receive events when a transacted object is commited
+ or reverted.
+ */
+published interface XTransactionListener: com::sun::star::lang::XEventListener
+{
+ //------------------------------------------------------------------------
+ /** is called just before the object is commited.
+ */
+ void preCommit( [in] com::sun::star::lang::EventObject aEvent )
+ raises( ::com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** is called after the object is commited.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/embed/XTransferableSupplier.idl b/offapi/com/sun/star/embed/XTransferableSupplier.idl
new file mode 100644
index 000000000000..d22c6fb27769
--- /dev/null
+++ b/offapi/com/sun/star/embed/XTransferableSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XTransferableSupplier_idl__
+#define __com_sun_star_embed_XTransferableSupplier_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+//============================================================================
+
+ module com { module sun { module star { module embed {
+
+//============================================================================
+/** provide access to a
+ <type scope="com::sun::star::datatransfer">XTransferable</type>
+ implementation from the object.
+ */
+published interface XTransferableSupplier: com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** allows to get access to
+ <type scope="com::sun::star::datatransfer">XTransferable</type>
+ implementation.
+
+ @return
+ <type scope="com::sun::star::datatransfer">XTransferable</type>
+ implementation
+ */
+ ::com::sun::star::datatransfer::XTransferable getTransferable();
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl
new file mode 100644
index 000000000000..158c49851a6f
--- /dev/null
+++ b/offapi/com/sun/star/embed/XVisualObject.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XVisualObject_idl__
+#define __com_sun_star_embed_XVisualObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_embed_VisualRepresentation_idl__
+#include <com/sun/star/embed/VisualRepresentation.idl>
+#endif
+
+#ifndef __com_sun_star_embed_WrongStateException_idl__
+#include <com/sun/star/embed/WrongStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module embed {
+
+//=============================================================================
+/** represents common visualisation 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 <type>Aspects</type> 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 <type>Aspects</type> 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 persistance 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 <type>Aspects</type> 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 <type>Aspects</type> constant set.
+
+ @return
+ the map mode the object communicates in, it can take values from
+ <type>EmbedMapUnits</type> 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
+
diff --git a/offapi/com/sun/star/embed/XWindowSupplier.idl b/offapi/com/sun/star/embed/XWindowSupplier.idl
new file mode 100644
index 000000000000..e878a65d21d2
--- /dev/null
+++ b/offapi/com/sun/star/embed/XWindowSupplier.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_embed_XWindowSupplier_idl__
+#define __com_sun_star_embed_XWindowSupplier_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/embed/makefile.mk b/offapi/com/sun/star/embed/makefile.mk
new file mode 100644
index 000000000000..8ee156af48ba
--- /dev/null
+++ b/offapi/com/sun/star/embed/makefile.mk
@@ -0,0 +1,119 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssembed
+PACKAGE=com$/sun$/star$/embed
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Actions.idl\
+ Aspects.idl\
+ BaseStorage.idl\
+ ElementModes.idl\
+ EmbedStates.idl\
+ EmbedVerbs.idl\
+ EmbedMapUnits.idl\
+ EmbedMisc.idl\
+ EmbedUpdateModes.idl\
+ EmbeddedObjectDescriptor.idl\
+ EntryInitModes.idl\
+ DocumentCloser.idl\
+ FileSystemStorage.idl\
+ FileSystemStorageFactory.idl\
+ InsertedObjectInfo.idl\
+ InstanceLocker.idl\
+ Storage.idl\
+ StorageStream.idl\
+ StorageFactory.idl\
+ StorageFormats.idl\
+ VerbAttributes.idl\
+ VisualRepresentation.idl\
+ VerbDescriptor.idl\
+ XActionsApproval.idl\
+ XPersistanceHolder.idl\
+ XEmbeddedObject.idl\
+ XVisualObject.idl\
+ XCommonEmbedPersist.idl\
+ XEmbedPersist.idl\
+ XLinkageSupport.idl\
+ XClassifiedObject.idl\
+ XInplaceObject.idl\
+ XEmbeddedClient.idl\
+ XEmbedObjectClipboardCreator.idl\
+ XEmbedObjectCreator.idl\
+ XEmbedObjectFactory.idl\
+ XLinkCreator.idl\
+ XLinkFactory.idl\
+ XEncryptionProtectedSource.idl\
+ XEncryptionProtectedSource2.idl\
+ XInplaceClient.idl\
+ XInsertObjectDialog.idl\
+ XWindowSupplier.idl\
+ XTransactedObject.idl\
+ XTransactionBroadcaster.idl\
+ XTransactionListener.idl\
+ XRelationshipAccess.idl\
+ XStateChangeBroadcaster.idl\
+ XStateChangeListener.idl\
+ XTransferableSupplier.idl\
+ XComponentSupplier.idl\
+ XStorage.idl\
+ XStorage2.idl\
+ XStorageRawAccess.idl\
+ XExtendedStorageStream.idl\
+ XHierarchicalStorageAccess.idl\
+ XHierarchicalStorageAccess2.idl\
+ XHatchWindowController.idl\
+ XHatchWindowFactory.idl\
+ XHatchWindow.idl\
+ XPackageStructureCreator.idl\
+ XOptimizedStorage.idl\
+ UnreachableStateException.idl\
+ UseBackupException.idl\
+ StateChangeInProgressException.idl\
+ WrongStateException.idl\
+ NoVisualAreaSizeException.idl\
+ ObjectSaveVetoException.idl\
+ InvalidStorageException.idl\
+ LinkageMisuseException.idl\
+ NeedsRunningStateException.idl\
+ StorageWrappedTargetException.idl\
+ OLESimpleStorage.idl\
+ XOLESimpleStorage.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/form/DataAwareControlModel.idl b/offapi/com/sun/star/form/DataAwareControlModel.idl
new file mode 100644
index 000000000000..d8d52376de8e
--- /dev/null
+++ b/offapi/com/sun/star/form/DataAwareControlModel.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#define __com_sun_star_form_DataAwareControlModel_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundComponent_idl__
+#include <com/sun/star/form/XBoundComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_XLoadListener_idl__
+#include <com/sun/star/form/XLoadListener.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** is an abstract service for specialized <type>FormControlModel</type>s
+ 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 which's data the
+ control should display is made by parentship relations. The parent of a data-aware
+ control model (see <type scope="com::sun::star::container">XChild</type>, inherited
+ via the <type>FormControlModel</type> and <type>FormComponent</type> services) has
+ always to be a <type scope="com::sun::star::form::component">DataForm</type>.</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 it's 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 <type>DataAwareControlModel</type> 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 <type>XReset</type>) is as follows:<br/>
+ If (and only if) the control is valid bound to a column of it's <typee scope="com::sun::star::form::component">DataForm</type>, and the form
+ is not positioned on a new record (see <member scope="com::sun::star::sdb">RowSet::IsNew</member>), then
+ <member>XReset::reset</member> does not reset the model's value to it's 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 <type scope="com::sun::star::form::component">TextField</type>. It inherites
+ the <member scope="com::sun::star::awt">UnoControlEditModel::Text</member> property from the underlying
+ service, and additionally specifies the <member scope="com::sun::star::form::component">TextField::DefaultText</member>.
+ </p>
+
+ <p>In the context of a <type scope="com::sun::star::form::component">DataForm</type>, controls are
+ automatically reset when one of the following applies
+ <ul><li>The form is reset by invoking it's <type>XReset</type> 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 <type scope="com::sun::star::form::component">DataForm</type>, 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
+ <type>DataAwareControlModel</type> 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 <type scope="com::sun::star::sdb">Column</type> 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
+ <type scope="com::sun::star::form::component">TextField</type>, which is bound to the e-mail
+ column of your data source. Then you will probably add a
+ <type scope="com::sun::star::form::component">FixedText</type> which's label is "E-Mail",
+ and associate it with the TextField by setting it as <member>LabelControl</member>.<br/>
+ Now if you imagine a component offering data search in a form, this component will examine
+ the <member>LabelControl</member> property, find the <type scope="com::sun::star::form::component">FixedText</type>,
+ examine it's label, and use this label to refer to the <type scope="com::sun::star::form::component">TextField</type>.
+ </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><type scope="com::sun::star::awt">XControlModel</type></li>
+ <li><type scope="com::sun::star::lang">XServiceInfo</type></li>
+ <li><type scope="com::sun::star::beans">XPropertySet</type></li>
+ <li><type scope="com::sun::star::container">XChild</type></li>
+ </ul>
+ </il>
+ <li>It has to be a part of the same document as the model who's property is to be modified.</il>
+ <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 (<type scope="com::sun::star::form::component">TextField</type>) can be
+ labelled by label controls only (<type scope="com::sun::star::form::component">FixedText</type>),
+ and radio buttons (<type scope="com::sun::star::form::component">RadioButton</type>) can be labelled
+ by group boxes (<type scope="com::sun::star::form::component">GroupBox</type>) only.
+ </li>
+ </ul>
+ </p>
+ */
+ [property] com::sun::star::beans::XPropertySet LabelControl;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/DataSelectionType.idl b/offapi/com/sun/star/form/DataSelectionType.idl
new file mode 100644
index 000000000000..6633c63050d0
--- /dev/null
+++ b/offapi/com/sun/star/form/DataSelectionType.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_DataSelectionType_idl__
+#define __com_sun_star_form_DataSelectionType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::form::DataSelectionType
+/** 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
diff --git a/offapi/com/sun/star/form/DatabaseDeleteEvent.idl b/offapi/com/sun/star/form/DatabaseDeleteEvent.idl
new file mode 100644
index 000000000000..adad03001091
--- /dev/null
+++ b/offapi/com/sun/star/form/DatabaseDeleteEvent.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_DatabaseDeleteEvent_idl__
+#define __com_sun_star_form_DatabaseDeleteEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/form/DatabaseParameterEvent.idl b/offapi/com/sun/star/form/DatabaseParameterEvent.idl
new file mode 100644
index 000000000000..f933f612e345
--- /dev/null
+++ b/offapi/com/sun/star/form/DatabaseParameterEvent.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_DatabaseParameterEvent_idl__
+#define __com_sun_star_form_DatabaseParameterEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">DataForm</type> fires this
+ event when loading the form requires parameters to be filled in.</p>
+
+ <p>Every parameter object supports the <type scope="com::sun::star::beans">XPropertySet</type>
+ 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
diff --git a/offapi/com/sun/star/form/ErrorEvent.idl b/offapi/com/sun/star/form/ErrorEvent.idl
new file mode 100644
index 000000000000..b5267df0c7b5
--- /dev/null
+++ b/offapi/com/sun/star/form/ErrorEvent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_ErrorEvent_idl__
+#define __com_sun_star_form_ErrorEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::form::ErrorEvent
+/** 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
diff --git a/offapi/com/sun/star/form/FormButtonType.idl b/offapi/com/sun/star/form/FormButtonType.idl
new file mode 100644
index 000000000000..a1ef60487786
--- /dev/null
+++ b/offapi/com/sun/star/form/FormButtonType.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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, an 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
diff --git a/offapi/com/sun/star/form/FormComponent.idl b/offapi/com/sun/star/form/FormComponent.idl
new file mode 100644
index 000000000000..27bae9588631
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponent.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_FormComponent_idl__
+#define __com_sun_star_form_FormComponent_idl__
+
+#ifndef __com_sun_star_form_XFormComponent_idl__
+#include <com/sun/star/form/XFormComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyBag_idl__
+#include <com/sun/star/beans/PropertyBag.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::beans">XPropertyContainer</type> 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,
+ removeable. That is, the <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member>
+ will always be set, even if you do not specify it in the
+ <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p>
+
+ @since OpenOffice.org 2.3.0
+ */
+ [optional] service com::sun::star::beans::PropertyBag;
+
+ //-------------------------------------------------------------------------
+
+ /** the name of the component.
+
+ <p>Note that the name accessed here is the same as when using the
+ <type scope="com::sun::star::container">XNamed</type> interface.</p>
+ */
+ [property] string Name;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/FormComponentType.idl b/offapi/com/sun/star/form/FormComponentType.idl
new file mode 100644
index 000000000000..ac0655b3e42f
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponentType.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ an other 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 an 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 <type scope="com::sun::star::form::component">DataForm</type>
+ it belongs to, such as functionality to navigate or filter this form.
+ */
+ const short NAVIGATIONBAR = 22;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/FormComponents.idl b/offapi/com/sun/star/form/FormComponents.idl
new file mode 100644
index 000000000000..475deb7659d3
--- /dev/null
+++ b/offapi/com/sun/star/form/FormComponents.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_FormComponents_idl__
+#define __com_sun_star_form_FormComponents_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#include <com/sun/star/script/XEventAttacherManager.idl>
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** specifies the capabilities of a collection of <type>FormComponent</type>s.
+
+ <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 <type>FormComponents</type> service, there's no need to bother with
+ the container aspect of the <type scope="com::sun::star::script">XEventAttacherManager</type>
+ directly. A <type>FormComponents</type> container will automatically synchronize the elements
+ you put into it with the scripting information obtained at the
+ <type scope="com::sun::star::script">XEventAttacherManager</type> interface.</p>
+
+ <p>For instance, at any time you can obtain the events associated with the <code>n</code><super>th</super>
+ element in the form components by calling
+ <member scope="com::sun::star::script">XEventAttacherManager::getScriptEvents</member>
+ with paramter <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
diff --git a/offapi/com/sun/star/form/FormControlModel.idl b/offapi/com/sun/star/form/FormControlModel.idl
new file mode 100644
index 000000000000..c0cbc6051a75
--- /dev/null
+++ b/offapi/com/sun/star/form/FormControlModel.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#define __com_sun_star_form_FormControlModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponent_idl__
+#include <com/sun/star/form/FormComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <member>FormControlModel::TabIndex</member> property.</p>
+
+ <p>Normally, a <type>FormController</type> 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
diff --git a/offapi/com/sun/star/form/FormController.idl b/offapi/com/sun/star/form/FormController.idl
new file mode 100644
index 000000000000..f14fd5181355
--- /dev/null
+++ b/offapi/com/sun/star/form/FormController.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_FormController_idl__
+#define __com_sun_star_form_FormController_idl__
+
+#ifndef __com_sun_star_form_XFormController_idl__
+#include <com/sun/star/form/XFormController.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTabController_idl__
+#include <com/sun/star/awt/XTabController.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_form_XConfirmDeleteBroadcaster_idl__
+#include <com/sun/star/form/XConfirmDeleteBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XSQLErrorBroadcaster_idl__
+#include <com/sun/star/sdb/XSQLErrorBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XRowSetApproveBroadcaster_idl__
+#include <com/sun/star/sdb/XRowSetApproveBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_form_XDatabaseParameterBroadcaster_idl__
+#include <com/sun/star/form/XDatabaseParameterBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControllerDispatcher_idl__
+#include <com/sun/star/form/FormControllerDispatcher.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+module runtime {
+ published interface XFormOperations;
+};
+
+//=============================================================================
+
+/** is superseded by <type scope="com::sun::star::form::runtime">FormController</type>.
+ @deprecated
+*/
+published service FormController
+{
+ [optional] service FormControllerDispatcher;
+ [optional, property] ::com::sun::star::form::runtime::XFormOperations FormOperations;
+
+ /** 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
diff --git a/offapi/com/sun/star/form/FormControllerDispatcher.idl b/offapi/com/sun/star/form/FormControllerDispatcher.idl
new file mode 100644
index 000000000000..e277f95c9949
--- /dev/null
+++ b/offapi/com/sun/star/form/FormControllerDispatcher.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_FormControllerDispatcher_idl__
+#define __com_sun_star_form_FormControllerDispatcher_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** is not used anymore, and superseded by <type scope="com::sun::star::form::runtime">FormController</type> and
+ <type scope="com::sun::star::form::runtime">FormOperations</type>.
+
+ @deprecated
+ */
+published service FormControllerDispatcher
+{
+ [optional] interface com::sun::star::frame::XDispatchProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/FormSubmitEncoding.idl b/offapi/com/sun/star/form/FormSubmitEncoding.idl
new file mode 100644
index 000000000000..6fc95e8d5747
--- /dev/null
+++ b/offapi/com/sun/star/form/FormSubmitEncoding.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/form/FormSubmitMethod.idl b/offapi/com/sun/star/form/FormSubmitMethod.idl
new file mode 100644
index 000000000000..a002dc32d990
--- /dev/null
+++ b/offapi/com/sun/star/form/FormSubmitMethod.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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,
+
+ //-------------------------------------------------------------------------
+
+ /** speficies to send the input information in a data body.
+ */
+ POST
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/Forms.idl b/offapi/com/sun/star/form/Forms.idl
new file mode 100644
index 000000000000..533113d4aafd
--- /dev/null
+++ b/offapi/com/sun/star/form/Forms.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_Forms_idl__
+#define __com_sun_star_form_Forms_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponents_idl__
+#include <com/sun/star/form/FormComponents.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** specifies the capabilities of a collection of forms.
+
+ <p>Basically, a <type>Forms</type> is a <type>FormComponents</type>,
+ with the additional restriction that the contained elements support the
+ <type scope="com::sun::star::form::component">Form</type> service.</p>
+
+ @see com::sun::star::form::component::Form
+ */
+published service Forms
+{
+ service FormComponents;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/ListSourceType.idl b/offapi/com/sun/star/form/ListSourceType.idl
new file mode 100644
index 000000000000..9953b3b31c81
--- /dev/null
+++ b/offapi/com/sun/star/form/ListSourceType.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/form/NavigationBarMode.idl b/offapi/com/sun/star/form/NavigationBarMode.idl
new file mode 100644
index 000000000000..35cd358e9538
--- /dev/null
+++ b/offapi/com/sun/star/form/NavigationBarMode.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>TabulatorCycle</type>
+ value of <member>TabulatorCycle::CURRENT</member> 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 options is usually used for forms containing an grid control only.
+ In such a form, the control has it's own navigation elements, so there is
+ no need to use the navigation bar for the form, but rather for it's parent.
+ </p>
+ */
+ PARENT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/PropertyBrowserController.idl b/offapi/com/sun/star/form/PropertyBrowserController.idl
new file mode 100644
index 000000000000..52e50979654f
--- /dev/null
+++ b/offapi/com/sun/star/form/PropertyBrowserController.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_PropertyBrowserController_idl__
+#define __com_sun_star_form_PropertyBrowserController_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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 an <type scope="com::sun::star::frame">XFrame</type>, and will
+ provide a visual component for inspecting control properties. This means it allows to interactively control
+ several aspects of a <type>FormControlModel</type> or <type>DataAwareControlModel</type>, 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>instatiate 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>
+
+ @example Java
+ <listing>
+ 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 );
+ </listing>
+
+ @see com::sun::star::frame::XController
+
+ @deprecated
+ <p>Note that nowadays, this service is only a legacy wrapper using the
+ <type scope="com::sun::star::inspection">ObjectInspector</type> and the
+ <type scope="com::sun::star::form::inspection">DefaultFormComponentInspectorModel</type> 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 it's 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 <type>DataAwareControlModel</type> 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 acticve.</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) an <type scope="com::sun::star::frame">XFrame</type>.</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 indicies
+ */
+ 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
diff --git a/offapi/com/sun/star/form/TabulatorCycle.idl b/offapi/com/sun/star/form/TabulatorCycle.idl
new file mode 100644
index 000000000000..65da98a259bb
--- /dev/null
+++ b/offapi/com/sun/star/form/TabulatorCycle.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>FormController</type> should handle this.
+ <type>TabulatorCycle</type> specifies these possibilities.</p>
+
+ <p>Note that the <type>TabulatorCycle</type> 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
diff --git a/offapi/com/sun/star/form/XApproveActionBroadcaster.idl b/offapi/com/sun/star/form/XApproveActionBroadcaster.idl
new file mode 100644
index 000000000000..ef53896fd501
--- /dev/null
+++ b/offapi/com/sun/star/form/XApproveActionBroadcaster.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
+#define __com_sun_star_form_XApproveActionBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XApproveActionListener_idl__
+#include <com/sun/star/form/XApproveActionListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type>XApproveActionBroadcaster</type> interface implements
+ <type scope="com::sun::star::awt">XActionListener</type> as well.</p>
+ */
+published interface XApproveActionBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** adds the specified listener to receive the <member>XApproveActionListener::approveAction</member>
+ event.
+
+ @param aListener
+ the listener to be added
+ */
+ [oneway] void addApproveActionListener( [in] com::sun::star::form::XApproveActionListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener
+
+ @param aListener
+ the listener to be removed
+ */
+ [oneway] void removeApproveActionListener( [in] com::sun::star::form::XApproveActionListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XApproveActionListener.idl b/offapi/com/sun/star/form/XApproveActionListener.idl
new file mode 100644
index 000000000000..f35ef82ba509
--- /dev/null
+++ b/offapi/com/sun/star/form/XApproveActionListener.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XApproveActionListener_idl__
+#define __com_sun_star_form_XApproveActionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/form/XBoundComponent.idl b/offapi/com/sun/star/form/XBoundComponent.idl
new file mode 100644
index 000000000000..8a64b441f58a
--- /dev/null
+++ b/offapi/com/sun/star/form/XBoundComponent.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XBoundComponent_idl__
+#define __com_sun_star_form_XBoundComponent_idl__
+
+#ifndef __com_sun_star_form_XUpdateBroadcaster_idl__
+#include <com/sun/star/form/XUpdateBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>commit</member> will be
+ performed by the environment (usually, a <type>FormController</type>).<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 <type>XUpdateListener</type> 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
diff --git a/offapi/com/sun/star/form/XBoundControl.idl b/offapi/com/sun/star/form/XBoundControl.idl
new file mode 100644
index 000000000000..549e091ab1b5
--- /dev/null
+++ b/offapi/com/sun/star/form/XBoundControl.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#define __com_sun_star_form_XBoundControl_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setLock( [in] boolean bLock );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XChangeBroadcaster.idl b/offapi/com/sun/star/form/XChangeBroadcaster.idl
new file mode 100644
index 000000000000..e67f288c0433
--- /dev/null
+++ b/offapi/com/sun/star/form/XChangeBroadcaster.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XChangeBroadcaster_idl__
+#define __com_sun_star_form_XChangeBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XChangeListener_idl__
+#include <com/sun/star/form/XChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ */
+ [oneway] 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
+ */
+ [oneway] void removeChangeListener( [in] com::sun::star::form::XChangeListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XChangeListener.idl b/offapi/com/sun/star/form/XChangeListener.idl
new file mode 100644
index 000000000000..2b817320fb75
--- /dev/null
+++ b/offapi/com/sun/star/form/XChangeListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XChangeListener_idl__
+#define __com_sun_star_form_XChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 dedscriptor specifying the source of the event.
+ */
+ [oneway] void changed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl b/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl
new file mode 100644
index 000000000000..bf38373c2f49
--- /dev/null
+++ b/offapi/com/sun/star/form/XConfirmDeleteBroadcaster.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XConfirmDeleteBroadcaster_idl__
+#define __com_sun_star_form_XConfirmDeleteBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XConfirmDeleteListener_idl__
+#include <com/sun/star/form/XConfirmDeleteListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** provides the possibility of receiving an event for confirming deletions of
+ rows in a <type scope="com::sun::star::form::component">DataForm</type>.
+
+ @see XConfirmDeleteListener
+ */
+published interface XConfirmDeleteBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** remembers the specified listener to receive an event for confirming deletions
+
+ <p><member>XConfirmDeleteListener::confirmDelete</member> 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
+ */
+ [oneway] 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
+ */
+ [oneway] void removeConfirmDeleteListener( [in] com::sun::star::form::XConfirmDeleteListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XConfirmDeleteListener.idl b/offapi/com/sun/star/form/XConfirmDeleteListener.idl
new file mode 100644
index 000000000000..debd3db0265f
--- /dev/null
+++ b/offapi/com/sun/star/form/XConfirmDeleteListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XConfirmDeleteListener_idl__
+#define __com_sun_star_form_XConfirmDeleteListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_RowChangeEvent_idl__
+#include <com/sun/star/sdb/RowChangeEvent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** allows to register a component for confirming deletions of
+ rows in a <type scope="com::sun::star::form::component">DataForm</type>.
+
+ @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 dedscriptor specifying the deletion request.
+
+ @returns
+ <TRUE/> when the row caan be deleted, otherwise <FALSE/>.
+ */
+ boolean confirmDelete( [in] com::sun::star::sdb::RowChangeEvent aEvent );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl
new file mode 100644
index 000000000000..d73d1d4f9116
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XDatabaseParameterBroadcaster_idl__
+#define __com_sun_star_form_XDatabaseParameterBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XDatabaseParameterListener_idl__
+#include <com/sun/star/form/XDatabaseParameterListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::form::component">DataForm</type> 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 <type>XDatabaseParameterListener</type> 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
+ */
+ [oneway] 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
+ */
+ [oneway] void removeParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl
new file mode 100644
index 000000000000..28448b136be9
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterBroadcaster2.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XDatabaseParameterBroadcaster2_idl__
+#define __com_sun_star_form_XDatabaseParameterBroadcaster2_idl__
+
+#ifndef __com_sun_star_form_XDatabaseParameterBroadcaster_idl__
+#include <com/sun/star/form/XDatabaseParameterBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XDatabaseParameterBroadcaster</type> interface. It exists purely for compatibility
+ with the <member scope="com::sun::star::script">XEventAttacher::attachSingleEventListener</member>:
+ 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 <member>XDatabaseParameterBroadcaster::addParameterListener</member>
+ method inherited from the base interface.</p>
+ */
+ [oneway] void addDatabaseParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** revokes an XDatabaseParameterListener
+
+ <p>This method behaves exactly as the <member>XDatabaseParameterBroadcaster::removeParameterListener</member>
+ method inherited from the base interface.</p>
+ */
+ [oneway] void removeDatabaseParameterListener( [in] com::sun::star::form::XDatabaseParameterListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XDatabaseParameterListener.idl b/offapi/com/sun/star/form/XDatabaseParameterListener.idl
new file mode 100644
index 000000000000..38cd22bbee3f
--- /dev/null
+++ b/offapi/com/sun/star/form/XDatabaseParameterListener.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XDatabaseParameterListener_idl__
+#define __com_sun_star_form_XDatabaseParameterListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_form_DatabaseParameterEvent_idl__
+#include <com/sun/star/form/DatabaseParameterEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/form/XDeleteListener.idl b/offapi/com/sun/star/form/XDeleteListener.idl
new file mode 100644
index 000000000000..48a3dc6c9d6a
--- /dev/null
+++ b/offapi/com/sun/star/form/XDeleteListener.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XDeleteListener_idl__
+#define __com_sun_star_form_XDeleteListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 superseeded
+ by <type scope="com::sun::star::form">XConfirmDeleteListener</type>.</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
diff --git a/offapi/com/sun/star/form/XErrorBroadcaster.idl b/offapi/com/sun/star/form/XErrorBroadcaster.idl
new file mode 100644
index 000000000000..7775f23e9c8e
--- /dev/null
+++ b/offapi/com/sun/star/form/XErrorBroadcaster.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XErrorBroadcaster_idl__
+#define __com_sun_star_form_XErrorBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XErrorListener_idl__
+#include <com/sun/star/form/XErrorListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 superseeded
+ by <type scope="com::sun::star::sdb">XSQLErrorBroadcaster</type>.</p>
+
+ @deprecated
+ */
+published interface XErrorBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** adds the specified listener to be notified of errors.
+ */
+ [oneway] void addErrorListener( [in] com::sun::star::form::XErrorListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+ */
+ [oneway] void removeErrorListener( [in] com::sun::star::form::XErrorListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XErrorListener.idl b/offapi/com/sun/star/form/XErrorListener.idl
new file mode 100644
index 000000000000..4b329e1e6d03
--- /dev/null
+++ b/offapi/com/sun/star/form/XErrorListener.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XErrorListener_idl__
+#define __com_sun_star_form_XErrorListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_form_ErrorEvent_idl__
+#include <com/sun/star/form/ErrorEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 superseeded
+ by <type scope="com::sun::star::sdb">XSQLErrorListener</type>.</p>
+
+@since foo
+ @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
diff --git a/offapi/com/sun/star/form/XForm.idl b/offapi/com/sun/star/form/XForm.idl
new file mode 100644
index 000000000000..4fc0daaf427a
--- /dev/null
+++ b/offapi/com/sun/star/form/XForm.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XForm_idl__
+#define __com_sun_star_form_XForm_idl__
+
+#ifndef __com_sun_star_form_XFormComponent_idl__
+#include <com/sun/star/form/XFormComponent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** identifies a <type>FormComponent</type> 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
diff --git a/offapi/com/sun/star/form/XFormComponent.idl b/offapi/com/sun/star/form/XFormComponent.idl
new file mode 100644
index 000000000000..7d32c30deef1
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormComponent.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XFormComponent_idl__
+#define __com_sun_star_form_XFormComponent_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/form/XFormController.idl b/offapi/com/sun/star/form/XFormController.idl
new file mode 100644
index 000000000000..e78de565f7ce
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormController.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XFormController_idl__
+#define __com_sun_star_form_XFormController_idl__
+
+#ifndef __com_sun_star_awt_XTabController_idl__
+#include <com/sun/star/awt/XTabController.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XFormControllerListener_idl__
+#include <com/sun/star/form/XFormControllerListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** is superseded by <type scope="com::sun::star::form::runtime">XFormController</type>.
+ @deprecated
+ */
+published interface XFormController: com::sun::star::awt::XTabController
+{
+ ::com::sun::star::awt::XControl getCurrentControl();
+ [oneway] void addActivateListener( [in] ::com::sun::star::form::XFormControllerListener l );
+ [oneway] void removeActivateListener( [in] ::com::sun::star::form::XFormControllerListener l );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XFormControllerListener.idl b/offapi/com/sun/star/form/XFormControllerListener.idl
new file mode 100644
index 000000000000..6d12ab85eba8
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormControllerListener.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XFormControllerListener_idl__
+#define __com_sun_star_form_XFormControllerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** allows to be notified when the activation status of a <type>FormController</type> 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 happend.
+ */
+ [oneway] 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 happend.
+ */
+ [oneway] void formDeactivated( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XFormsSupplier.idl b/offapi/com/sun/star/form/XFormsSupplier.idl
new file mode 100644
index 000000000000..121ee9ffac8b
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormsSupplier.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XFormsSupplier_idl__
+#define __com_sun_star_form_XFormsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+
+ @example StarBASIC
+ <listing>
+ 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
+ </listing>
+
+ @returns
+ the container of all the top-level forms belonging to the component.
+ */
+ com::sun::star::container::XNameContainer getForms();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XFormsSupplier2.idl b/offapi/com/sun/star/form/XFormsSupplier2.idl
new file mode 100644
index 000000000000..30a22e02b91c
--- /dev/null
+++ b/offapi/com/sun/star/form/XFormsSupplier2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_XFormsSupplier2_idl__
+#define __com_sun_star_form_XFormsSupplier2_idl__
+
+#ifndef __com_sun_star_form_XFormsSupplier_idl__
+#include <com/sun/star/form/XFormsSupplier.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** extends the <type>XFormsSupplier</type> 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 <member>hasForms</member>, and if it returns
+ <FALSE/>, you can do as if <member>XFormsSupplier::getForms</member> would
+ have returned an empty container.</p>
+
+ <p>Semantically, <member>hasForms</member> is equivalent to calling
+ <member>XElementAccess::hasElements</member> on the container returned by
+ <member>XFormsSupplier::getForms</member>. But when using the latter, the
+ implementation is forced to create a empty container, which might be potentially
+ expensive.</p>
+ */
+ boolean hasForms();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XGrid.idl b/offapi/com/sun/star/form/XGrid.idl
new file mode 100644
index 000000000000..f60fa5be9cee
--- /dev/null
+++ b/offapi/com/sun/star/form/XGrid.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XGrid_idl__
+#define __com_sun_star_form_XGrid_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::form::component">DataForm</type>. Thus, the <em>current
+ row</em> of the grid control always equals the current row of the
+ <type scope="com::sun::star::form::component">DataForm</type>, 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.
+ */
+ [oneway] void setCurrentColumnPosition( [in] short nPos );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XGridColumnFactory.idl b/offapi/com/sun/star/form/XGridColumnFactory.idl
new file mode 100644
index 000000000000..76d1b3735b9f
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridColumnFactory.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XGridColumnFactory_idl__
+#define __com_sun_star_form_XGridColumnFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <arg>aColumnType</arg> 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
diff --git a/offapi/com/sun/star/form/XGridControl.idl b/offapi/com/sun/star/form/XGridControl.idl
new file mode 100644
index 000000000000..3f9e601fc310
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridControl.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/form/XGridControlListener.idl b/offapi/com/sun/star/form/XGridControlListener.idl
new file mode 100644
index 000000000000..f84e99f837d2
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridControlListener.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/form/XGridFieldDataSupplier.idl b/offapi/com/sun/star/form/XGridFieldDataSupplier.idl
new file mode 100644
index 000000000000..5a4aa9b57fec
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridFieldDataSupplier.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XGridFieldDataSupplier_idl__
+#define __com_sun_star_form_XGridFieldDataSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 usefull,
+ as normally, you can't affect the current row in a grid control without moving the cursor of the underlying
+ <type scope="com::sun::star::form::component">DataForm</type>.</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
diff --git a/offapi/com/sun/star/form/XGridPeer.idl b/offapi/com/sun/star/form/XGridPeer.idl
new file mode 100644
index 000000000000..57d815caa214
--- /dev/null
+++ b/offapi/com/sun/star/form/XGridPeer.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XGridPeer_idl__
+#define __com_sun_star_form_XGridPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void setColumns( [in] com::sun::star::container::XIndexContainer aColumns );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XImageProducerSupplier.idl b/offapi/com/sun/star/form/XImageProducerSupplier.idl
new file mode 100644
index 000000000000..74a52e8e526c
--- /dev/null
+++ b/offapi/com/sun/star/form/XImageProducerSupplier.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#define __com_sun_star_form_XImageProducerSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XImageProducer_idl__
+#include <com/sun/star/awt/XImageProducer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/form/XInsertListener.idl b/offapi/com/sun/star/form/XInsertListener.idl
new file mode 100644
index 000000000000..63da8d514c4b
--- /dev/null
+++ b/offapi/com/sun/star/form/XInsertListener.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XInsertListener_idl__
+#define __com_sun_star_form_XInsertListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ superseeded by functionality from the <type scope="com::sun::star::form::component">DataForm</type>
+ service, as well as the <type scope="com::sun::star::sdbc">XRowSetListener</type> and
+ <type scope="com::sun::star::sdb">XRowSetApproveListener</type> 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
diff --git a/offapi/com/sun/star/form/XLoadListener.idl b/offapi/com/sun/star/form/XLoadListener.idl
new file mode 100644
index 000000000000..afbf72027e9b
--- /dev/null
+++ b/offapi/com/sun/star/form/XLoadListener.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XLoadListener_idl__
+#define __com_sun_star_form_XLoadListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 happend.
+ */
+ [oneway] 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 happend.
+ */
+ [oneway] void unloading( [in] com::sun::star::lang::EventObject aEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked after the object has disconnected from a datasource.
+
+ @param aEvent
+ the event happend.
+ */
+ [oneway] 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 happend.
+ */
+ [oneway] void reloading( [in] com::sun::star::lang::EventObject aEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the object has been reloaded.
+
+ @param aEvent
+ the event happend.
+ */
+ [oneway] void reloaded( [in] com::sun::star::lang::EventObject aEvent );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XLoadable.idl b/offapi/com/sun/star/form/XLoadable.idl
new file mode 100644
index 000000000000..1c1abb68059c
--- /dev/null
+++ b/offapi/com/sun/star/form/XLoadable.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XLoadable_idl__
+#define __com_sun_star_form_XLoadable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XLoadListener_idl__
+#include <com/sun/star/form/XLoadListener.idl>
+#endif
+
+//=============================================================================
+
+ 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>
+ */
+ [oneway] void load();
+
+ //-------------------------------------------------------------------------
+
+ /** unloads the data.
+ */
+ [oneway] 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>
+ */
+ [oneway] 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.
+ */
+ [oneway] void addLoadListener( [in] com::sun::star::form::XLoadListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+
+ @param aListener
+ the listener to remove.
+ */
+ [oneway] void removeLoadListener( [in] com::sun::star::form::XLoadListener aListener );
+};
+
+}; }; }; };
+
+#endif
+
+/*=============================================================================
+
+=============================================================================*/
diff --git a/offapi/com/sun/star/form/XPositioningListener.idl b/offapi/com/sun/star/form/XPositioningListener.idl
new file mode 100644
index 000000000000..391380e1d3a4
--- /dev/null
+++ b/offapi/com/sun/star/form/XPositioningListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XPositioningListener_idl__
+#define __com_sun_star_form_XPositioningListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ superseeded by functionality from the <type scope="com::sun::star::form::component">DataForm</type>
+ service, as well as the <type scope="com::sun::star::sdbc">XRowSetListener</type>.</p>
+
+ @deprecated
+ */
+published interface XPositioningListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is invoked when the database form has been positioned on a data record.
+ */
+ [oneway] void positioned( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XReset.idl b/offapi/com/sun/star/form/XReset.idl
new file mode 100644
index 000000000000..9ef8f37e649b
--- /dev/null
+++ b/offapi/com/sun/star/form/XReset.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XReset_idl__
+#define __com_sun_star_form_XReset_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XResetListener_idl__
+#include <com/sun/star/form/XResetListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** provides functionality to reset components to some default values.
+
+ <p>The semantincs 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.
+ */
+ [oneway] void reset();
+
+ //-------------------------------------------------------------------------
+
+ /** adds the specified listener to receive events related to resetting the
+ component.
+
+ @param aListener
+ the listener to add.
+ */
+ [oneway] void addResetListener( [in] com::sun::star::form::XResetListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener
+
+ @param aListener
+ the listener to remove
+ */
+ [oneway] void removeResetListener( [in] com::sun::star::form::XResetListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XResetListener.idl b/offapi/com/sun/star/form/XResetListener.idl
new file mode 100644
index 000000000000..b7f338fe59fb
--- /dev/null
+++ b/offapi/com/sun/star/form/XResetListener.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XResetListener_idl__
+#define __com_sun_star_form_XResetListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** is the interface for receiving notificaions about reset events.
+
+ <p>The listener is called if a component implementing the
+ <type>XReset</type> interface performs a reset.</br>
+ Order of events:
+ <ul><li>a reset is triggered on a component</li>
+ <li>the component calls <member>XReset::approveReset</member> on all its listeners</li>
+ <li>if all listeners approve the reset operation, the data is reset</li>
+ <li>the component calls <member>XReset::resetted</member> 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 happend.
+
+ @returns
+ <TRUE/> when reset was approved, <FALSE/> when the reset operation should be cancelled.
+ */
+ boolean approveReset( [in] com::sun::star::lang::EventObject rEvent );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a component has been reset.
+
+ @param rEvent
+ the event happend.
+ */
+ [oneway] void resetted( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XRestoreListener.idl b/offapi/com/sun/star/form/XRestoreListener.idl
new file mode 100644
index 000000000000..f5b4c77325f5
--- /dev/null
+++ b/offapi/com/sun/star/form/XRestoreListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XRestoreListener_idl__
+#define __com_sun_star_form_XRestoreListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** receives notifications about data beeing 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
+ superseeded by functionality from the <type scope="com::sun::star::form::component">DataForm</type>
+ and <type scope="com::sun::star::sdb">RowSet</type> 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
diff --git a/offapi/com/sun/star/form/XSubmit.idl b/offapi/com/sun/star/form/XSubmit.idl
new file mode 100644
index 000000000000..d7b766990fdc
--- /dev/null
+++ b/offapi/com/sun/star/form/XSubmit.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XSubmit_idl__
+#define __com_sun_star_form_XSubmit_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+#ifndef __com_sun_star_form_XSubmitListener_idl__
+#include <com/sun/star/form/XSubmitListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** provides functionality to submit data from a component.
+
+ <p>Usually, this is used by <type scope="com::sun::star::form::component">HTMLForm</type>s.
+
+ <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 which's data is to be be submitted
+
+ @param aMouseEvt
+ the event which triggered the submit, if it was a mouse event
+
+ @see com::sun::star::awt::MouseEvent
+ */
+ [oneway] 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
+ */
+ [oneway] 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
+ */
+ [oneway] void removeSubmitListener( [in] com::sun::star::form::XSubmitListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XSubmitListener.idl b/offapi/com/sun/star/form/XSubmitListener.idl
new file mode 100644
index 000000000000..1943c2071a2d
--- /dev/null
+++ b/offapi/com/sun/star/form/XSubmitListener.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XSubmitListener_idl__
+#define __com_sun_star_form_XSubmitListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form {
+
+//=============================================================================
+
+/** receives notifications about data beeing submitted.
+
+ <p>The submission may be cancelled, so the listener has the possibility
+ of verifying the data before submission.</p>
+
+ @see XSubmit
+
+ @deprecated
+ This interface is superseded by the <type scope="com::sun::star::form::submission">XSubmissionVetoListener</type>
+ 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 aEvent
+ the event happend
+
+ @returns
+ <TRUE/> when submitting was approved, otherwise <FALSE/>.
+ */
+ boolean approveSubmit( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XUpdateBroadcaster.idl b/offapi/com/sun/star/form/XUpdateBroadcaster.idl
new file mode 100644
index 000000000000..cf4f20a4da69
--- /dev/null
+++ b/offapi/com/sun/star/form/XUpdateBroadcaster.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XUpdateBroadcaster_idl__
+#define __com_sun_star_form_XUpdateBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_XUpdateListener_idl__
+#include <com/sun/star/form/XUpdateListener.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ (<member>XUpdateListener::approveUpdate</member>) immediately
+ before the data is updated, and notification calls
+ (<member>XUpdateListener::updated</member>) 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
+ */
+ [oneway] 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
+ */
+ [oneway] void removeUpdateListener( [in] com::sun::star::form::XUpdateListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/form/XUpdateListener.idl b/offapi/com/sun/star/form/XUpdateListener.idl
new file mode 100644
index 000000000000..172a3593c87f
--- /dev/null
+++ b/offapi/com/sun/star/form/XUpdateListener.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_XUpdateListener_idl__
+#define __com_sun_star_form_XUpdateListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 an 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 <type>XUpdateListener</type>s
+ vetos the change, the update is canceled, and no further notification happens.</p>
+
+ @param aEvent
+ An event dedscriptor 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 dedscriptor specifying the broadcaster of the change.
+ */
+ void updated( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
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 000000000000..8b0d1058c77b
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableControlModel.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableControlModel_idl__
+#define __com_sun_star_form_binding_BindableControlModel_idl__
+
+#ifndef __com_sun_star_form_binding_XBindableValue_idl__
+#include <com/sun/star/form/binding/XBindableValue.idl>
+#endif
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::util">XCloneable</type> interface.<br/>
+ If an bindable control model, at which a binding has been established (via
+ <member>XBindableValue::setValueBinding</member>), 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 <type>BindableControlModel</type> 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 <member>ValueBinding::ReadOnly</member>
+ and <member>ValueBinding::Relevant</member> 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 it's value to
+ be read-only (indicated by <member>ValueBinding::ReadOnly</member> 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 <member>ValueBinding::Relevant</member> and the control
+ model's <code>Enabled</code> properties.</p>
+ */
+ interface XBindableValue;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..c16d53a9c304
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDataAwareControlModel.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#define __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableControlModel_idl__
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+//=============================================================================
+
+/** is a specialization of the <type scope="com::sun::star::form">DataAwareControlModel</type>
+ 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
+ <type scope="com::sun::star::form::component">TextField</type>, this would be the
+ <member scope="com::sun::star::awt">UnoControlEditModel::Text</member> property of the base
+ service. Similarily, a <type scope="com::sun::star::form::component">CheckBox</type> has
+ a property <member scope="com::sun::star::awt">UnoControlCheckBoxModel::State</member>, which
+ reflects the current check state.</p>
+
+ <p>Usual <type scope="com::sun::star::form">DataAwareControlModel</type>s can be bound to
+ a column of a <type scope="com::sun::star::form::component">DataForm</type>, and exchange
+ their content with such a column.<br/>
+ In particular, when the <type scope="com::sun::star::form::component">DataForm</type>
+ 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
+ (<member scope="com::sun::star::form">XBoundComponent::commit</member>), then the actual
+ data of the control model is written into the associated
+ <type scope="com::sun::star::form::component">DataForm</type> column.</p>
+
+ <p><type>BindableDataAwareControlModel</type>'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
+ <type scope="com::sun::star::form::component">DataForm</type> column).</p>
+
+ <p>For this, they provide the <type>XBindableValue</type> 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 (<type scope="com::sun::star::form">XLoadable</type>).
+ </li>
+ <li><b>Immediacy</b><br/>
+ When a <type>BindableDataAwareControlModel</type> 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
+ <type scope="com::sun::star::form">DataAwareControlModel</type>'s, where changes
+ in the control model's value are only propagated to the bound column upon explicit
+ request via <member scope="com::sun::star::form">XBoundComponent::commit</member>.<br/>
+ Note that this restriction is inherited from the <type>BindableControlModel</type>.
+ </li>
+ <li><b>Cloning</b><br/>
+ <type scope="com::sun::star::form">FormControlModel</type>s support cloning themself
+ via the <type scope="com::sun::star::util">XCloneable</type> interface which they
+ inherit from the <type scope="com::sun::star::awt">UnoControlModel</type> service.</br>
+ When a <type>BindableDataAwareControlModel</type> 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 <type>BindableControlModel</type>.
+ </li>
+ </ul>
+ </p>
+
+ <p>When a <type>BindableDataAwareControlModel</type> is being bound to an external value,
+ using <member>XBindableValue::setValueBinding</member>,
+ then the control model (it's value property, respectively) and the external value are
+ initially synchronized by setting the external value (<member>XValueBinding::getValue</member>)
+ at the control model.</p>
+
+*/
+service BindableDataAwareControlModel
+{
+ /** specifies the functionality for binding the control model to a
+ column of an SQL <type scope="com::sun::star::form::component">DataForm</type>.
+ */
+ service com::sun::star::form::DataAwareControlModel;
+
+ /** specifies the functionality for <em>alternatively</em> binding the control model
+ to an external value.
+ */
+ service BindableControlModel;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..868fc02c1705
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseCheckBox_idl__
+#include <com/sun/star/form/component/DatabaseCheckBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::binding">XValueBinding</type> instance which
+ can be associated with a <type>BindableDatabaseCheckBox</type> 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 indetermined state, if the box currently supports
+ this, or being unchecked else. The indetermined 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 <type>BindableDatabaseCheckBox</type>
+ supports exchanging string values, <em>and</em> the <member scope="com::sun::star::form::component">CheckBox::RefValue</member>
+ is <em>not</em> empty, then the radio button will exchange it's 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 indetermined 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><member scope="com::sun::star::form::component">CheckBox::RefValue</member> is transferred to
+ possible external value bindings as soon as the check box is checked. With the member
+ <member>SecondaryRefValue</member>, 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
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 000000000000..9c379190afcc
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseComboBox.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseComboBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseComboBox_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseComboBox_idl__
+#include <com/sun/star/form/component/DatabaseComboBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 an <type scope="com::sun::star::form::binding">ValueBinding</type> 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
+ <member scope="com::sun::star::form::binding">XValueBinding::setValueBinding</member>.
+ </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
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 000000000000..2df7988e5d40
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseDateField.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseDateField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseDateField_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseDateField_idl__
+#include <com/sun/star/form/component/DatabaseDateField.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 an <type scope="com::sun::star::form::binding">ValueBinding</type> instance is
+ set at the field, it will exchange it's content with the binding as <type scope="com::sun::star::util">Date</type>.
+ </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
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 000000000000..c6f433339295
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseFormattedField.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseFormattedField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseFormattedField_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseFormattedField_idl__
+#include <com/sun/star/form/component/DatabaseFormattedField.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::binding">XValueBinding</type> instance which
+ can be associated with a <type>BindableDatabaseFormattedField</type> 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
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 000000000000..d07665579638
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseListBox.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseListBox_idl__
+#define __com_sun_star_form_binding_BindableDatabaseListBox_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseListBox_idl__
+#include <com/sun/star/form/component/DatabaseListBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 four possible ways how a <type>BindableDatabaseListBox</type> exchanges
+ values with an external binding, the following lists explains all of them. If a new binding
+ is set at a <type>BindableDatabaseListBox</type>, 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 integers</em>: When used, the integers in the sequence will represent
+ the indexes of the selected entries of the list box.</li>
+ <li><em>integer values</em>: When used, the value will represent the index of the selected entry.
+ If no entry is selected, -1 will be transfered. If more than one entry is selected, <NULL/>
+ will be transfered.</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 transfered. If more than one entry is selected,
+ <NULL/> will be transfered.</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
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 000000000000..c34acbe14ce1
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseNumericField.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseNumericField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseNumericField_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseNumericField_idl__
+#include <com/sun/star/form/component/DatabaseNumericField.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::binding">XValueBinding</type> instance which
+ can be associated with a <type>BindableDatabaseNumericField</type> 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
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 000000000000..d2779ba1ea8d
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
+#define __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__
+#include <com/sun/star/form/component/DatabaseRadioButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::binding">XValueBinding</type> instance which
+ can be associated with a <type>BindableDatabaseRadioButton</type> 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 indetermined state</li>
+ </ul></p>
+
+ <p>If the value binding associated with a <type>BindableDatabaseRadioButton</type>
+ supports exchanging string values, <em>and</em> the <member scope="com::sun::star::form::component">RadioButton::RefValue</member>
+ is <em>not</em> empty, then the radio button will exchange it's 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 indetermined 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><member scope="com::sun::star::form::component">RadioButton::RefValue</member> is transferred to
+ possible external value bindings as soon as the radio button is selected. With the member
+ <member>SecondaryRefValue</member>, 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
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 000000000000..81906b7759a5
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseTextField.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseTextField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseTextField_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseTextField_idl__
+#include <com/sun/star/form/component/DatabaseTextField.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 an <type scope="com::sun::star::form::binding">ValueBinding</type> 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
+ <member scope="com::sun::star::form::binding">XValueBinding::setValueBinding</member>.
+ </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
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 000000000000..fafa1a06a507
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseTimeField.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableDatabaseTimeField_idl__
+#define __com_sun_star_form_binding_BindableDatabaseTimeField_idl__
+
+#ifndef __com_sun_star_form_component_DatabaseTimeField_idl__
+#include <com/sun/star/form/component/DatabaseTimeField.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+#endif
+
+//=============================================================================
+
+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 an <type scope="com::sun::star::form::binding">ValueBinding</type> instance is
+ set at the field, it will exchange it's content with the binding as <type scope="com::sun::star::util">Time</type>.
+ </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
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 000000000000..478c6875f717
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableIntegerValueRange.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_BindableIntegerValueRange_idl__
+#define __com_sun_star_form_binding_BindableIntegerValueRange_idl__
+
+#ifndef __com_sun_star_form_binding_BindableControlModel_idl__
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+//=============================================================================
+
+/** this service specifies a <type>BindableControlModel</type> which reflects
+ an integer value, out of a range of permitted integer values.
+
+ <p><type>BindableIntegerValueRange</type>s 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 <member>XBindableValue::setValueBinding</member>)
+ must support exchanging double values.</p>
+
+ <p>When the (integer) value reflected by the control model is changed, it's converted
+ into an 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 it's 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
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 000000000000..4f0b6551e973
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/IncompatibleTypesException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_binding_IncompatibleTypesException_idl__
+#define __com_sun_star_form_binding_IncompatibleTypesException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+//=============================================================================
+
+/** thrown to indicate that the types of an <type>XValueBinding</type> and
+ an <type>XBindableValue</type> are incompatible
+*/
+exception IncompatibleTypesException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..d25f6159e88b
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/InvalidBindingStateException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_binding_InvalidBindingStateException_idl__
+#define __com_sun_star_form_binding_InvalidBindingStateException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+//=============================================================================
+
+/** thrown when an <type>XValueBinding</type> cannot perform a requested
+ operation due to an invalid state.
+*/
+exception InvalidBindingStateException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..046888d7b8cc
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ListEntryEvent.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_ListEntryEvent_idl__
+#define __com_sun_star_form_binding_ListEntryEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+//=============================================================================
+
+/** specifies the event which is notified when a change in a string entry
+ list occured
+
+ @see XListEntrySource
+ @see XListEntryListener
+*/
+struct ListEntryEvent : com::sun::star::lang::EventObject
+{
+ /** denotes the position where a change occured.
+
+ <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
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 000000000000..15ea1f3bcf27
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ListEntrySource.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_ListEntrySource_idl__
+#define __com_sun_star_form_binding_ListEntrySource_idl__
+
+#ifndef __com_sun_star_form_binding_XListEntrySource_idl__
+#include <com/sun/star/form/binding/XListEntrySource.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ListEntrySource</type> will be known to one ore more components
+ supporting the <type>XListEntrySink</type> interface, which all work with
+ this source. However, they will not <em>own</em> the <type>ListEntrySource</type>.
+ The ownership is with another instance, which may also decide to obsolete
+ the <type>ListEntrySource</type> for whatever reasons (e.g. because the data model
+ which the binding reflected died). For this reason, a <type>ListEntrySource</type>
+ must offer a possibility to be obsoleted by it's owner, and to notify this
+ obsoletion to other interested parties, such as <type>XListEntrySink</type>s.</p>
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..f7c99e8ca6af
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/ValueBinding.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_ValueBinding_idl__
+#define __com_sun_star_form_binding_ValueBinding_idl__
+
+#ifndef __com_sun_star_util_XValueBinding_idl__
+#include <com/sun/star/form/binding/XValueBinding.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ValueBinding</type> 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
+ a <type>InvalidBindingStateException</type> when its
+ <member>XValueBinding::setValue</member> 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
+ <member>Relevant</member> property being <FALSE/>.</p>
+
+ <p><type>XBindableValue</type>s 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 <type>XBindableValue</type> are disabled as long as <member>Relevant</member>
+ 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 <type>ValueBinding</type> instance changes.
+
+ <p>This interface is optional, since a binding may not support
+ actively notifying changes in it's 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 <type>ValueBinding</type> may be known to one ore more components
+ supporting the <type>XBindableValue</type> interface, which all work with
+ this binding. However, they will not <em>own</em> the <type>ValueBinding</type>.
+ The ownership is with another instance, which may also decide to obsolete
+ the <type>ValueBinding</type> for whatever reasons (e.g. because the data model
+ which the binding reflected died). For this reason, a <type>ValueBinding</type>
+ must offer a possibility to be obsoleted by it's owner, and to notify this
+ obsoletion to other interested parties, such as <type>XBindableValue</type>s.</p>
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..2d8413029323
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XBindableValue.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_XBindableValue_idl__
+#define __com_sun_star_form_binding_XBindableValue_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_form_binding_IncompatibleTypesException_idl__
+#include <com/sun/star/form/binding/IncompatibleTypesException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>IncompatibleTypesException</type>
+ 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
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 000000000000..b48ec45198fc
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntryListener.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_XListEntryListener_idl__
+#define __com_sun_star_form_binding_XListEntryListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_form_binding_ListEntryEvent_idl__
+#include <com/sun/star/form/binding/ListEntryEvent.idl>
+#endif
+
+//=============================================================================
+
+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 <member>ListEntryEvent::Position</member>
+ member denotes the position of the changed entry, the first (and only) element
+ of the <member>ListEntryEvent::Entries</member> 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 <member>ListEntryEvent::Position</member>
+ member denotes the position of the first inserted entry, the
+ <member>ListEntryEvent::Entries</member> 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 <member>ListEntryEvent::Position</member>
+ member denotes the position of the first removed entry, the
+ <member>ListEntryEvent::Count</member> 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
+ <member>XListEntrySource::getAllListEntries</member> method of the event source
+ (which is denoted by <member scope="com::sun::star::lang">EventObject::Source</member>).
+ */
+ void allEntriesChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..0f2e84a8011d
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntrySink.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_XListEntrySink_idl__
+#define __com_sun_star_form_binding_XListEntrySink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module binding {
+
+interface XListEntrySource;
+
+//=============================================================================
+
+/** specifies support for indirect manipulation of 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
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 000000000000..4d6390b41ece
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XListEntrySource.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_XListEntrySource_idl__
+#define __com_sun_star_form_binding_XListEntrySource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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 <type scope="com::sun::star::lang">NullPointerException</type>
+ 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 notfiied about changes in the entry list.
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ */
+ void removeListEntryListener( [in] XListEntryListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..207b3ec7e7ad
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/XValueBinding.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_binding_XValueBinding_idl__
+#define __com_sun_star_form_binding_XValueBinding_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+#ifndef __com_sun_star_form_binding_IncompatibleTypesException_idl__
+#include <com/sun/star/form/binding/IncompatibleTypesException.idl>
+#endif
+#ifndef __com_sun_star_form_binding_InvalidBindingStateException_idl__
+#include <com/sun/star/form/binding/InvalidBindingStateException.idl>
+#endif
+
+//=============================================================================
+
+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 <member>getSupportedValueTypes</member>,
+ and looking up the given type in the resulting type sequence.</p>
+
+ @see getSupportedValueTypes
+ */
+ boolean supportsType( [in] type aType );
+
+ /** retrieves the current value
+
+ @throws <type>IncompatibleTypesException</type>
+ 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 <type>IncompatibleTypesException</type>
+ if the given value type is not supported by the binding
+ @throws <type>InvalidBindingStateException</type>
+ 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 <type scope="com::sun::star::lang">NoSupportException</type>
+ if the binding in general does not support write access to it's binding
+
+ @see getSupportedValueTypes
+ @see supportsType
+ @see ValueBinding
+ */
+ void setValue( [in] any aValue )
+ raises( IncompatibleTypesException, InvalidBindingStateException, com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/binding/makefile.mk b/offapi/com/sun/star/form/binding/makefile.mk
new file mode 100644
index 000000000000..dc9885f5fd55
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/makefile.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfbinding
+PACKAGE=com$/sun$/star$/form$/binding
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XBindableValue.idl \
+ XValueBinding.idl \
+ ValueBinding.idl \
+ XListEntrySink.idl \
+ XListEntrySource.idl \
+ XListEntryListener.idl \
+ ListEntryEvent.idl \
+ ListEntrySource.idl \
+ \
+ BindableControlModel.idl \
+ BindableIntegerValueRange.idl \
+ BindableDataAwareControlModel.idl \
+ BindableDatabaseCheckBox.idl \
+ BindableDatabaseComboBox.idl \
+ BindableDatabaseDateField.idl \
+ BindableDatabaseFormattedField.idl \
+ BindableDatabaseListBox.idl \
+ BindableDatabaseNumericField.idl \
+ BindableDatabaseRadioButton.idl \
+ BindableDatabaseTextField.idl \
+ BindableDatabaseTimeField.idl \
+ \
+ IncompatibleTypesException.idl \
+ InvalidBindingStateException.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..5db7acb3d2a6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CheckBox.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_CheckBox_idl__
+#define __com_sun_star_form_component_CheckBox_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+#include <com/sun/star/awt/UnoControlCheckBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type>HTMLForm</type>s 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 it's 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 <type>HTMLForm</type> which contains a check box,
+ which is checked, the RefValue is used for submission.
+ */
+ [property] string RefValue;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..c5d02077cad8
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ComboBox.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ComboBox_idl__
+#define __com_sun_star_form_component_ComboBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlComboBoxModel_idl__
+#include <com/sun/star/awt/UnoControlComboBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 it's 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
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 000000000000..249f66c5923a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CommandButton.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member scope="com::sun::star::awt">UnoControlButtonModel::ImageURL</member> 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 <type scope="com::sun::star::frame">Frame</type> 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 <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member>
+ 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 <type scope="com::sun::star::form">XReset</type> must be present.</p>
+ */
+ [optional, property] boolean DefaultState;
+
+ /** allows resetting the button
+
+ <p>This property is meaningful only when <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member>
+ is <TRUE/>. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will
+ be reset, when <member scope="com::sun::star::form">XReset::reset</member> is invoked.</p>
+
+ <p>For a given implementation of the interface, if this (optional) interface is present, then also the optional
+ property <member>DefaultState</member> must be present.</p>
+ */
+ [optional] interface ::com::sun::star::form::XReset;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..1e190f2ae1ca
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CurrencyField.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_CurrencyField_idl__
+#define __com_sun_star_form_component_CurrencyField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+#include <com/sun/star/awt/UnoControlCurrencyFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 it's 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
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 000000000000..9b5f1f03f757
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DataForm.idl
@@ -0,0 +1,232 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DataForm_idl__
+#define __com_sun_star_form_component_DataForm_idl__
+
+#ifndef __com_sun_star_form_component_Form_idl__
+#include <com/sun/star/form/component/Form.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_RowSet_idl__
+#include <com/sun/star/sdb/RowSet.idl>
+#endif
+
+#ifndef __com_sun_star_form_TabulatorCycle_idl__
+#include <com/sun/star/form/TabulatorCycle.idl>
+#endif
+
+#ifndef __com_sun_star_form_NavigationBarMode_idl__
+#include <com/sun/star/form/NavigationBarMode.idl>
+#endif
+
+#ifndef __com_sun_star_form_XLoadable_idl__
+#include <com/sun/star/form/XLoadable.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XCompletedExecution_idl__
+#include <com/sun/star/sdb/XCompletedExecution.idl>
+#endif
+
+#ifndef __com_sun_star_awt_TabControllerModel_idl__
+#include <com/sun/star/awt/TabControllerModel.idl>
+#endif
+
+//=============================================================================
+
+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 possiblity 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 <type>DataForm</type> 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 <member scope="com::sun::star::sdbc">XResultSetUpdate::moveToInsertRow</member>.
+ The <type scope="com::sun::star::sdb">RowSet</type> service specifies exactly which notifications
+ happen in which order when calling <member scope="com::sun::star::sdbc">XResultSetUpdate::moveToInsertRow</member>,
+ and a <type>DataForm</type> implementation extends this with the following contract:
+ <ul><li>After all notifications as defined in the <type scope="com::sun::star::sdb">RowSet</type>
+ service have been sent, the <type>DataForm</type> resets itself, if all
+ <type scope="com::sun::star::form">XResetListeners</type> approve this.</li>
+ <li>After the reset happened, the <member scope="com::sun::star::sdb">RowSet::IsModified</member>
+ 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
+ <member scope="com::sun::star::form">XReset::reset</member> 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,
+ <member scope="com::sun::star::sdbc">XRowSet::execute</member>, moving the row set cursor and so on.</p>
+
+ <p>One main difference between <member>XLoadable::load</member> and <member scope="com::sun::star::sdbc">XRowSet::execute</member>
+ 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
+ <type scope="com::sun::star::form">XDatabaseParameterListener</type>
+ 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 it's 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 sligtly changed if the form is loaded using the
+ <member scope="com::sun::star::sdb">XCompletedExecution::connectWithCompletion</member> 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 theses columns are used to identify the data for the subform.
+ Each time the parent form changes it's 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. it's 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 paramater 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 paramter 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. it's 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 an 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
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 000000000000..82f49ad55d02
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCheckBox.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseCheckBox_idl__
+#define __com_sun_star_form_component_DatabaseCheckBox_idl__
+
+#ifndef __com_sun_star_form_component_CheckBox_idl__
+#include <com/sun/star/form/component/CheckBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..2ccca56dbb3e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseComboBox.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseComboBox_idl__
+#define __com_sun_star_form_component_DatabaseComboBox_idl__
+
+#ifndef __com_sun_star_form_component_ComboBox_idl__
+#include <com/sun/star/form/component/ComboBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_ListSourceType_idl__
+#include <com/sun/star/form/ListSourceType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>ConvertEmptyToNull</member>.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, 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' list.
+
+ <p>The concrete meaning of this property depends on the value of <member>ListSourceType</member></p>
+ */
+ [property] string ListSource;
+ //-------------------------------------------------------------------------
+
+ /** specifies the kind of list source.
+
+ <p>Note: A value of <member scope="com::sun::star::form">ListSourceType::VALUELIST</member>
+ 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
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 000000000000..3d56099c31d7
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseCurrencyField_idl__
+#define __com_sun_star_form_component_DatabaseCurrencyField_idl__
+
+#ifndef __com_sun_star_form_component_CurrencyField_idl__
+#include <com/sun/star/form/component/CurrencyField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..8673636874b0
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseDateField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseDateField_idl__
+#define __com_sun_star_form_component_DatabaseDateField_idl__
+
+#ifndef __com_sun_star_form_component_DateField_idl__
+#include <com/sun/star/form/component/DateField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..575ad5d8ff02
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseFormattedField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseFormattedField_idl__
+#define __com_sun_star_form_component_DatabaseFormattedField_idl__
+
+#ifndef __com_sun_star_form_component_FormattedField_idl__
+#include <com/sun/star/form/component/FormattedField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>ConvertEmptyToNull</member>.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..731a27437bf5
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseImageControl.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseImageControl_idl__
+#define __com_sun_star_form_component_DatabaseImageControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControlModel_idl__
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form">DataAwareControlModel</type>, 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 <member scope="com::sun::star::sdb">XColumn::getBinaryStream</member>).</p>
+
+ <p>Usually, an image control model can be bound to binary columns only, namely
+ <member scope="com::sun::star::sdbc">DataType::BINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::VARBINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::LONGVARBINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::OTHER</member>,
+ <member scope="com::sun::star::sdbc">DataType::LONGVARCHAR</member></p>
+
+ <p/>
+
+ <p>Note that besides taking the image to be displayed from the bound field, there is another option. The
+ <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member> 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 an <type scope="com::sun::star::form::control">ImageControl</type>.</li>
+
+ <li>The control is an <type scope="com::sun::star::awt">XImageConsumer</type> for the
+ <type scope="com::sun::star::awt">XImageProducer</type> 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
+ <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ 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 <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ 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 an <type scope="com::sun::star::awt">XImageProducer</type>.
+
+ <p>Other components can register as <type scope="com::sun::star::awt">XImageConsumer</type>
+ 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
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 000000000000..daa06fef61b3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseListBox.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseListBox_idl__
+#define __com_sun_star_form_component_DatabaseListBox_idl__
+
+#ifndef __com_sun_star_form_component_ListBox_idl__
+#include <com/sun/star/form/component/ListBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_ListSourceType_idl__
+#include <com/sun/star/form/ListSourceType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 (<type>ListBox</type>) offers only
+ one possibility to specify the list entries: the <member>ListBox::ListSource</member>
+ property, which contains all the strings to be displayed.</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 (amonst 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 caused
+ to open a second result set, this time for the <em>customer</em> table, and fill it's 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>
+
+ */
+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
+ <member scope="com::sun::star::form">DataAwareControlModel::DataField</member>.
+
+ <dl>
+ <dt>0</dt>
+ <dd>The selected (displayed) list box string is stored in
+ the current database field.</dd>
+
+ <dt>1 or greater</dt>
+ <dd>The column value of the result set at the position is
+ stored in the current database field.</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
+ <member scope="com::sun::star::form">ListSourceType::TABLE</member>,
+ <member scope="com::sun::star::form">ListSourceType::QUERY</member>,
+ <member scope="com::sun::star::form">ListSourceType::SQL</member> or
+ <member scope="com::sun::star::form">ListSourceType::SQLPASSTHROUGH</member>.
+ 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 <member>ListBox::ListSource</member>
+ is evaluated varies.
+ <dl>
+ <dt><member scope="com::sun::star::form">ListSourceType::VALUELIST</member></dt>
+ <dd>The elements in the string sequence in <member>ListBox::ListSource</member>
+ build up the entry list.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::TABLE</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ determines the table which the list result set should be based on.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::QUERY</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ 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
+ (<member scope="com::sun::star::sdb">RowSet::ActiveConnection</member>) is queried for
+ the <type scope="com::sun::star::sdb">XQueriesSupplier</type> interface.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::SQL</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ contains the SQL statement which the list result set should be based on.</p>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::SQLPASSTHROUGH</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ 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, loose features like parameter value substitution.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::TABLEFIELDS</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ determines the table which's column names should fill the list.</dd>
+ </dl>
+ </p>
+
+ */
+ [property] com::sun::star::form::ListSourceType ListSourceType;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..57853d6ddc83
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseNumericField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseNumericField_idl__
+#define __com_sun_star_form_component_DatabaseNumericField_idl__
+
+#ifndef __com_sun_star_form_component_NumericField_idl__
+#include <com/sun/star/form/component/NumericField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..2488b4160cad
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabasePatternField.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabasePatternField_idl__
+#define __com_sun_star_form_component_DatabasePatternField_idl__
+
+#ifndef __com_sun_star_form_component_PatternField_idl__
+#include <com/sun/star/form/component/PatternField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..2b60c3fb5dd3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseRadioButton.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__
+#define __com_sun_star_form_component_DatabaseRadioButton_idl__
+
+#ifndef __com_sun_star_form_component_RadioButton_idl__
+#include <com/sun/star/form/component/RadioButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..001f342d3c53
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTextField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseTextField_idl__
+#define __com_sun_star_form_component_DatabaseTextField_idl__
+
+#ifndef __com_sun_star_form_component_TextField_idl__
+#include <com/sun/star/form/component/TextField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..1ac3d51ccc36
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTimeField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseTimeField_idl__
+#define __com_sun_star_form_component_DatabaseTimeField_idl__
+
+#ifndef __com_sun_star_form_component_TimeField_idl__
+#include <com/sun/star/form/component/TimeField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..b7764c8ea874
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DateField.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DateField_idl__
+#define __com_sun_star_form_component_DateField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlDateFieldModel_idl__
+#include <com/sun/star/awt/UnoControlDateFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>DefaultDate</member>, then resetting the control
+ will result in setting to 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
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 000000000000..d9956c7114b6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FileControl.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FileControl_idl__
+#define __com_sun_star_form_component_FileControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFileControlModel_idl__
+#include <com/sun/star/awt/UnoControlFileControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+//=============================================================================
+
+ 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 it's 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
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 000000000000..1bb60c47388e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FixedText.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FixedText_idl__
+#define __com_sun_star_form_component_FixedText_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFixedTextModel_idl__
+#include <com/sun/star/awt/UnoControlFixedTextModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..526a2febecb0
--- /dev/null
+++ b/offapi/com/sun/star/form/component/Form.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_Form_idl__
+#define __com_sun_star_form_component_Form_idl__
+
+#ifndef __com_sun_star_form_FormComponent_idl__
+#include <com/sun/star/form/FormComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponents_idl__
+#include <com/sun/star/form/FormComponents.idl>
+#endif
+
+#ifndef __com_sun_star_form_XForm_idl__
+#include <com/sun/star/form/XForm.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#endif
+
+#ifndef __com_sun_star_script_XEventAttacherManager_idl__
+#include <com/sun/star/script/XEventAttacherManager.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..21ab49c523ff
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FormattedField.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FormattedField_idl__
+#define __com_sun_star_form_component_FormattedField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+#include <com/sun/star/awt/UnoControlFormattedFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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) arbirtrarily 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 it's default state.
+
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveDefault
+ */
+ interface com::sun::star::form::XReset;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..f3077ec037ac
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GridControl.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_GridControl_idl__
+#define __com_sun_star_form_component_GridControl_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XGridColumnFactory_idl__
+#include <com/sun/star/form/XGridColumnFactory.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponents_idl__
+#include <com/sun/star/form/FormComponents.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_script_XEventAttacherManager_idl__
+#include <com/sun/star/script/XEventAttacherManager.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>DataForm</type>
+ 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
+ <type scope="com::sun::star::form">DataAwareControlModel</type>s modeling other "single-value" controls, but they are not described
+ as own services. Instead, they need to be created using the <type scope="com::sun::star::form">XGridColumnFactory</type> interface.</p>
+ */
+published service GridControl
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** provides basic functionality of a container of <type scope="com::sun::star::form">FormComponent</type>s.
+
+ <p>All the container-related methods of this service related to control models,
+ this is what are the container elements for a <type>GridControl</type>.</p>
+
+ <p>As the <type scope="com::sun::star::form">FormComponents</type> service also specifies
+ the <type scope"com::sun::star::script">XEventAttacherManager</type> 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 <membere scope="com::sun::star::form">XGridColumnFactory::createColumn</member>
+ 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 reaons, 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 superseeded 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 it's 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 <member scope="com::sun::star::form">DataAwareControlModel::XReset</member>.
+ */
+ 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 <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0.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
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 000000000000..d4f2b57375ae
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GroupBox.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_GroupBox_idl__
+#define __com_sun_star_form_component_GroupBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlGroupBoxModel_idl__
+#include <com/sun/star/awt/UnoControlGroupBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..763f388a4185
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HTMLForm.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_HTMLForm_idl__
+#define __com_sun_star_form_component_HTMLForm_idl__
+
+#ifndef __com_sun_star_form_component_Form_idl__
+#include <com/sun/star/form/component/Form.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+#ifndef __com_sun_star_form_XSubmit_idl__
+#include <com/sun/star/form/XSubmit.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormSubmitMethod_idl__
+#include <com/sun/star/form/FormSubmitMethod.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormSubmitEncoding_idl__
+#include <com/sun/star/form/FormSubmitEncoding.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the special kind of <type>Form</type>s 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
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 000000000000..cf516df86d12
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HiddenControl.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_HiddenControl_idl__
+#define __com_sun_star_form_component_HiddenControl_idl__
+
+#ifndef __com_sun_star_form_FormComponent_idl__
+#include <com/sun/star/form/FormComponent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">HTMLForm</type>s,
+ 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
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 000000000000..69df0e295106
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ImageButton.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ImageButton_idl__
+#define __com_sun_star_form_component_ImageButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControlModel_idl__
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormButtonType_idl__
+#include <com/sun/star/form/FormButtonType.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ 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 an <type scope="com::sun::star::awt">XImageProducer</type>.
+
+ <p>Other components can register as <type scope="com::sun::star::awt">XImageConsumer</type>
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+
+ <p>Whenever the <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ property is changed, the model loads the specified image, and sets it as image source
+ at its <type scope="com::sun::star::awt">XImageProducer</type>. Then, all
+ <type scope="com::sun::star::awt">XImageConsumer</type>s are notified and supplied with
+ the binary data of the image.<br/>
+ Usually, controls acting for an <type>ImageButton</type> 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 <type scope="com::sun::star::frame">Frame</type> 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
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 000000000000..f636d25b77ee
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ListBox.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ListBox_idl__
+#define __com_sun_star_form_component_ListBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlListBoxModel_idl__
+#include <com/sun/star/awt/UnoControlListBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 it's 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 listbox entries.
+ */
+ [property] sequence<string> ListSource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..0e3880db707d
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NavigationToolBar.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_NavigationToolBar_idl__
+#define __com_sun_star_form_component_NavigationToolBar_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the model for control which provides controller
+ functionality for a <type>DataForm</type>, 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 <member>FontDescriptor</member> 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 <member>FontDescriptor</member>
+
+ <p>The value must be one of the <type scope="com::sun::star::text">FontRelief</type>
+ constants.</p>
+ */
+ [property] long FontRelief;
+
+ //-------------------------------------------------------------------------
+ /** specifies the emphasis mark for the font described in <member>FontDescriptor</member>
+
+ <p>The value must be one of the <type scope="com::sun::star::text">FontEmphasis</type>
+ 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 behaviour, 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
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 000000000000..62336316eb0a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NumericField.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_NumericField_idl__
+#define __com_sun_star_form_component_NumericField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+#include <com/sun/star/awt/UnoControlNumericFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 it's 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
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 000000000000..f41a12d2231e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/PatternField.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_PatternField_idl__
+#define __com_sun_star_form_component_PatternField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlPatternFieldModel_idl__
+#include <com/sun/star/awt/UnoControlPatternFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 it's 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
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 000000000000..76575e3450bd
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RadioButton.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_RadioButton_idl__
+#define __com_sun_star_form_component_RadioButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+#include <com/sun/star/awt/UnoControlRadioButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which acts as a radio button as needed in <type>HTMLForm</type>s.
+
+ <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 <member scope="com::sun::star::form">FormComponent::Name</member>).</p>
+ */
+published service RadioButton
+{
+ service com::sun::star::awt::UnoControlRadioButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's 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
+ <type scope="com::sun::star::form">XSubmit</type>), 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 <member>RefValue</member> is associated with the control
+ if and only if it is selected.<br/>
+ <member>UncheckedRefValue</member> provides a extensions 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
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 000000000000..0566f658a197
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RichTextControl.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_component_RichTextControl_idl__
+#define __com_sun_star_form_component_RichTextControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextRange_idl__
+#include <com/sun/star/text/TextRange.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which extends the <type scope="com::sun::star::awt">UnoControlEditModel</type>
+ 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
+ <type scope="com::sun::star::awt">UnoControlEditModel</type>
+ */
+ 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
+ <type scope="com::sun::star::awt">UnoControlEditModel</type>.</p>
+
+ <p>If the property is set to <TRUE/>, the control will ignore the following properties:
+ <ul>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::EchoChar</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::MaxTextLen</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::MultiLine</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::Align</member></li>
+ </ul>
+ </p>
+ */
+ [property] boolean RichText;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..69e0fc7e78ff
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ScrollBar.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ScrollBar_idl__
+#define __com_sun_star_form_component_ScrollBar_idl__
+
+#ifndef __com_sun_star_awt_UnoControlScrollBarModel_idl__
+#include <com/sun/star/awt/UnoControlScrollBarModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..09be77ed47c3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SpinButton.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_SpinButton_idl__
+#define __com_sun_star_form_component_SpinButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlSpinButtonModel_idl__
+#include <com/sun/star/awt/UnoControlSpinButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..b540065cb989
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SubmitButton.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_SubmitButton_idl__
+#define __com_sun_star_form_component_SubmitButton_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__
+#include <com/sun/star/awt/UnoControlButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_submission_XSubmissionSupplier_idl__
+#include <com/sun/star/form/submission/XSubmissionSupplier.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::control">SubmitButton</type>
+ control associated with a <type>SubmitButton</type> model is responsible for
+ using the submission supplied at this model.</p>
+ */
+ interface com::sun::star::form::submission::XSubmissionSupplier;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..bb4cf5ce046c
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TextField.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_TextField_idl__
+#define __com_sun_star_form_component_TextField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_component_RichTextControl_idl__
+#include <com/sun/star/form/component/RichTextControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>RichTextControl::RichText</member> property is set to <TRUE/>,
+ then the <type>TextField</type> component will disable it's reset capabilities. This means
+ that all calls to <member scope="com::sun::star::form">XReset::reset</member> will be ignored.</p>
+ */
+ [optional] service RichTextControl;
+
+ /** can be used to reset the control to it's 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
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 000000000000..d752ca28928a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TimeField.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_TimeField_idl__
+#define __com_sun_star_form_component_TimeField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+#include <com/sun/star/awt/UnoControlTimeFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** sepecifies 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 <member>DefaultTime</member>, then resetting the control
+ will result in setting to 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
diff --git a/offapi/com/sun/star/form/component/makefile.mk b/offapi/com/sun/star/form/component/makefile.mk
new file mode 100644
index 000000000000..37c1bb44d560
--- /dev/null
+++ b/offapi/com/sun/star/form/component/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfcomp
+PACKAGE=com$/sun$/star$/form$/component
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CheckBox.idl\
+ ComboBox.idl\
+ CommandButton.idl\
+ CurrencyField.idl\
+ DatabaseCheckBox.idl\
+ DatabaseComboBox.idl\
+ DatabaseCurrencyField.idl\
+ DatabaseDateField.idl\
+ DatabaseImageControl.idl\
+ DatabaseListBox.idl\
+ DatabaseNumericField.idl\
+ DatabasePatternField.idl\
+ DatabaseRadioButton.idl\
+ DatabaseTextField.idl\
+ DatabaseFormattedField.idl\
+ DatabaseTimeField.idl\
+ DataForm.idl\
+ DateField.idl\
+ FileControl.idl\
+ FixedText.idl\
+ Form.idl\
+ GridControl.idl\
+ GroupBox.idl\
+ HiddenControl.idl\
+ HTMLForm.idl\
+ ImageButton.idl\
+ ListBox.idl\
+ NumericField.idl\
+ PatternField.idl\
+ RadioButton.idl\
+ TextField.idl\
+ FormattedField.idl\
+ TimeField.idl\
+ NavigationToolBar.idl\
+ ScrollBar.idl\
+ SpinButton.idl\
+ SubmitButton.idl\
+ RichTextControl.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..763e8ec9132c
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CheckBox.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_component_checkbox_idl__
+#define __com_sun_star_form_component_checkbox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlCheckBox_idl__
+#include <com/sun/star/awt/UnoControlCheckBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">CheckBox</type>
+ 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
+
+
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 000000000000..b4dbfac27509
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ComboBox.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_ComboBox_idl__
+#define __com_sun_star_form_control_ComboBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlComboBox_idl__
+#include <com/sun/star/awt/UnoControlComboBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">ComboBox</type>
+ 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
+
+
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 000000000000..d4a4b48356ad
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CommandButton.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_CommandButton_idl__
+#define __com_sun_star_form_control_CommandButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlButton_idl__
+#include <com/sun/star/awt/UnoControlButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module control {
+
+//=============================================================================
+
+/** describes a button control.
+
+ <p>The model of the control has to support the <type scope="com::sun::star::form::component">CommandButton</type>
+ 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>An <type scope="com::sun::star::form">XApproveActionListener</type> 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
+ <type scope="com::sun::star::awt">XActionListener</type>s 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
+
+
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 000000000000..203278150878
--- /dev/null
+++ b/offapi/com/sun/star/form/control/CurrencyField.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_CurrencyField_idl__
+#define __com_sun_star_form_control_CurrencyField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlCurrencyField_idl__
+#include <com/sun/star/awt/UnoControlCurrencyField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">CurrencyField</type>
+ 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
+
+
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 000000000000..ead9d296fb0e
--- /dev/null
+++ b/offapi/com/sun/star/form/control/DateField.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_DateField_idl__
+#define __com_sun_star_form_control_DateField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlDateField_idl__
+#include <com/sun/star/awt/UnoControlDateField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">DateField</type>
+ 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
+
+
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 000000000000..f40453a4d1e9
--- /dev/null
+++ b/offapi/com/sun/star/form/control/FormattedField.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_FormattedField_idl__
+#define __com_sun_star_form_control_FormattedField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFormattedField_idl__
+#include <com/sun/star/awt/UnoControlFormattedField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module control {
+
+//=============================================================================
+
+/** describes a control which can be used for inputting values with a 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 <type scope="com::sun::star::form::component">FormattedField</type>
+ service.</p>
+
+ <p>In addition, this control can be used in HTML forms. It triggers the
+ <method scope="com::sun::star::form">XSubmit::submit</method> 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
+
+
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 000000000000..06395d41e38d
--- /dev/null
+++ b/offapi/com/sun/star/form/control/GridControl.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_GridControl_idl__
+#define __com_sun_star_form_control_GridControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XGrid_idl__
+#include <com/sun/star/form/XGrid.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundComponent_idl__
+#include <com/sun/star/form/XBoundComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_XGridFieldDataSupplier_idl__
+#include <com/sun/star/form/XGridFieldDataSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModeSelector_idl__
+#include <com/sun/star/util/XModeSelector.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::component">GridControl</type>
+ 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 opreration 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 <method scope="com::sun::star::view">XSelectionSupplier::getSelection</method>
+ and <method scope="com::sun::star::view">XSelectionSupplier::select</method> is a sequence of Any's.<br/>
+ Here the elements of the Sequence are the bookmarks (in the <type scope="com::sun::star::sdb">RowSet</type>)
+ 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 - displayes
+ 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 themself 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
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 000000000000..5466f2c19c59
--- /dev/null
+++ b/offapi/com/sun/star/form/control/GroupBox.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_GroupBox_idl__
+#define __com_sun_star_form_control_GroupBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlGroupBox_idl__
+#include <com/sun/star/awt/UnoControlGroupBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">GroupBox</type>
+ service.</p>
+
+ @see com::sun::star::awt::UnoControl
+ @see com::sun::star::awt::UnoControlModel
+*/
+published service GroupBox
+{
+ service com::sun::star::awt::UnoControlGroupBox;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+
+#endif
+
+
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 000000000000..278de5ca515d
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ImageButton.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_ImageButton_idl__
+#define __com_sun_star_form_control_ImageButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControl_idl__
+#include <com/sun/star/awt/UnoControlImageControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">ImageButton</type>
+ 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>An <type scope="com::sun::star::form">XApproveActionListener</type> 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
+ <type scope="com::sun::star::awt">XActionListener</type>s 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
+
+
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 000000000000..10ef14cdf60b
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ImageControl.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_ImageControl_idl__
+#define __com_sun_star_form_control_ImageControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControl_idl__
+#include <com/sun/star/awt/UnoControlImageControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">DatabaseImageControl</type>
+ 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
+
+
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 000000000000..480f4f26243d
--- /dev/null
+++ b/offapi/com/sun/star/form/control/InteractionGridControl.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_component_InteractionGridControl_idl__
+#define __com_sun_star_form_component_InteractionGridControl_idl__
+
+#ifndef __com_sun_star_form_control_GridControl_idl__
+#include <com/sun/star/form/control/GridControl.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module control {
+
+//=============================================================================
+
+/** is an extended grid control, which allows the user to customize some of it's 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 concret 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
+
+
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 000000000000..b830a2b3d045
--- /dev/null
+++ b/offapi/com/sun/star/form/control/ListBox.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_ListBox_idl__
+#define __com_sun_star_form_control_ListBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlListBox_idl__
+#include <com/sun/star/awt/UnoControlListBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XChangeBroadcaster_idl__
+#include <com/sun/star/form/XChangeBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">ListBox</type>
+ 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
+
+
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 000000000000..7f792a221a34
--- /dev/null
+++ b/offapi/com/sun/star/form/control/NavigationToolBar.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_NavigationToolBar_idl__
+#define __com_sun_star_form_control_NavigationToolBar_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module control {
+
+//=============================================================================
+
+/** This service specifies the model for control which provides controller
+ functionality for a <type scope="com::sun::star::form::component">DataForm</type>, such as navigating or filtering
+ the form.
+
+ @see com::sun::star::form::component::NavigationToolBar
+*/
+service NavigationToolBar
+{
+ service com::sun::star::awt::UnoControl;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
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 000000000000..b088f6a782eb
--- /dev/null
+++ b/offapi/com/sun/star/form/control/NumericField.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_NumericField_idl__
+#define __com_sun_star_form_control_NumericField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlNumericField_idl__
+#include <com/sun/star/awt/UnoControlNumericField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">NumericField</type>
+ 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
+
+
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 000000000000..8c373702bd34
--- /dev/null
+++ b/offapi/com/sun/star/form/control/PatternField.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_PatternField_idl__
+#define __com_sun_star_form_control_PatternField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlPatternField_idl__
+#include <com/sun/star/awt/UnoControlPatternField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">PatternField</type>
+ 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
+
+
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 000000000000..b600885453a8
--- /dev/null
+++ b/offapi/com/sun/star/form/control/RadioButton.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_RadioButton_idl__
+#define __com_sun_star_form_control_RadioButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlRadioButton_idl__
+#include <com/sun/star/awt/UnoControlRadioButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">RadioButton</type>
+ 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
+
+
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 000000000000..a0174a45f673
--- /dev/null
+++ b/offapi/com/sun/star/form/control/SubmitButton.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_SubmitButton_idl__
+#define __com_sun_star_form_control_SubmitButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlButton_idl__
+#include <com/sun/star/awt/UnoControlButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_submission_XSubmission_idl__
+#include <com/sun/star/form/submission/XSubmission.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form::component">SubmitButton</type>
+ service.</p>
+
+ <p>The control is clickable. When clicked (by mouse or keyboard, or programmatically),
+ the following happens:
+ <ol><li>Any <type scope="com::sun::star::form::submission">XSubmissionVetoListener</type>s 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,
+ <member scope="com::sun::star::form::submission">XSubmissionSupplier::getSubmission</member>
+ is called at the model.<br/>
+ If there is such a submission object, its
+ <member scope="com::sun::star::form::submission">XSubmission::submit</member> method is invoked.
+ </li>
+ <li>If there is no external submission, the parent object of the model is examined
+ for the presence of the <type scope="com::sun::star::form">XSubmit</type> interface. If it
+ is present, it's <member scope="com::sun::star::form">XSubmit::submit</member> method is
+ invoked.<br/>
+ Since the parent object of a submit button can only be a <type scope="com::sun::star::form::component">Form</type>,
+ this means that <type>SubmitButton</type>s are also able to submit <type scope="com::sun::star::form::component">HTMLForm</type>s.
+ </li>
+ </ol>
+ </p>
+*/
+service SubmitButton
+{
+ /** allows interception (and vetoing) of submissions triggered by the control.
+ */
+ interface com::sun::star::form::submission::XSubmission;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+
+#endif
+
+
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 000000000000..71a1ace31ec2
--- /dev/null
+++ b/offapi/com/sun/star/form/control/TextField.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_TextField_idl__
+#define __com_sun_star_form_control_TextField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEdit_idl__
+#include <com/sun/star/awt/UnoControlEdit.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+#ifndef __com_sun_star_form_XChangeBroadcaster_idl__
+#include <com/sun/star/form/XChangeBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module control {
+
+//=============================================================================
+
+/** describes a control for entering arbiotrary text which can (but not necessarily has to) be bound
+ to a database field.
+
+ <p>The model of the control has to support the <type scope="com::sun::star::form::component">TextField</type>
+ service.</p>
+
+ <p>In addition, this control can be used in HTML forms. It triggers the
+ <method scope="com::sun::star::form">XSubmit::submit</method> 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
+
+
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 000000000000..20cd540c82a2
--- /dev/null
+++ b/offapi/com/sun/star/form/control/TimeField.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_control_TimeField_idl__
+#define __com_sun_star_form_control_TimeField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlTimeField_idl__
+#include <com/sun/star/awt/UnoControlTimeField.idl>
+#endif
+
+#ifndef __com_sun_star_form_XBoundControl_idl__
+#include <com/sun/star/form/XBoundControl.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::form::component">TimeField</type>
+ 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
+
+
diff --git a/offapi/com/sun/star/form/control/makefile.mk b/offapi/com/sun/star/form/control/makefile.mk
new file mode 100644
index 000000000000..6e972b224b69
--- /dev/null
+++ b/offapi/com/sun/star/form/control/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfcontrol
+PACKAGE=com$/sun$/star$/form$/control
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CheckBox.idl \
+ ComboBox.idl \
+ CommandButton.idl \
+ CurrencyField.idl \
+ DateField.idl \
+ FormattedField.idl \
+ GridControl.idl \
+ GroupBox.idl \
+ ImageButton.idl \
+ ImageControl.idl \
+ InteractionGridControl.idl \
+ ListBox.idl \
+ NumericField.idl \
+ PatternField.idl \
+ RadioButton.idl \
+ TextField.idl \
+ TimeField.idl \
+ SubmitButton.idl \
+ NavigationToolBar.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..99145dc4f036
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/ButtonNavigationHandler.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_ButtonNavigationHandler_idl__
+#define __com_sun_star_form_ButtonNavigationHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ which is able to enhance the <member scope="com::sun::star::form::component">CommandButton::ButtonType</member>
+ and <member scope="com::sun::star::form::component">CommandButton::TargetURL</member> properties of a
+ <type scope="com::sun::star::form::component">CommandButton</type>.
+
+ <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
+ <type scope="com::sun::star::inspection">ObjectInspector</type> 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
+
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 000000000000..609f087f71f1
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/CellBindingPropertyHandler.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_CellBindingPropertyHandler_idl__
+#define __com_sun_star_form_inspection_CellBindingPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ 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 <type scope="com::sun::star::uno">XComponentContext</type> used for creating the
+ <type>CellBindingPropertyHandler</type> is examined for a value with this name. If the object in this
+ value denotes a spreadsheet document (indicated by supporting the <type scope="com::sun::star::sheet">XSpreadsheetDocument</type>
+ interface), this document is used to create the <type scope="com::sun::star::form::binding">ValueBinding</type>s
+ 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
+
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 000000000000..b743fe4be85b
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_DefaultFormComponentInspectorModel_idl__
+#define __com_sun_star_form_DefaultFormComponentInspectorModel_idl__
+
+#ifndef __com_sun_star_inspection_XObjectInspectorModel_idl__
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a <type scope="com::sun::star::inspection">XObjectInspectorModel</type> for
+ inspecting form components, in particular all components implementing the <type>FormComponent</type>
+ service.
+
+ <p>A <type>DefaultFormComponentInspectorModel</type> provides the following handlers by default:
+ <ul><li><type>ButtonNavigationHandler</type></li>
+ <li><type>CellBindingPropertyHandler</type></li>
+ <li><type>EditPropertyHandler</type></li>
+ <li><type>EventHandler</type></li>
+ <li><type>FormComponentPropertyHandler</type></li>
+ <li><type>SubmissionPropertyHandler</type></li>
+ <li><type>XMLFormsPropertyHandler</type></li>
+ <li><type>XSDValidationPropertyHandler</type></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.0
+ */
+ 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 <arg>minHelpTextLines</arg> or <arg>maxHelpTextLines</arg> are negative,
+ or if <arg>minHelpTextLines</arg> is greater than <arg>maxHelpTextLines</arg>.
+
+ @see XObjectInspectorModel::HasHelpSection
+ @see XObjectInspectorModel::MinHelpTextLines
+ @see XObjectInspectorModel::MaxHelpTextLines
+
+ @since OOo 2.2.0
+ */
+ createWithHelpSection(
+ [in] long minHelpTextLines,
+ [in] long maxHelpTextLines
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..2e206f7f1f52
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/EditPropertyHandler.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_EditPropertyHandler_idl__
+#define __com_sun_star_form_inspection_EditPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ which provides convinience wrappers for some properties existing at a form component
+ derived from <type scope="com::sun::star::awt">UnoControlEditModel</type>.
+
+ <p>First, the handler supersedes the HScroll and the VScroll properties of a <type scope="com::sun::star::awt">UnoControlEditModel</type>
+ 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 <type scope="com::sun::star::form::component">RichTextControl</type> to inspect,
+ it supersedes the <member scope="com::sun::star::form::component">RichTextControl::RichText</member>
+ and the <member scope="com::sun::star::awt">UnoControlEditModel::MultiLine</member> 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
+
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 000000000000..3940c082af22
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/EventHandler.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_EventHandler_idl__
+#define __com_sun_star_form_EventHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ which, for a <type scope="com::sun::star::form">FormComponent</type>, provides the script events
+ offered by this form component.
+
+ <p>For this, the parent of the form component, which by definition supports the <type scope="com::sun::star::form">FormComponent</type>
+ service, is examined for the <type scope="com::sun::star::script">XEventAttacherManager</type> 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
+
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 000000000000..3b51ba36b6ac
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/FormComponentPropertyHandler.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_FormComponentPropertyHandler_idl__
+#define __com_sun_star_form_inspection_FormComponentPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements the default property handler for all known types of <type scope="com::sun::star::form">FormComponent</type>s.
+
+ @see com::sun::star::inspection::XPropertyHandler
+ @see com::sun::star::form::FormComponents
+*/
+service FormComponentPropertyHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..449368af6a1a
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/SubmissionPropertyHandler.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_SubmissionPropertyHandler_idl__
+#define __com_sun_star_form_inspection_SubmissionPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ 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 <type scope="com::sun::star::uno">XComponentContext</type> used for creating the
+ <type>CellBindingPropertyHandler</type> is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the <type scope="com::sun::star::xforms">XFormsSupplier</type>
+ 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
+
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 000000000000..654e17a21ba4
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/XMLFormsPropertyHandler.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_XMLFormsPropertyHandler_idl__
+#define __com_sun_star_form_inspection_XMLFormsPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ which provides properties related to binding form control models to XForm bindings.
+
+ <p>The handler introduces new properties to choose an <type scope="com::sun::star::xforms">XModel</type>
+ and a <type scope="com::sun::star::xforms">Binding</type> within this model. Additionally,
+ it introduces properties which reflect the different facets of the binding (e.g.
+ <member scope="com::sun::star::xforms">Binding::BindingExpression</member>), so they can be changed
+ directly in the <type scope="com::sun::star::inspection">ObjectInspector</type> 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 <type scope="com::sun::star::uno">XComponentContext</type> used for creating the
+ <type>CellBindingPropertyHandler</type> is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the <type scope="com::sun::star::xforms">XFormsSupplier</type>
+ 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
+
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 000000000000..6896225cfbdd
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/XSDValidationPropertyHandler.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_inspection_XSDValidationPropertyHandler_idl__
+#define __com_sun_star_form_inspection_XSDValidationPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module inspection {
+
+//=============================================================================
+
+/** implements a property handler for use with an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ which provides properties related to binding form control models to XForm bindings and validating
+ the form control content.
+
+ <p>By using an <type>XMLFormsPropertyHandler</type>, an <type scope="com::sun::star::inspection">ObjectInspector</type>
+ can be used to bind form components to <type scope="com::sun::star::xforms">Binding</type> instances.
+ Since those instances also support validating form control content (by supporting an
+ <type scope="com::sun::star::form::validation">XValidator</type> interface), it seems reasonable to
+ edit those validate-related properties (like the XSD data type to validate against) in the
+ <type scope="com::sun::star::inspection">ObjectInspector</type>, too. This is what an <type>XSDValidationPropertyHandler</type>
+ is good for.</p>
+
+ <p>The handler expects a value named "ContextDocument" in the context in which it is created.
+ That is, the <type scope="com::sun::star::uno">XComponentContext</type> used for creating the
+ <type>CellBindingPropertyHandler</type> is examined for a value with this name. If the object in this
+ value denotes a XML form document (indicated by supporting the <type scope="com::sun::star::xforms">XFormsSupplier</type>
+ 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
+
diff --git a/offapi/com/sun/star/form/inspection/makefile.mk b/offapi/com/sun/star/form/inspection/makefile.mk
new file mode 100644
index 000000000000..e867febf8220
--- /dev/null
+++ b/offapi/com/sun/star/form/inspection/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfinsp
+PACKAGE=com$/sun$/star$/form$/inspection
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ButtonNavigationHandler.idl \
+ CellBindingPropertyHandler.idl \
+ DefaultFormComponentInspectorModel.idl \
+ EditPropertyHandler.idl \
+ EventHandler.idl \
+ FormComponentPropertyHandler.idl \
+ SubmissionPropertyHandler.idl \
+ XMLFormsPropertyHandler.idl \
+ XSDValidationPropertyHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/form/makefile.mk b/offapi/com/sun/star/form/makefile.mk
new file mode 100644
index 000000000000..b1161cb2a14a
--- /dev/null
+++ b/offapi/com/sun/star/form/makefile.mk
@@ -0,0 +1,104 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssform
+PACKAGE=com$/sun$/star$/form
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ modules.idl\
+ DataAwareControlModel.idl\
+ DatabaseDeleteEvent.idl\
+ DatabaseParameterEvent.idl\
+ DataSelectionType.idl\
+ ErrorEvent.idl\
+ FormButtonType.idl\
+ FormComponent.idl\
+ FormComponents.idl\
+ FormComponentType.idl\
+ FormController.idl\
+ FormControllerDispatcher.idl\
+ FormControlModel.idl\
+ Forms.idl\
+ FormSubmitEncoding.idl\
+ FormSubmitMethod.idl\
+ ListSourceType.idl\
+ NavigationBarMode.idl\
+ PropertyBrowserController.idl\
+ TabulatorCycle.idl\
+ XApproveActionBroadcaster.idl\
+ XApproveActionListener.idl\
+ XBoundComponent.idl\
+ XBoundControl.idl\
+ XChangeBroadcaster.idl\
+ XChangeListener.idl\
+ XConfirmDeleteBroadcaster.idl\
+ XConfirmDeleteListener.idl\
+ XDatabaseParameterBroadcaster.idl\
+ XDatabaseParameterBroadcaster2.idl\
+ XDatabaseParameterListener.idl\
+ XDeleteListener.idl\
+ XErrorBroadcaster.idl\
+ XErrorListener.idl\
+ XForm.idl\
+ XFormComponent.idl\
+ XFormController.idl\
+ XFormControllerListener.idl\
+ XFormsSupplier.idl\
+ XFormsSupplier2.idl\
+ XGrid.idl\
+ XGridColumnFactory.idl\
+ XGridControl.idl\
+ XGridControlListener.idl\
+ XGridFieldDataSupplier.idl\
+ XGridPeer.idl\
+ XImageProducerSupplier.idl\
+ XInsertListener.idl\
+ XLoadListener.idl\
+ XPositioningListener.idl\
+ XReset.idl\
+ XResetListener.idl\
+ XRestoreListener.idl\
+ XSubmit.idl\
+ XSubmitListener.idl\
+ XUpdateBroadcaster.idl\
+ XUpdateListener.idl\
+ XLoadable.idl\
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/form/modules.idl b/offapi/com/sun/star/form/modules.idl
new file mode 100644
index 000000000000..176443733589
--- /dev/null
+++ b/offapi/com/sun/star/form/modules.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
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 000000000000..996aff1e8076
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FeatureState.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 OpenOffice.org 2.2.0
+ */
+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 <type>FormFeature</type>.
+ */
+ any State;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
+
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 000000000000..b7cc035113cb
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FilterEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 OpenOffice.org 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
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 000000000000..6a03270a1b52
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormController.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __offapi_com_sun_star_form_runtime_FormController_idl__
+#define __offapi_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
+{
+ interface XFormController;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..57ebcc8ef7b7
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormFeature.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>XFormOperations</type> interface.
+
+ @since OpenOffice.org 2.2.0
+*/
+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 <member scope="com::sun::star::form::runtime">XFormOperations::executeWithArguments</member>),
+ 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 <type>XFormOperations</type>'
+ 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 asterik (<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;
+
+ /** revertsall 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
+ <type scope="com::sun::star::form">XConfirmDeleteListener</type>s
+ */
+ 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 <member scope="com::sun::star::sdb">RowSet::ApplyFilter</member> property
+ of a the form.
+ */
+ const short ToggleApplyFilter = 17;
+
+ /** removes all filter and sort criterions put on the form.
+
+ <p>Note that this does not apply to criterios 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 <member scope="com::sun::star::sdb">RowSet::Filter</member>
+ and <member scope="com::sun::star::sdb">RowSet::Order</member> properties of the form.</p>
+ */
+ const short RemoveFilterAndSort = 18;
+
+ /** refreshs 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
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 000000000000..aa4b7e825c8c
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/FormOperations.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_runtime_FormOperations_idl__
+#define __com_sun_star_form_runtime_FormOperations_idl__
+
+#ifndef __com_sun_star_form_runtime_XFormOperations_idl__
+#include <com/sun/star/form/runtime/XFormOperations.idl>
+#endif
+#ifndef __com_sun_star_form_runtime_XFormController_idl__
+#include <com/sun/star/form/runtime/XFormController.idl>
+#endif
+#ifndef __com_sun_star_form_XForm_idl__
+#include <com/sun/star/form/XForm.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 OpenOffice.org 2.2.0
+ */
+service FormOperations : XFormOperations
+{
+ /** creates a <code>FormOperations</code> instance which works on a <type scope="com::sun::star::form">FormController</type>
+ instance.
+ @throws IllegalArgumentException
+ if the given form controller is <NULL/>, or does not have a model denoting a valid
+ <type scope="com::sun::star::form::component">DataForm</type> instance.
+ */
+ createWithFormController(
+ [in] XFormController Controller
+ )
+ raises(
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** creates a <code>FormOperations</code> instance which works on a <type scope="com::sun::star::form::component">DataForm</type>
+ instance.
+
+ @throws IllegalArgumentException
+ if the given form is <NULL/>, or does not support the <type scope="com::sun::star::form::component">DataForm</type>
+ service.
+ */
+ createWithForm(
+ [in] XForm Form
+ )
+ raises(
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..b435e64a6d81
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_runtime_XFeatureInvalidation_idl__
+#define __com_sun_star_form_runtime_XFeatureInvalidation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module runtime {
+
+//=============================================================================
+
+/** implements a callback for a <type>XFormOperations</type> instance, which is called
+ when the state of one or more <type>FormFeature</type>s might have changed.
+
+ @see XFormOperations
+
+ @since OpenOffice.org 2.2.0
+*/
+interface XFeatureInvalidation
+{
+ /** invalidates the given <type>FormFeature</type>s
+
+ <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 requeried.</p>
+ */
+ void invalidateAllFeatures();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..8f3fded592d9
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFilterController.idl
@@ -0,0 +1,181 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __offapi_com_sun_star_form_runtime_XFilterController_idl__
+#define __offapi_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 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
+ <q>LIKE '%Smith%'</q> effectively consitutes 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 <member>ActiveTerm</member>
+ 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 OpenOffice.org 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
+ <member>FilterComponents</member>.
+
+ @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 <member>DisjunctiveTerms</member>.
+
+ @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 <member>FilterComponents</member>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <arg>_Component</arg> is out of the allowed range.
+
+ @see ::com::sun::star::form::component::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 <member>FilterComponents</member>
+ 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
+ <member>DisjunctiveTerms</member>.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <arg>_Term</arg> 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
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 000000000000..c737f9b24c70
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 <type>XFilterController</type>.
+
+ @since OpenOffice.org 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><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> in which the
+ expression changed. This usually equals <member>XFilterController::ActiveTerm</member>.</p>
+
+ <p><member>FilterEvent::FilterComponent</member> denotes the index of the filter component whose
+ <em>predicate expression</em> changed.</p>
+
+ <p><member>FilterEvent::PredicateExpression</member> 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><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> which was
+ removed.</p>
+
+ <p><member>FilterEvent::FilterComponent</member> and <member>FilterEvent::PredicateExpression</member> 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><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> which was
+ added.</p>
+
+ <p><member>FilterEvent::FilterComponent</member> and <member>FilterEvent::PredicateExpression</member> are not
+ used for this event type.</p>
+ */
+ void disjunctiveTermAdded( [in] FilterEvent _Event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..983b0bd61f07
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormController.idl
@@ -0,0 +1,374 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __offapi_com_sun_star_form_runtime_XFormController_idl__
+#define __offapi_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 <type>FormController</type> may
+ contain one or more other <type>FormController</type>s, so the form model structure or hierarchy
+ is reflected in the structure of <type>FormController</type>s. 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 <type scope="com::sun::star::form">FormController</type>.</p>
+
+ <h3>Responsibilities</h3>
+ <p>A <type>FormController</type> is responsible for a <type scope="com::sun::star::awt">UnoControlContainer</type>,
+ 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 precent 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
+ <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> 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
+ <member>DataAwareControlModel::InputRequired</member> property of a single control model.</p>
+
+ <p>If a control which the controller is responsible for supports the <type scope="com::sun::star::frame">XDispatchProviderInterception</type>
+ 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 semantices. 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 <type scope="com::sun::star::beans">PropertyValue</type>s
+ passed to the <member scope="com::sun::star::frame">XDispatch::dispatch</member> call is used - every property value is
+ used as one named parameter.</p>
+
+ <p>For all URLs, interested parties can register as status listeners (<type scope="com::sun::star::frame">XStatusListener</type>)
+ 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"><tbody>
+
+ <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 <type scope="com::sun::star::frame">XStatusListener</type>, and be
+ notified when the record count changes.<br/>
+ The status value which is being notified (<member scope="com::sun::star::frame">FeatureStateEvent::State</member>)
+ is a string which can be used to display the record count. In particular, if the record count is not yet known
+ (<member scope="com::sun::star::sdb">RowSet::IsRowCountFinal</member> 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 an 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 an 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 <member scope="com::sun::star::sdb">RowSet::ApplyFilter</member> property
+ of the form.</p>
+ <p>Additionally, status listeners will be provided with the current (boolean) state of this property
+ in the <member scope="com::sun::star::frame">FeatureStateEvent::State</member> 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>
+
+ </tbody></table>
+
+ @see ::com::sun::star::form::component:Form
+ @see ::com::sun::star::form::binding::BindableControlModel
+ @see ::com::sun::star::sdb::DataSource::Settings
+
+ @since OpenOffice.org 3.3
+ */
+interface XFormController
+{
+ /** is used for tab controlling and grouping of the controls.
+
+ <p>The model obtained via <member scope="com::sun::star::awt">XTabController::getModel</member> 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
+ <type scope="com::sun::star::form">XConfirmDeleteListener</type> 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
+ <type scope="com::sun::star::sdb">XSQLErrorListener</type> 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
+ <type scope="com::sun::star::form">XDatabaseParameterListener</type> 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 <type>XFilterController</type> 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;
+
+ /** provicdes 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
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 000000000000..434faba18288
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __offapi_com_sun_star_form_runtime_XFormControllerContext_idl__
+#define __offapi_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 <type>FormController</type>
+
+<p>A <type>FormController</type> 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
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 000000000000..f6f040ccc199
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormOperations.idl
@@ -0,0 +1,284 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_runtime_XFormOperations_idl__
+#define __com_sun_star_form_runtime_XFormOperations_idl__
+
+#ifndef __com_sun_star_form_runtime_FeatureState_idl__
+#include <com/sun/star/form/runtime/FeatureState.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XRowSet_idl__
+#include <com/sun/star/sdbc/XRowSet.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XResultSetUpdate_idl__
+#include <com/sun/star/sdbc/XResultSetUpdate.idl>
+#endif
+#ifndef __com_sun_star_form_runtime_XFormController_idl__
+#include <com/sun/star/form/runtime/XFormController.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+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 <member scope="com:::sun::star::sdbc">XResultSet::next</member>
+ 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
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::updateRow</member> or
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::insertRow</member>, depending
+ on the form's <member scope="com::sun::star::sdb">RowSet::IsNew</member> 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 nee 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 <type scope="com::sun::star::form">XConfirmDeleteListener</type>s
+ registered at the <type scope="com::sun::star::form">FormController</type> or the
+ <type scope="com::sun::star::form::component">DataForm</type>.</p>
+
+ <p>If you agree that this is ugly to do and maintain, then <code>XFormOperations</code>
+ is for you. It provides a <member>execute</member> method, which will do all of the above
+ for you; plus some similar convenient wrappers for similar functionality.</p>
+
+ @see FormFeature
+
+ @since OpenOffice.org 2.2.0
+ */
+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 determimed. Must be one of the <type>FormFeature</type>
+ constants.<br/>
+ An invalid value here will be silently ignored, and simply return a <type>FeatureState</type>
+ 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 <member>getState</member>, and evaluating the
+ <member>FeatureState::Enabled</member> member.</p>
+
+ @param Feature
+ the feature whose state is to be determimed. Must be one of the <type>FormFeature</type>
+ 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 <type>FormFeature</type>
+ constants.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given Feature is unknown, not executable, or striclty requires arguments
+ to be executed.
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if a database access erorr occurs
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an exception is caught which is no <type scope="com::sun::star::uno">RuntimeException</type>
+ and no <type scope="com::sun::star::sdbc">SQLException</type>.
+
+ @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 <type>FormFeature</type>
+ constants.
+
+ @param Arguments
+ the named arguments for the feature to execute. See the <type>FormFeature</type> 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 erorr occurs
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an exception is caught which is no <type scope="com::sun::star::uno">RuntimeException</type>
+ and no <type scope="com::sun::star::sdbc">SQLException</type>.
+ */
+ 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 erorr 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 erorr 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 es equivalent to examing the
+ <member scope="com::sun::star::sdb">RowSet::IsNew</member> 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 es equivalent to examing the
+ <member scope="com::sun::star::sdb">RowSet::IsModified</member> 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 <member>execute</member> 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
diff --git a/offapi/com/sun/star/form/runtime/makefile.mk b/offapi/com/sun/star/form/runtime/makefile.mk
new file mode 100644
index 000000000000..4b34b28cae9a
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/makefile.mk
@@ -0,0 +1,56 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfrunt
+PACKAGE=com$/sun$/star$/form$/runtime
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FeatureState.idl \
+ FilterEvent.idl \
+ FormFeature.idl \
+ FormOperations.idl \
+ FormController.idl \
+ XFeatureInvalidation.idl \
+ XFilterController.idl \
+ XFilterControllerListener.idl \
+ XFormController.idl \
+ XFormControllerContext.idl \
+ XFormOperations.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..7eacf7f13935
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmission.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_submission_XSubmission_idl__
+#define __com_sun_star_form_submission_XSubmission_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+//=============================================================================
+
+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 occured 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 occured 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 componentsw 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 componentsw vetoing the submission
+ */
+ void removeSubmissionVetoListener( [in] XSubmissionVetoListener listener )
+ raises ( com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..8132bfcdf1ac
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmissionSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_submission_XSubmissionSupplier_idl__
+#define __com_sun_star_form_submission_XSubmissionSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XSubmission</type> instance to which the submission
+ request should be delegated.
+ */
+ [attribute] XSubmission Submission;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..0c9f32f5fa91
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/XSubmissionVetoListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_submission_XSubmissionVetoListener_idl__
+#define __com_sun_star_form_submission_XSubmissionVetoListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+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 <member scope="com::sun::star::lang">EventObject::Source</member>
+ 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. <member scope="com::sun::star::uno">Exception::Message</member>
+ should contain a justification for the veto then.
+ */
+ void submitting( [in] com::sun::star::lang::EventObject event )
+ raises ( com::sun::star::util::VetoException );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/submission/makefile.mk b/offapi/com/sun/star/form/submission/makefile.mk
new file mode 100644
index 000000000000..27a60084cb29
--- /dev/null
+++ b/offapi/com/sun/star/form/submission/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfsubmission
+PACKAGE=com$/sun$/star$/form$/submission
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XSubmission.idl \
+ XSubmissionSupplier.idl \
+ XSubmissionVetoListener.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..9b436b605efa
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_ValidatableBindableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableBindableControlModel_idl__
+
+#ifndef __com_sun_star_form_validation_ValidatableControlModel_idl__
+#include <com/sun/star/form/validation/ValidatableControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableControlModel_idl__
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+#endif
+//=============================================================================
+
+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 <type scope="com::sun::star::beans">XPropertySet</type>):
+ <ul><li>binding the value to an external component via <type scope="com::sun::star::form::binding">XBindableValue</type></li>
+ <li>validating the current value by an external component, via <type>XValidatable</type> and <type>XValidator</type></li>
+ </ul></p>
+
+ <p>The <type>ValidatableBindableControlModel</type> 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
+ <member scope="com::sun::star::form::binding">XBindableValue::setValueBinding</member> with a non-<NULL/>
+ binding), this binding is analyzed for validation support. If it is present (read: if the
+ binding also supports the <type>XValidator</type> interface), the binding is also
+ established as validator, as if it has been passed to <member>XValidatable::setValidator</member>.<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
+ <type scope="com::sun::star::util">VetoException</type> upon calling <member>XValidatable::setValidator</member>.</p>
+ */
+ service com::sun::star::form::binding::BindableControlModel;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..5ca51efdab1f
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableControlModel.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_ValidatableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableControlModel_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__
+#include <com/sun/star/form/validation/XValidatableFormComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__
+#include <com/sun/star/form/validation/XValidityConstraintListener.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::util">XCloneable</type> interface.<br/>
+ If an validatable control model, at which a validator has been set (via
+ <member>XValidatable::setValidator</member>), 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 an retrieving the current validator of the control model is
+ possible via the <type>XValidatable</type> interface (which
+ <type>XValidatableFormComponent</type> 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 <member>XValidatableFormComponent::isValid</member>
+ and <member>XValidatableFormComponent::getCurrentValue</member>.</p>
+
+ <p>Note that the type of the value provided by <member>XValidatableFormComponent::getCurrentValue</member>
+ 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 <member>XValidatable::setValidator</member>, the validatable
+ control model registers itself as listener. If the validity constraint of the validator
+ changes, the <type>ValidatableControlModel</type> re-validates it's current valid, and
+ broadcasts any resuling changes to all its <type>XFormComponentValidityListener</type>, if
+ necessary.</p>
+ */
+ interface XValidityConstraintListener;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..f28c054918b9
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XFormComponentValidityListener_idl__
+#define __com_sun_star_form_validation_XFormComponentValidityListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+//=============================================================================
+
+/** is the listener interface to be notified of changes of a <type>XValidatableFormComponent</type>
+*/
+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 <member scope="com::sun::star::lang">EventObject::Source</member>
+ represents the <type>XValidatableFormComponent</type> whose validity, value, or text changed.
+ */
+ void componentValidityChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..aa7799dfff85
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatable.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidatable_idl__
+#define __com_sun_star_form_validation_XValidatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::util">VetoException</type>
+ 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
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 000000000000..eae3a9f48518
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__
+#define __com_sun_star_form_validation_XValidatableFormComponent_idl__
+
+#ifndef __com_sun_star_form_validation_XValidatable_idl__
+#include <com/sun/star/form/validation/XValidatable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XValidatableFormComponent</type> 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 inconviniently.</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 <member>XValidator::isValid</member> with
+ the current value (see <member>getCurrentValue</member>) of the component, where
+ the validator is obtained via <member>XValidatable::getValidator</member>.</p>
+
+ <p>If no validator has been set (<member>XValidatable::setValidator</member>), 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 <type scope="com::sun::star::form::component">FormattedField</type>,
+ calling this method is equivalent to retrieving the
+ <member scope="com::sun::star::awt">UnoControlFormattedFieldModel::EffectiveValue</member>.</p>
+
+ <p>If no validator has been set (<member>XValidatable::setValidator</member>), the value returned
+ here is defined by the service implementing this interface.</p>
+ */
+ any getCurrentValue();
+
+ /** registers the given listener.
+
+ <p><type>XFormComponentValidityListener</type>s are called whenever <em>any</em> of the aspects
+ of the validatable form component (the validity flag, or the value) changed.</p>
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ */
+ void addFormComponentValidityListener( [in] XFormComponentValidityListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** registers the given listener.
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ */
+ void removeFormComponentValidityListener( [in] XFormComponentValidityListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..03753ef90fbb
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidator.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidator_idl__
+#define __com_sun_star_form_validation_XValidator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XValidityConstraintListener</type>.
+
+ @see XValidatable
+*/
+interface XValidator : com::sun::star::uno::XInterface
+{
+ /** determines whether the given value is valid
+
+ @param aValue
+ 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 aValue
+ the value which has been recognized as being invalid
+ @return
+ a human-readable string, which explains why the given valus is considered invalid.
+ */
+ string explainInvalid( [in] any Value );
+
+ /** registers the given validity listener.
+
+ <p>Usually, an <type>XValidatable</type> 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 contraints should simply ignore this
+ call.</p>
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ 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 <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ @see XValidityConstraintListener
+ */
+ void removeValidityConstraintListener( [in] XValidityConstraintListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..593b230f6d52
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__
+#define __com_sun_star_form_validation_XValidityConstraintListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+//=============================================================================
+
+/** specifies an interface for listening for changes in the validity constraints
+ represented by an <type>XValidator</type>.
+*/
+interface XValidityConstraintListener : com::sun::star::lang::XEventListener
+{
+ /** called when the validity constraint represented by an <type>XValidator</type>,
+ at which the listener is registered, changed.
+
+ @param Source
+ The event source. The member <member scope="com::sun::star::lang">EventObject::Source</member>
+ represents the validator component whose validity constraint changed.
+ */
+ void validityConstraintChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/makefile.mk b/offapi/com/sun/star/form/validation/makefile.mk
new file mode 100644
index 000000000000..752438c94f2c
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/makefile.mk
@@ -0,0 +1,53 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfvalidation
+PACKAGE=com$/sun$/star$/form$/validation
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XValidatable.idl \
+ XValidator.idl \
+ XValidityConstraintListener.idl \
+ XValidatableFormComponent.idl \
+ XFormComponentValidityListener.idl \
+ \
+ ValidatableControlModel.idl \
+ ValidatableBindableControlModel.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/formula/AccessibleFormulaText.idl b/offapi/com/sun/star/formula/AccessibleFormulaText.idl
new file mode 100644
index 000000000000..98099f32ca27
--- /dev/null
+++ b/offapi/com/sun/star/formula/AccessibleFormulaText.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_formula_AccessibleFormulaText_idl__
+#define __com_sun_star_formula_AccessibleFormulaText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module formula {
+
+//=============================================================================
+
+/** The accessible view of a formula documents command text.
+
+ @since OOo 1.1.2
+ */
+published 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
diff --git a/offapi/com/sun/star/formula/AccessibleFormulaView.idl b/offapi/com/sun/star/formula/AccessibleFormulaView.idl
new file mode 100644
index 000000000000..3cbcf84950a5
--- /dev/null
+++ b/offapi/com/sun/star/formula/AccessibleFormulaView.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_formula_AccessibleFormulaView__
+#define __com_sun_star_formula_AccessibleFormulaView__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module formula {
+
+//=============================================================================
+
+/** The accessible view of a formula documents visual representation.
+
+ @since OOo 1.1.2
+ */
+published 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
diff --git a/offapi/com/sun/star/formula/FormulaProperties.idl b/offapi/com/sun/star/formula/FormulaProperties.idl
new file mode 100644
index 000000000000..4e03ff36c3a5
--- /dev/null
+++ b/offapi/com/sun/star/formula/FormulaProperties.idl
@@ -0,0 +1,355 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 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.
+ */
+ [property] boolean IsTextMode;
+ //-------------------------------------------------------------------------
+
+ /** contains the relative height of the font for functions.
+
+ The values unit is percent of the
+ <member scope="com::sun::star::formula">FormulaProperties::BaseFontHeight</member>
+ */
+ [property] short RelativeFontHeightFunctions;
+ //-------------------------------------------------------------------------
+
+ /** contains the relative height of the font for indices.
+
+ The values unit is percent of the
+ <member scope="com::sun::star::formula">FormulaProperties::BaseFontHeight</member>
+ */
+ [property] short RelativeFontHeightIndices;
+ //-------------------------------------------------------------------------
+
+ /** contains the relative height of the font for limits.
+
+ The values unit is percent of the
+ <member scope="com::sun::star::formula">FormulaProperties::BaseFontHeight</member>
+ */
+ [property] short RelativeFontHeightLimits;
+ //-------------------------------------------------------------------------
+
+ /** contains the relative height of the font for operators.
+
+ The values unit is percent of the
+ <member scope="com::sun::star::formula">FormulaProperties::BaseFontHeight</member>
+ */
+ [property] short RelativeFontHeightOperators;
+ //-------------------------------------------------------------------------
+
+ /** contains the relative height of the font for text.
+
+ The values unit is percent of the
+ <member scope="com::sun::star::formula">FormulaProperties::BaseFontHeight</member>
+ */
+ [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
diff --git a/offapi/com/sun/star/formula/SymbolDescriptor.idl b/offapi/com/sun/star/formula/SymbolDescriptor.idl
new file mode 100644
index 000000000000..da83b3dc8db1
--- /dev/null
+++ b/offapi/com/sun/star/formula/SymbolDescriptor.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_formula_Symbol_idl__
+#define __com_sun_star_formula_Symbol_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 <type scope="com::sun::star::awt">CharSet</type>
+ */
+ short nCharSet;
+
+ /** Specifies the general style of the font.
+
+ @see <type scope="com::sun::star::awt">FontFamily</type>
+ */
+ short nFamily;
+
+ /** Specifies the pitch of the font.
+
+ @see <type scope="com::sun::star::awt">FontPitch</type>
+ */
+ short nPitch;
+
+ /** Specifies the thickness of the line.
+
+ @see <type scope="com::sun::star::awt">FontWeight</type>
+
+ The allowed integer values correspond as follows:
+ 0 : <member scope="com::sun::star::awt">FontWeight::DONTKNOW</member>
+ 1 : <member scope="com::sun::star::awt">FontWeight::THIN</member>
+ 2 : <member scope="com::sun::star::awt">FontWeight::ULTRALIGHT</member>
+ 3 : <member scope="com::sun::star::awt">FontWeight::LIGHT</member>
+ 4 : <member scope="com::sun::star::awt">FontWeight::SEMILIGHT</member>
+ 5 : <member scope="com::sun::star::awt">FontWeight::NORMAL</member>
+ 7 : <member scope="com::sun::star::awt">FontWeight::SEMIBOLD</member>
+ 8 : <member scope="com::sun::star::awt">FontWeight::BOLD</member>
+ 9 : <member scope="com::sun::star::awt">FontWeight::ULTRABOLD</member>
+ 10 : <member scope="com::sun::star::awt">FontWeight::BLACK</member>
+
+ */
+ short nWeight;
+
+ /** Specifies if the font is italic.
+
+ @see <type scope="com::sun::star::awt">FontSlant</type>
+
+ The values
+ <member cope"com::sun::star::awt">FontSlant::REVERSE_OBLIQUE</member> and
+ <member scope="com::sun::star::awt">FontSlant::REVERSE_ITALIC</member>
+ may not be used.
+ */
+ short nItalic;
+};
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/formula/makefile.mk b/offapi/com/sun/star/formula/makefile.mk
new file mode 100644
index 000000000000..aae03ff0353c
--- /dev/null
+++ b/offapi/com/sun/star/formula/makefile.mk
@@ -0,0 +1,49 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssformula
+PACKAGE=com$/sun$/star$/formula
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleFormulaText.idl \
+ AccessibleFormulaView.idl \
+ SymbolDescriptor.idl \
+ FormulaProperties.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/frame/BorderWidths.idl b/offapi/com/sun/star/frame/BorderWidths.idl
new file mode 100644
index 000000000000..db3d4484a69f
--- /dev/null
+++ b/offapi/com/sun/star/frame/BorderWidths.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl
new file mode 100644
index 000000000000..d8058379922e
--- /dev/null
+++ b/offapi/com/sun/star/frame/CommandGroup.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+published constants CommandGroup
+{
+ //-------------------------------------------------------------------------
+ /** specifies interal 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
diff --git a/offapi/com/sun/star/frame/Components.idl b/offapi/com/sun/star/frame/Components.idl
new file mode 100644
index 000000000000..705ad4364d73
--- /dev/null
+++ b/offapi/com/sun/star/frame/Components.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Components_idl__
+#define __com_sun_star_frame_Components_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a collection of components
+
+ <p>
+ One important instance of this service is available from the
+ <type>Desktop</type> object via the <type>XDesktop</type> interface.
+ </p>
+
+ @see com::sun::star::lang::XComponent
+ @see XDesktop
+ */
+published service Components
+{
+ //-------------------------------------------------------------------------
+ /** use it to get snapshot of current avaliable components as an enumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ContentHandler.idl b/offapi/com/sun/star/frame/ContentHandler.idl
new file mode 100644
index 000000000000..ad30ccab2108
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandler.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_ContentHandler_idl__
+#define __com_sun_star_frame_ContentHandler_idl__
+
+#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__
+#include <com/sun/star/frame/XNotifyingDispatch.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::document">TypeDetection</type>
+ for further informations) 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 <type>XNotifyingDispatch</type> is <type>XDispatch</type>
+ and can be called for requests if result isn't neccessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XNotifyingDispatch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ContentHandlerFactory.idl b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
new file mode 100644
index 000000000000..7fb08ba7aa13
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_ContentHandlerFactory_idl__
+#define __com_sun_star_frame_ContentHandlerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ //-------------------------------------------------------------------------
+ /** interface to create handler objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a <type>ContentHandler</type>.
+ They can be created by using of his internal name, which must be unambigous everytime, 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 content handler configuration
+
+ <p>
+ This interface supports an access to the internal configuration
+ of all accessible handler objects. The return value of
+ <member scope="com::sun::star::container">XNameAccess::getByName()</member> is a property sequence
+ packed in an any.
+ </p>
+ <table border=1>
+ <tr>
+ <td><b>Types<b></td>
+ <td>[string]</td>
+ <td>file types for which handler is registered</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
diff --git a/offapi/com/sun/star/frame/ControlCommand.idl b/offapi/com/sun/star/frame/ControlCommand.idl
new file mode 100644
index 000000000000..9be9a6948349
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlCommand.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_ControlCommand_idl__
+#define __com_sun_star_frame_ControlCommand_idl__
+
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+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
+ the command and control.
+ */
+ sequence< com::sun::star::beans::NamedValue > Arguments;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ControlEvent.idl b/offapi/com/sun/star/frame/ControlEvent.idl
new file mode 100644
index 000000000000..7cde5fc5ee54
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlEvent.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_ControlEvent_idl__
+#define __com_sun_star_frame_ControlEvent_idl__
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** describes a control event send 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 occured.
+ */
+ string Event;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a sequence of named values which are used as
+ additional values for the event. The number and types of
+ named values depent on the event.
+ */
+ sequence< com::sun::star::beans::NamedValue > aInformation;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Controller.idl b/offapi/com/sun/star/frame/Controller.idl
new file mode 100644
index 000000000000..5371d3c331e0
--- /dev/null
+++ b/offapi/com/sun/star/frame/Controller.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Controller_idl__
+#define __com_sun_star_frame_Controller_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XContextMenuInterception_idl__
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XUserInputInterception_idl__
+#include <com/sun/star/awt/XUserInputInterception.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__
+#include <com/sun/star/datatransfer/XTransferableSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::awt">XWindow</type>
+ can offer
+
+ <p>
+ Such components can be loaded into a <type>Frame</type> inside a <type>Desktop</type>
+ environment. A controller is a richer component then a pure window, but full featured
+ components need a <type>XModel</type> interface too.
+ <br>
+ (see service <type scope="com::sun::star::document">OfficeDocument</type> for further information)
+ <p>
+
+ @see com::sun::star::document::OfficeDocument
+ */
+published service Controller
+{
+ //-------------------------------------------------------------------------
+ /** with this interface, components viewed in a <type>Frame</type> can serve
+ events (by supplying dispatches)
+ */
+ interface XController;
+
+ //-------------------------------------------------------------------------
+ /** for certain functions which are useful at the UI
+
+ <p>
+ Mostly used by the <type>Frame</type> 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 menue or prevent them from beeing executed
+
+ <p>
+ Don't mix it with <type>XDispatchProviderInterception</type> which
+ intercept calls of <member>XDispatch::dispatch()</member>.
+ </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
diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl
new file mode 100644
index 000000000000..f7a92ca25df0
--- /dev/null
+++ b/offapi/com/sun/star/frame/Desktop.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Desktop_idl__
+#define __com_sun_star_frame_Desktop_idl__
+
+#ifndef __com_sun_star_frame_Frame_idl__
+#include <com/sun/star/frame/Frame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#include <com/sun/star/frame/XDesktop.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XComponentLoader_idl__
+#include <com/sun/star/frame/XComponentLoader.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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>
+ */
+published service Desktop
+{
+ //-------------------------------------------------------------------------
+ /** make it possible to be the global root of different seperated frame trees
+
+ <p>
+ It's not a must for a frame (neither a frame tree) to be a part of this
+ global tree. But such outstanding frames won't be accessible by the normal
+ frame api.
+ </p>
+ */
+ service Frame;
+
+ //-------------------------------------------------------------------------
+ /** 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;
+
+ //-------------------------------------------------------------------------
+ /** @deprecated This interface is a documentation error. It was never thought to be supported
+ by this service. Please use the service <type cope="com::sun::star::frame">GlobalEventBroadcaster</type>
+ instead of this interface.
+ */
+ interface com::sun::star::document::XEventBroadcaster;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DesktopTask.idl b/offapi/com/sun/star/frame/DesktopTask.idl
new file mode 100644
index 000000000000..3640f57c332f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTask.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DesktopTask_idl__
+#define __com_sun_star_frame_DesktopTask_idl__
+
+#ifndef __com_sun_star_frame_XDesktopTask_idl__
+#include <com/sun/star/frame/XDesktopTask.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XWindowArranger_idl__
+#include <com/sun/star/frame/XWindowArranger.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use the <type>Frame</type> service instead of this
+ @deprecated
+ */
+published service DesktopTask
+{
+ /** use <type>Frame</type> service */
+ interface com::sun::star::frame::XDesktopTask;
+
+ /** use the same interface at the <type>Frame</type> service */
+ interface com::sun::star::frame::XFrame;
+
+ /** use the same interface at the <type>Frame</type> service */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** - */
+ interface com::sun::star::frame::XWindowArranger;
+
+ /** use the same interface at the <type>Desktop</type> or
+ <type>Frame</type> service */
+ interface com::sun::star::frame::XFramesSupplier;
+
+ /** use property <member>Frame::Title</member> 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
diff --git a/offapi/com/sun/star/frame/DesktopTasks.idl b/offapi/com/sun/star/frame/DesktopTasks.idl
new file mode 100644
index 000000000000..afb479209b3d
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTasks.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DesktopTasks_idl__
+#define __com_sun_star_frame_DesktopTasks_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published service DesktopTasks
+{
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchDescriptor.idl b/offapi/com/sun/star/frame/DispatchDescriptor.idl
new file mode 100644
index 000000000000..f3b3867695f3
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchDescriptor.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchDescriptor_idl__
+#define __com_sun_star_frame_DispatchDescriptor_idl__
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 seperated.
+ For optimized remote functionality <member>XDispatch::queryDispatches()</member>
+ it's neccessary to pack these parameters in a flat structure wich 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 <type scope="com::sun::star::util">URLTransformer</type>
+ 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 realy 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
diff --git a/offapi/com/sun/star/frame/DispatchHelper.idl b/offapi/com/sun/star/frame/DispatchHelper.idl
new file mode 100644
index 000000000000..088a113d1fc0
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchHelper.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchHelper_idl__
+#define __com_sun_star_frame_DispatchHelper_idl__
+
+#ifndef __com_sun_star_frame_XDispatchHelper_idl__
+#include <com/sun/star/frame/XDispatchHelper.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides an easy way to dispatch an URL using one call instead of multiple ones.
+
+ <p>
+ Normaly a complete dispatch is splitted into different parts:
+ - converting and parsing the URL
+ - searching for a valid dispatch object available on a dispatch provider
+ - dispatching of the URL and it's parameters
+ </p>
+
+ @see DispatchProvider
+
+ @since OOo 1.1.2
+ */
+published service DispatchHelper
+{
+ //-------------------------------------------------------------------------
+ /** provides the easy way for dispatch requests.
+
+ @see XDispatchProvider
+ @see XDispatch
+ */
+ interface XDispatchHelper;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl
new file mode 100644
index 000000000000..49789f003b8a
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchInformation.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchInformation_idl__
+#define __com_sun_star_frame_DispatchInformation_idl__
+
+#ifndef __com_sun_star_frame_CommandGroup_idl__
+#include <com/sun/star/frame/CommandGroup.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides information about a supported command
+
+ @see XDispatchInformationProvider
+ @see Controller
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/frame/DispatchProvider.idl b/offapi/com/sun/star/frame/DispatchProvider.idl
new file mode 100644
index 000000000000..0eb061d54971
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchProvider.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchProvider_idl__
+#define __com_sun_star_frame_DispatchProvider_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides <type>XDispatch</type> 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 (<type>XNotifyingDispatch</type>) or with possible
+ (but not guaranteed) notifications (<type>XDispatch</type>).
+ </p>
+
+ @see XNotifyingDispatch
+ @see XDispatch
+ @see XControlNotificationListener
+ */
+published service DispatchProvider
+{
+ //-------------------------------------------------------------------------
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of <type>XNotifyingDispatch</type> is <type>XDispatch</type>
+ and can be called for requests if result isn't neccessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** provides dispatch interception
+
+ <p>
+ It makes it possible to register an <type>XDispatchProvider</type> which
+ intercepts all requests of <type>XDispatch</type> to this instance.
+ </p>
+ */
+ [optional] interface XDispatchProviderInterception;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchRecorder.idl b/offapi/com/sun/star/frame/DispatchRecorder.idl
new file mode 100644
index 000000000000..276d332e45a4
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorder.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchRecorder_idl__
+#define __com_sun_star_frame_DispatchRecorder_idl__
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides functionality to record <member>XDispatch::dispatch()</member> requests
+
+ <p>
+ It records all neccessary parameters of a call <member>XDispatch::dispatch()</member>
+ 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 <type>DispatchRecorderSupplier</type>, which is available on
+ a property of a <member>Frame::DispatchRecorderSupplier</member>, 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
+{
+ //-------------------------------------------------------------------------
+ /** provides the record functionality and access on the generated code
+ */
+ interface com::sun::star::frame::XDispatchRecorder;
+ /** provides replacement capability of recorded statements
+ */
+ interface com::sun::star::container::XIndexReplace;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
new file mode 100644
index 000000000000..7dec99011b17
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_DispatchRecorderSupplier_idl__
+
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides a <type>DispatchRecorder</type>
+
+ <p>
+ This supplier regulate macro recording of <member>XDispatch::dispatch()</member>
+ calls. For that it capsulate a reference to a <type>DispatchRecorder</type>.
+ Such recorder is used internaly and can be used externaly too.
+ A supplier will be available on a <type>Frame</type> 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
+{
+ //-------------------------------------------------------------------------
+ /** provides access to a <type>DispatchRecorder</type> and helps on recording
+ */
+ interface com::sun::star::frame::XDispatchRecorderSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchResultEvent.idl b/offapi/com/sun/star/frame/DispatchResultEvent.idl
new file mode 100644
index 000000000000..c295f517b446
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultEvent.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_DispatchResultEvent_idl__
+#define __com_sun_star_frame_DispatchResultEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+//=============================================================================
+
+ 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 dependend. The member State
+ can be set to one of the values defined in <type>DispatchResultState</type>.
+ If State is set to <const>DispatchResultState::FAILURE</const>, Result may
+ specify the reason (or is empty). The type is also dispatch action dependend.
+ If State is set to <const>DispatchResultState::DONTKNOW</const>, 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
diff --git a/offapi/com/sun/star/frame/DispatchResultState.idl b/offapi/com/sun/star/frame/DispatchResultState.idl
new file mode 100644
index 000000000000..aac075795045
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultState.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>DispatchResultEvent</type>
+ */
+published constants DispatchResultState
+{
+ //-------------------------------------------------------------------------
+ /** indicates: dispatch failed
+ */
+ const short FAILURE = 0;
+
+ //-------------------------------------------------------------------------
+ /** indicates: dispatch was successfully
+ */
+ const short SUCCESS = 1;
+
+ //-------------------------------------------------------------------------
+ /** indicates: result isn't defined
+ */
+ const short DONTKNOW = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchStatement.idl b/offapi/com/sun/star/frame/DispatchStatement.idl
new file mode 100644
index 000000000000..c1965b0db838
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchStatement.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DispatchStatement_idl__
+#define __com_sun_star_frame_DispatchStatement_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::frame::DispatchStatement
+/** represents a dispatch statement from a recorded macro
+
+ @since OOo 1.1.2
+ */
+published struct DispatchStatement
+{
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aCommand
+ /** specifies the dispatch command
+
+ <p>
+ That means the <var>URL</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ string aCommand;
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aTarget
+ /** specifies the frame target
+
+ <p>
+ That means the <var>TargetFrameName</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ string aTarget;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aArgs
+ /** specifies the dispatch command arguments
+
+ <p>
+ That means the <var>Arguments</var> parameter of a corresponding <member>XDispatch::dispatch()</member> request.
+ </p>
+ */
+ sequence < com::sun::star::beans::PropertyValue > aArgs;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::nFlags
+ /** specifies the optional search flags
+ <p>
+ That means the <var>SearchFlags</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ long nFlags;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::bIsComment
+ /** specifies if this statement should be recorded as commented out or not
+
+ @see XDispatchRecorder::recordDispatchAsComment()
+ */
+ boolean bIsComment;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DocumentTemplates.idl b/offapi/com/sun/star/frame/DocumentTemplates.idl
new file mode 100644
index 000000000000..b3c44ffe83ad
--- /dev/null
+++ b/offapi/com/sun/star/frame/DocumentTemplates.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_DocumentTemplates_idl__
+#define __com_sun_star_frame_DocumentTemplates_idl__
+
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for accessing the document templates of the office
+ and manipulate them ( add or rename or remove templates )
+*/
+published service DocumentTemplates
+{
+ //-------------------------------------------------------------------------
+ /** implements a high level interface on top of an ucb content provider
+ which is used for template configuration
+ */
+ interface XDocumentTemplates;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DoubleInitializationException.idl b/offapi/com/sun/star/frame/DoubleInitializationException.idl
new file mode 100644
index 000000000000..f1121156a2cc
--- /dev/null
+++ b/offapi/com/sun/star/frame/DoubleInitializationException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::frame::DoubleInitializationException
+/** 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
diff --git a/offapi/com/sun/star/frame/FeatureStateEvent.idl b/offapi/com/sun/star/frame/FeatureStateEvent.idl
new file mode 100644
index 000000000000..c812424e42ac
--- /dev/null
+++ b/offapi/com/sun/star/frame/FeatureStateEvent.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FeatureStateEvent_idl__
+#define __com_sun_star_frame_FeatureStateEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** This event is broadcast by a <type>Controller</type> 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 <type>XDispatch</type> has to be requeried.
+
+ <p>
+ Interest code should listen for <type>FrameActionEvent</type>
+ too, to update own feature states and dispatch listener on
+ <const>FrameAction::CONTEXT_CHANGED</const>.
+ </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
+ <atom>boolean</atom> are useful here for generic UI elements, like
+ a checkmark in a menu.
+ </p>
+ */
+ any State;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl
new file mode 100644
index 000000000000..2111775c9948
--- /dev/null
+++ b/offapi/com/sun/star/frame/Frame.idl
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Frame_idl__
+#define __com_sun_star_frame_Frame_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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 components' link
+ to the outside world. They create a skeleton for the whole office api infrastructure
+ by building frame hierarchys. These hierarchies contains all currently loaded
+ documents and make it possible to walk during these trees.
+ A special service <type>Desktop</type> can(!) combine different of such trees
+ to a global one which life time will be controlled by it.
+ </p>
+
+ @see Desktop
+ */
+published service Frame
+{
+ //-------------------------------------------------------------------------
+ /** contains user defined attributes.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ //-------------------------------------------------------------------------
+ /** allows the component to be loaded and accessed
+ within the frame; it is the main connection to the
+ environment of the component.
+ */
+ interface XFrame;
+
+ //-------------------------------------------------------------------------
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>,
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of <type>XDispatchProvider</type> must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ <member>XDispatchProvider::queryDispatch()</member>.
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see <type>FrameSearchFlag</type>), 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.0
+ */
+ [optional] interface XDispatchInformationProvider;
+
+ //-------------------------------------------------------------------------
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, supress or deroute dispatched URLs.
+ If they support another interface too (<type>XInterceptorInfo</type>)
+ 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;
+
+ //-------------------------------------------------------------------------
+ /** supplies access to <type scope="com::sun::star::task">XStatusIndicator</type> objects
+ for the component within the frame to show progresses
+ */
+ [optional] 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>
+ */
+ [property] 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
+ <type>XDispatch</type>. A supplier is available only, if recording was enabled.
+ That means: if somewhere whish 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 <member>XDispatch::dispatch()</member>
+ on the original dispatch object. If it's a valid value he must use the supplier
+ by calling his method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>
+ with the original dispatch object as argument.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not recommended to cache an already getted supplier. Because there exist
+ no possibility to check for enabled/disabled recording then.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [optional, property] XDispatchRecorderSupplier RecorderSupplier;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the <type>LayoutManager</type> of the frame.
+ */
+ [optional, property] com::sun::star::uno::XInterface LayoutManager;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameAction.idl b/offapi/com/sun/star/frame/FrameAction.idl
new file mode 100644
index 000000000000..e3249900095e
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameAction.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 informations about loaded/realoed or unloaded
+ components into a <type>Frame</type>.
+ </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 broacast 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
diff --git a/offapi/com/sun/star/frame/FrameActionEvent.idl b/offapi/com/sun/star/frame/FrameActionEvent.idl
new file mode 100644
index 000000000000..563cf5ffe064
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameActionEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FrameActionEvent_idl__
+#define __com_sun_star_frame_FrameActionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FrameAction_idl__
+#include <com/sun/star/frame/FrameAction.idl>
+#endif
+
+//=============================================================================
+
+ 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 occured
+ */
+ XFrame Frame;
+
+ //-------------------------------------------------------------------------
+ /** specifies the concrete event
+ */
+ FrameAction Action;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameControl.idl b/offapi/com/sun/star/frame/FrameControl.idl
new file mode 100644
index 000000000000..d05819970559
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameControl.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FrameControl_idl__
+#define __com_sun_star_frame_FrameControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>FrameControl::Frame</member> property is set.
+ Normaly 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 <type>Frame</type> is created if the control
+ is shown and the <member>ComponentUrl</member> is set.
+ </p>
+ */
+ [property, readonly] string Frame;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameLoader.idl b/offapi/com/sun/star/frame/FrameLoader.idl
new file mode 100644
index 000000000000..3ba240608dbf
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoader.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FrameLoader_idl__
+#define __com_sun_star_frame_FrameLoader_idl__
+
+#ifndef __com_sun_star_frame_XFrameLoader_idl__
+#include <com/sun/star/frame/XFrameLoader.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** derivations of this abstract service are used to load components
+ into <type>Frame</type>s 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 <type>Controller</type>.
+ Instead of <type>SynchronousFrameLoader</type> 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 <type>FrameLoaderFactory</type>.
+ Otherwhise 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 <type>FrameLoaderFactory</type> after creation
+ if optional interface <type scope="com::sun::star::lang">XInitialization</type>
+ is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member>
+ can be used on service <type>FrameLoaderFactory</type> to get further informations about this loader.
+ Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member>
+ must be forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambigities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
new file mode 100644
index 000000000000..1866f286d2cf
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FrameLoaderFactory_idl__
+#define __com_sun_star_frame_FrameLoaderFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+//=============================================================================
+
+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 laoder objects</li>
+ <li>create a frame laoder by his internal name</li>
+ <li>query for a frame laoder by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service FrameLoaderFactory
+{
+ //-------------------------------------------------------------------------
+ /** interface to create loader objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a <type>FrameLoader</type>
+ or <type>SynchronousFrameLoader</type>. (Note: last one will be prefered if both ones
+ are available)
+ They can be created by using of his internal name, which must be unambigous everytime, 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 <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ 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
diff --git a/offapi/com/sun/star/frame/FrameSearchFlag.idl b/offapi/com/sun/star/frame/FrameSearchFlag.idl
new file mode 100644
index 000000000000..ac3acee82f7e
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameSearchFlag.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XFrame::findFrame()</member>,
+ <member>XDispatchProvider::queryDispatch()</member> or
+ <member>XComponentLoader::loadComponentFromURL()</member> 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 childrens 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>
+ Normaly it's interpreted as search on the direct childs 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 childrens 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 supress
+ 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
diff --git a/offapi/com/sun/star/frame/FramesContainer.idl b/offapi/com/sun/star/frame/FramesContainer.idl
new file mode 100644
index 000000000000..450da0ac0538
--- /dev/null
+++ b/offapi/com/sun/star/frame/FramesContainer.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_FramesContainer_idl__
+#define __com_sun_star_frame_FramesContainer_idl__
+
+#ifndef __com_sun_star_frame_XFrames_idl__
+#include <com/sun/star/frame/XFrames.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type>XFramesSupplier</type>.
+ </p>
+
+ @see XFramesSupplier
+ */
+published service FramesContainer
+{
+ //-------------------------------------------------------------------------
+ /** access to frame collection by reference
+ */
+ interface XFrames;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
new file mode 100644
index 000000000000..23c98809acbd
--- /dev/null
+++ b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_GlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_GlobalEventBroadcaster_idl__
+
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventsSupplier_idl__
+#include <com/sun/star/document/XEventsSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/**
+ This service offers the document event functionality that can be found at any
+ <type scope="com::sun::star::document">OfficeDocument</type>, 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.
+ */
+
+service GlobalEventBroadcaster
+{
+ /** 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::XEventBroadcaster;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/IllegalArgumentIOException.idl b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
new file mode 100644
index 000000000000..2154daac70fe
--- /dev/null
+++ b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::frame::IllegalArgumentIOException
+/** This exception can be thrown in case arguments are wrong.
+
+ @since OOo 1.1.2
+ */
+published exception IllegalArgumentIOException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl
new file mode 100644
index 000000000000..7a2f25f39d20
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManager.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#include <com/sun/star/frame/XLayoutManager.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrameActionListener_idl__
+#include <com/sun/star/frame/XFrameActionListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XInplaceLayout_idl__
+#include <com/sun/star/frame/XInplaceLayout.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>Frame</type> 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>
+
+ @since OOo 2.0.0
+*/
+
+service LayoutManager
+{
+ /** 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.
+ */
+ [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
+
+ /** interface to support settings a menu bar for inplace editing of
+ components inside OpenOffice.org.
+
+ @deprecated
+ */
+ [optional] interface ::com::sun::star::frame::XInplaceLayout;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
new file mode 100644
index 000000000000..8a7bafcf9880
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
new file mode 100644
index 000000000000..d4f934c39f44
--- /dev/null
+++ b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+#define __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+
+#ifndef __com_sun_star_util_XStringMapping_idl__
+#include <com/sun/star/util/XStringMapping.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ */
+published service MediaTypeDetectionHelper
+{
+ //-------------------------------------------------------------------------
+ /** provides a mapping from <atom>string<atom> to <atom>string<atom>
+
+ <p>
+ Order of given and their returned coressponding strings is important.
+ Don't pack or optimize it. Every item of [in] list must match
+ to an item of [out] list.
+ </p>
+ */
+ interface com::sun::star::util::XStringMapping;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl
new file mode 100644
index 000000000000..4b8c1cb8723a
--- /dev/null
+++ b/offapi/com/sun/star/frame/ModuleManager.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_ModuleManager_idl__
+#define __com_sun_star_frame_ModuleManager_idl__
+
+#ifndef __com_sun_star_frame_XModuleManager_idl__
+#include <com/sun/star/frame/XModuleManager.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//===============================================
+
+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.0
+ */
+
+service ModuleManager
+{
+ //-------------------------------------------
+ /** provides functions to identify office modules.
+ */
+ interface XModuleManager;
+
+ //-------------------------------------------
+ /** provides read access to the configuration of office modules.
+
+ <p>
+ Every module is referenced by an unique service name
+ (which is used inside configuration as set node name too)
+ and is further represented by a sequence of elements of type
+ <type scope="com::sun::star::beans">PropertyValue</type>.
+ A list of properties can be getted from the configuration template
+ org.openoffice.Setup/Factory.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
new file mode 100644
index 000000000000..0d24f19e6cd5
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_PopupMenuController_idl__
+#define __com_sun_star_frame_PopupMenuController_idl__
+
+#ifndef __com_sun_star_frame_XPopupMenuController_idl__
+#include <com/sun/star/frame/XPopupMenuController.idl>
+#endif
+
+#ifndef _com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides access to a popup menu controller.
+
+ <p>
+ A popup 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 popup 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.0
+*/
+
+service PopupMenuController
+{
+ //-------------------------------------------------------------------------
+ /** supports functions to initialize and update a popup menu controller
+ implementation.
+
+ <p>
+ A popup menu controller implementation gets initialized with a
+ <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures
+ that a popup menu controller can be implemented with any UNO based
+ language.
+ </p>
+ */
+ interface com::sun::star::frame::XPopupMenuController;
+
+ //-------------------------------------------------------------------------
+ /** provides functions to initialize a popup 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 popup menu controller needs at least two additional arguments
+ provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the popup menu controller belongs to.</li>
+ <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li>
+ </ul>
+ </p>
+
+ @see PopupMenuControllerFactory
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** used to brief the popup menu controller with new status information.
+
+ <p>
+ A popup 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 popup menu controller to
+ execute them directly.
+
+ <p>
+ A popup menu controller provides special functions which should be
+ available by the normal dispatch API. This optional interface enables
+ popup menu controller to be normal dispatch providers.<br/>
+ <b>Attention:</b><br/>
+ Popup 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 popup menu controller by the owner instance.
+
+ <p>
+ A popup menu controller resides in a menu which has a limited
+ life-time. For correct life-time handling a popup menu
+ controller should support this interface.
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
new file mode 100644
index 000000000000..b0d6d71bb1bd
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_PopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_PopupMenuControllerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** specifies a factory that creates instances of registered popup menu controller.
+
+ <p>
+ A popup menu controller can be registered for a command URL and a model service name.
+ A menu bar or context menu will automatically create a popup menu controller if
+ it contains a registered command URL.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service PopupMenuControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered popup menu controller.
+
+ <p>
+ Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member> to create
+ a new popup menu controller instance. Use the CommandURL as the service specifier.
+
+ This call supports the following arguments provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the popup menu controller belongs to. This property must be provided to
+ the popup menu controller, otherwise it cannot dispatch its internal commands.</li>
+ <li><b>ModuleIdentifier</b><br>optional string that specifies in which module context the popup menu
+ controller should be created.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a popup menu controller.
+ */
+ interface com::sun::star::frame::XUIControllerRegistration;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/ProtocolHandler.idl b/offapi/com/sun/star/frame/ProtocolHandler.idl
new file mode 100644
index 000000000000..f1a6e9dbc6fc
--- /dev/null
+++ b/offapi/com/sun/star/frame/ProtocolHandler.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_ProtocolHandler_idl__
+#define __com_sun_star_frame_ProtocolHandler_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** special dispatch provider registered for URL protocols
+
+ <p>
+ The generic dispatch mechanism on a <type>Frame</type>
+ search for such registered protocol handler and use it if it agrees with
+ the dispatched URL.
+ </p>
+
+ <p>
+ Supported URLs must match follow format: <protocol scheme>:<protocol specific part>
+ If a handler provides optional arguments ("?") or jump marks ("#") depends from his
+ defintion 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 informations
+
+ <p>
+ Sometimes it can be usefull for a handler object, to know something about the
+ environment, in which it runs - especily 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 seams not usefull (nor possible) to implement a ProtocolHandler
+ as a singleton. Otherwhise the implementation can't distinguish between different environments
+ and her corresponding dispatch requests.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/SessionManager.idl b/offapi/com/sun/star/frame/SessionManager.idl
new file mode 100644
index 000000000000..56c59705fd36
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionManager.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_SessionManager_idl__
+#define __com_sun_star_frame_SessionManager_idl__
+
+#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
+#include <com/sun/star/frame/XSessionManagerClient.idl>
+#endif
+
+//=============================================================================
+
+ 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 iteract 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>
+*/
+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
diff --git a/offapi/com/sun/star/frame/Settings.idl b/offapi/com/sun/star/frame/Settings.idl
new file mode 100644
index 000000000000..81a2a6a857d4
--- /dev/null
+++ b/offapi/com/sun/star/frame/Settings.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Settings_idl__
+#define __com_sun_star_frame_Settings_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published service Settings
+{
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl
new file mode 100644
index 000000000000..861c4364e1f0
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarController.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_StatusbarController_idl__
+#define __com_sun_star_frame_StatusbarController_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusbarController_idl__
+#include <com/sun/star/frame/XStatusbarController.idl>
+#endif
+
+//=============================================================================
+
+ 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 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.0
+ */
+
+service StatusbarController
+{
+ //-------------------------------------------------------------------------
+ /** 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 <member scope="com::sun::star::util">XUpdatable</member>
+ interface has been called.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to initialize a component with required arguments.
+
+ <b>A status bar controller needs at least three additional arguments
+ provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>a
+ <type scope="com::sun::star::frame">XFrame</type> 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. The command is
+ used to identify the status bar controller
+ implementation.</li>
+ <li><b>ServiceManager</b><br>a <type scope="com::sun::star::lang">
+ XMultiServiceFactory</type> instance which can be used to
+ create additional UNO services.</li>
+ <li><b>Parent</b><br>a <type scope="com::sun::star::awt">Window</type>
+ instance which represents the parent window (status bar
+ window).</li>
+ <li><b>Identifier</b><br>an integer value which is the unique id
+ used by the status bar implementation to identify a status
+ bar entry. This value is currently only used by internal
+ OpenOffice.org status bar controller implementations.</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 status bar controller instance is ready for use after this call has
+ been made the first time. The status bar implementation guarentees 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;
+
+ //-------------------------------------------------------------------------
+ /** used to notify changed features and requests for additional user
+ interface items.
+
+ <p>
+ Mostly used by a status bar implementation to forward information to
+ and request services from a status bar controller component. This
+ interface must be useable after
+ <member scope="com::sun::star::lang">XInitialitation::initialize</member>
+ has been called. The behavior of the interface is undefined if the
+ controller component hasn't been initialized.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusbarController;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
new file mode 100644
index 000000000000..01d26117f1c1
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_StatusbarControllerFactory_idl__
+#define __com_sun_star_frame_StatusbarControllerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+#endif
+
+//=============================================================================
+
+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>
+
+ @since OOo 2.0.0
+*/
+
+service StatusbarControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered
+ status bar controller.
+
+ <p>
+ Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member>
+ to create a new status bar controller instance. Use the CommandURL as the
+ service specifier.
+
+ This call supports the following arguments provided as
+ <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the status bar controller belongs to. This
+ property must be provided to the status bar controller, otherwise it
+ cannot dispatch its internal commands.</li>
+ <li><b>ModuleIdentifier</b><br>optional string that specifies in which module
+ context the status bar controller should be created.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a status bar
+ controller.
+ */
+ interface com::sun::star::frame::XUIControllerRegistration;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
new file mode 100644
index 000000000000..b6c954c8fff8
--- /dev/null
+++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_SynchronousFrameLoader_idl__
+#define __com_sun_star_frame_SynchronousFrameLoader_idl__
+
+#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** derivations of this abstract service are used to load components
+ into <type>Frame</type>s 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 <type>Controller</type>.
+ Instead of service <type>FrameLoader</type> 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 <type>FrameLoaderFactory</type>.
+ Otherwhise 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 <type>FrameLoaderFactory</type> after creation
+ if optional interface <type scope="com::sun::star::lang">XInitialization</type>
+ is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member> can be
+ used on service <type>FrameLoaderFactory</type> to get further informations about this loader.
+ Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member> must be
+ forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambigities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Task.idl b/offapi/com/sun/star/frame/Task.idl
new file mode 100644
index 000000000000..76e7bef933a9
--- /dev/null
+++ b/offapi/com/sun/star/frame/Task.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_Task_idl__
+#define __com_sun_star_frame_Task_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTask_idl__
+#include <com/sun/star/frame/XTask.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>XFrame.isTop()</member> 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 <type scope="com::sun::star::util">XCloseable</type> instead.
+
+ */
+ interface XTask;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TemplateAccess.idl b/offapi/com/sun/star/frame/TemplateAccess.idl
new file mode 100644
index 000000000000..049529a930c3
--- /dev/null
+++ b/offapi/com/sun/star/frame/TemplateAccess.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TemplateAccess_idl__
+#define __com_sun_star_frame_TemplateAccess_idl__
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/frame/TerminationVetoException.idl b/offapi/com/sun/star/frame/TerminationVetoException.idl
new file mode 100644
index 000000000000..aa114abd98c4
--- /dev/null
+++ b/offapi/com/sun/star/frame/TerminationVetoException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** can be thrown by a <type>XTerminateListener</type> to prevent the environment
+ (e.g., desktop) from terminating
+
+ <p>
+ If a <type>XTerminateListener</type> 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 realy.
+ </p>
+
+ @see XDesktop::terminate()
+ @see XTerminateListener
+ */
+published exception TerminationVetoException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TitleChangedEvent.idl b/offapi/com/sun/star/frame/TitleChangedEvent.idl
new file mode 100644
index 000000000000..f93ef7ccc564
--- /dev/null
+++ b/offapi/com/sun/star/frame/TitleChangedEvent.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TitleChangedEvent_idl__
+#define __com_sun_star_frame_TitleChangedEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+struct TitleChangedEvent : com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ string Title;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl
new file mode 100644
index 000000000000..674b35af4e6c
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarController.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_ToolbarController_idl__
+#define __com_sun_star_frame_ToolbarController_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XToolbarController_idl__
+#include <com/sun/star/frame/XToolbarController.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XSubToolbarController_idl__
+#include <com/sun/star/frame/XSubToolbarController.idl>
+#endif
+
+//=============================================================================
+
+ 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.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 <member scope="com::sun::star::util">XUpdatable</member>
+ 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 <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>a <type scope="com::sun::star::frame">XFrame</type>
+ 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
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ 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 guarentees 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 useable
+ after <member scope="com::sun::star::lang">XInitialitation::initialize</member>
+ 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
diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000000..326981516522
--- /dev/null
+++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+
+#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+#include <com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a factory for
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s.
+
+ @since OOo 2.0.0
+*/
+service TransientDocumentsDocumentContentFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for <type>TransientDocumentsDocumentContent</type>s.
+ */
+ interface com::sun::star::frame::XTransientDocumentsDocumentContentFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl
new file mode 100644
index 000000000000..c1c9aad21d8a
--- /dev/null
+++ b/offapi/com/sun/star/frame/UnknownModuleException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#define __com_sun_star_frame_UnknownModuleException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//===============================================
+
+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.0
+ */
+exception UnknownModuleException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/WindowArrange.idl b/offapi/com/sun/star/frame/WindowArrange.idl
new file mode 100644
index 000000000000..e16d0a01fb7f
--- /dev/null
+++ b/offapi/com/sun/star/frame/WindowArrange.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/frame/XBorderResizeListener.idl b/offapi/com/sun/star/frame/XBorderResizeListener.idl
new file mode 100644
index 000000000000..c6c96dc9c7fc
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBorderResizeListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XBorderResizeListener_idl__
+#define __com_sun_star_frame_XBorderResizeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_BorderWidths_idl__
+#include <com/sun/star/frame/BorderWidths.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 aObject
+ 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 aObject, [in] BorderWidths aNewSize );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
new file mode 100644
index 000000000000..e6ee4b618519
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XBrowseHistoryRegistry_idl__
+#define __com_sun_star_frame_XBrowseHistoryRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published interface XBrowseHistoryRegistry: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void updateViewData( [in] any Value );
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void createNewEntry(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] string Title);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XComponentLoader.idl b/offapi/com/sun/star/frame/XComponentLoader.idl
new file mode 100644
index 000000000000..37589454b260
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentLoader.idl
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XComponentLoader_idl__
+#define __com_sun_star_frame_XComponentLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** this is a simple interface to load components by an URL into a
+ frame environment
+
+ @see Desktop
+ @see Frame
+ @see XFrame
+ */
+published interface XComponentLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** loads a component specified by an 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
+ an <type scope="com::sun::star::lang">IllegalArgumentException</type>.
+ </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 <type>FrameSearchFlag</type> 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
+ <type scope="com::sun::star::document">MediaDescriptor</type>.
+ </p>
+
+ @return
+ a <type scope="com::sun::star::lang">XComponent</type> 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>
+ <type scope="com::sun::star::awt">XWindow</type> 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 frames' window.
+ </li>
+ <li>
+ <type>XController</type> 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 <member>XController::getFrame()</member>
+ method of the controller returns. But for visible components the controller
+ should be asked for permission by calling <member>XController::suspend()</member> before.
+ </li>
+ <li>
+ <type>XModel</type> 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 <method scope="com::sun::star::lang">XComponent::dispose</method> 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 <type scope="com::sun::star::util">XCloseable</type>.
+ 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
diff --git a/offapi/com/sun/star/frame/XComponentRegistry.idl b/offapi/com/sun/star/frame/XComponentRegistry.idl
new file mode 100644
index 000000000000..9a9f32541b7b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentRegistry.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XComponentRegistry_idl__
+#define __com_sun_star_frame_XComponentRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Uik_idl__
+#include <com/sun/star/uno/Uik.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/frame/XConfigManager.idl b/offapi/com/sun/star/frame/XConfigManager.idl
new file mode 100644
index 000000000000..d46cf5696478
--- /dev/null
+++ b/offapi/com/sun/star/frame/XConfigManager.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XConfigManager_idl__
+#define __com_sun_star_frame_XConfigManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+//============================================================================
+
+ 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 <member>XConfigManager::substituteVariables()</member>
+ 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
+ */
+ [oneway] 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
+ */
+ [oneway] 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 <type scope="com::sun::star::registry">XSimpleRegistry</type>
+ and make no sense without that
+ @deprecated
+ */
+ [oneway] void flush();
+
+}; //XConfigManager
+}; //frame
+}; //star
+}; //sun
+}; //com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XControlNotificationListener.idl b/offapi/com/sun/star/frame/XControlNotificationListener.idl
new file mode 100644
index 000000000000..1ebc134cc76f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControlNotificationListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XControlNotificationListener_idl__
+#define __com_sun_star_frame_XControlNotificationListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_ControlEvent_idl__
+#include <com/sun/star/frame/ControlEvent.idl>
+#endif
+
+//=============================================================================
+
+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 happend
+
+ @param Event
+ contains the event informantion
+ */
+ void controlEvent( [in] ControlEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XController.idl b/offapi/com/sun/star/frame/XController.idl
new file mode 100644
index 000000000000..50d58246fb1a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XController_idl__
+#define __com_sun_star_frame_XController_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrame;
+ published interface XModel;
+
+//=============================================================================
+/** With this interface, components viewed in a <type>Frame</type> 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 attach was successfully
+ <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 of course 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 <member>XController::restoreViewData()</member>
+ */
+ any getViewData();
+
+ //-------------------------------------------------------------------------
+ /** restores the view status using the data gotten from a previous call to
+ <member>XController::getViewData()</member>.
+
+ @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
diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl
new file mode 100644
index 000000000000..2c0157d99309
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController2.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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>
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** extends the <type>XController</type> 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 <member>XModel2::createViewController</member>
+ - 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 <member>XModel2::createViewController</member>, where the
+ caller can pass not only a controller name, but also arguments parametrizing 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XControllerBorder.idl b/offapi/com/sun/star/frame/XControllerBorder.idl
new file mode 100644
index 000000000000..9f8659ee8da9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControllerBorder.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XControllerBorder_idl__
+#define __com_sun_star_frame_XControllerBorder_idl__
+
+#ifndef __com_sun_star_frame_BorderWidths_idl__
+#include <com/sun/star/frame/BorderWidths.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XBorderResizeListener_idl__
+#include <com/sun/star/frame/XBorderResizeListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//============================================================================
+
+ 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
+ <type>BorderWidths</type> 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
+
diff --git a/offapi/com/sun/star/frame/XDesktop.idl b/offapi/com/sun/star/frame/XDesktop.idl
new file mode 100644
index 000000000000..18f531703da5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#define __com_sun_star_frame_XDesktop_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#include <com/sun/star/frame/XTerminateListener.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>XTerminateListener::queryTermination()</member> method.
+ Throwing of a <type>TerminationVetoException</type> 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
+ <member>XTerminateListener::notifyTermination()</member> method.
+ </p>
+
+ @return
+ <TRUE/>if all listener 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()
+ */
+ [oneway] void addTerminateListener( [in] XTerminateListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters an event listener for termination events.
+
+ @param Listener
+ listener which wish to be deregistered
+
+ @see XDesktop::addTerminateListener()
+ */
+ [oneway] 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 <type>Components</type> 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 wich contains the current component
+
+ @returns
+ the frame of the component which has the
+ UI focus within this desktop enviroment
+
+ @see XDesktop::getCurrentComponent()
+ */
+ XFrame getCurrentFrame();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDesktopTask.idl b/offapi/com/sun/star/frame/XDesktopTask.idl
new file mode 100644
index 000000000000..7a1c3cdbc436
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktopTask.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDesktopTask_idl__
+#define __com_sun_star_frame_XDesktopTask_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFrame</type> instead of this
+ @deprecated
+ */
+published interface XDesktopTask: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::lang">XInitialization</type> instead..
+ @deprecated
+ */
+ void initialize( [in] com::sun::star::awt::XWindow TaskWindow );
+
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::util">XCloseable</type>
+ or <member scope="com::sun::star::lang">XComponent::dispose()</member>
+ instead.
+
+ @deprecated
+ */
+ boolean close();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatch.idl b/offapi/com/sun/star/frame/XDispatch.idl
new file mode 100644
index 000000000000..bad1f6525079
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatch.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#define __com_sun_star_frame_XDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>XDispatch::addStatusListener()</member>;
+ 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 <type>XDispatch</type>.
+ </p>
+
+ @see Frame
+ @see FeatureStateEvent
+ */
+published interface XDispatch: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** dispatches (executes) an URL asynchronously.
+
+ <p>
+ It is only allowed to dispatch URLs for which this <type>XDispatch</type>
+ was explicitely 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.
+ They depend on the real implementation of the dipsatch object.
+
+ @example
+ <listing>
+ <i><font COLOR="#949494">// some code for a click-handler (Java)</font></i>
+ void <strong>myOnClick</strong>(<em>String</em> sURL,<em>String</em> sTargetFrame,<em>com.sun.star.beans.PropertyValue[]</em> lArguments)
+ {
+ &nbsp;&nbsp;com.sun.star.util.URL[] aURL = new com.sun.star.util.URL[1];
+ &nbsp;&nbsp;aURL[0] = new com.sun.star.util.URL();
+ &nbsp;&nbsp;aURL[0].Complete = sURL;
+
+ &nbsp;&nbsp;com.sun.star.util.XURLTransformer xParser = (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface(
+ &nbsp;&nbsp;&nbsp;&nbsp;com.sun.star.util.XURLTransformer.class,
+ &nbsp;&nbsp;&nbsp;&nbsp;mxServiceManager.createInstance("com.sun.star.util.URLTransformer"));
+
+ &nbsp;&nbsp;xParser.parseStrict(aURL);
+
+ &nbsp;&nbsp;com.sun.star.frame.XDispatch xDispatcher = mxFrame.queryDispatch(aURL[0], sTargetFrame, com.sun.star.frame.FrameSearchFlag.GLOBAL);
+
+ &nbsp;&nbsp;if(xDispatcher!=null)
+ &nbsp;&nbsp;&nbsp;&nbsp;xDispatcher.dispatch(aURL[0], lArguments);
+ }
+ </listing>
+ */
+ [oneway] 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 <type>XDispatch</type>
+ was explicitely queried. Additional arguments ("#..." or "?...") will be ignored.
+ </p>
+ Note: Notifications can't be guaranteed! This will be a part of interface <type>XNotifyingDispatch</type>.
+
+ @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()
+ */
+ [oneway] 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()
+ */
+ [oneway] void removeStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchHelper.idl b/offapi/com/sun/star/frame/XDispatchHelper.idl
new file mode 100644
index 000000000000..7d58677c19b7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchHelper.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchHelper_idl__
+#define __com_sun_star_frame_XDispatchHelper_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ 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 <atom>any</atom> 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
diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
new file mode 100644
index 000000000000..3bf6886ba17b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
+#define __com_sun_star_frame_XDispatchInformationProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchInformation_idl__
+#include <com/sun/star/frame/DispatchInformation.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>Frame</type> service.
+ </p>
+
+ @see Frame
+
+ @since OOo 2.0.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 <type scope="com::sun::star::uno">Sequence</type>.
+ */
+ sequence < DispatchInformation > getConfigurableDispatchInformation( [in] short CommandGroup );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProvider.idl b/offapi/com/sun/star/frame/XDispatchProvider.idl
new file mode 100644
index 000000000000..8197d272a119
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProvider.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#define __com_sun_star_frame_XDispatchProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchDescriptor_idl__
+#include <com/sun/star/frame/DispatchDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides <type>XDispatch</type> interfaces for certain functions which
+ are useful at the UI.
+
+ @see XDispatch
+ */
+published interface XDispatchProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** searches for an <type>XDispatch</type> 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 <member>XDispatchProvider::queryDispatch()</member>
+ 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 his real result. Means: don't delete <NULL/> entries inside this list.
+ </p>
+ */
+ sequence< XDispatch > queryDispatches(
+ [in] sequence<DispatchDescriptor> Requests);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterception.idl b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
new file mode 100644
index 000000000000..769a4acce3ac
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#define __com_sun_star_frame_XDispatchProviderInterception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to register an <type>XDispatchProvider</type> which
+ intercepts all requests of <type>XDispatch</type> to this instance.
+
+ <p>
+ Note: Nobody can guarantee order of used interceptor objects if more then 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 <type>XInterceptorInfo</type>.
+ </p>
+
+ @see XDispatchProvider
+ @see XDispatch
+ @see XInterceptorInfo
+ */
+published interface XDispatchProviderInterception: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers an <type>XDispatchProviderInterceptor</type>, which will become
+ the first interceptor in the chain of registered interceptors.
+
+ @param Interceptor
+ the interceptor which whish to be registered
+
+ @see XDispatchProviderInterception::releaseDispatchProviderInterceptor()
+ */
+ void registerDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+
+ //-------------------------------------------------------------------------
+ /** removes an <type>XDispatchProviderInterceptor</type> 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 whish to be unregistered
+
+ @see XDispatchProviderInterception::registerDispatchProviderInterceptor()
+ */
+ void releaseDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
new file mode 100644
index 000000000000..3b1ee2c16f71
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+#define __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to intercept request of <type>XDispatch</type>.
+
+ <p>
+ Can be registered as an interceptor by using interface <type>XDispatchProviderInterception</type>.
+ </p>
+
+ @see XDispatchProviderInterception
+ */
+published interface XDispatchProviderInterceptor: XDispatchProvider
+{
+ //-------------------------------------------------------------------------
+ /** access to the slave <type>XDispatchProvider</type> of this interceptor
+
+ @returns
+ the slave of this interceptor
+
+ @see XDispatchProviderInterceptor::setSlaveDispatchProvider()
+ */
+ XDispatchProvider getSlaveDispatchProvider();
+
+ //-------------------------------------------------------------------------
+ /** sets the slave <type>XDispatchProvider</type> to which calls to
+ <member>XDispatchProvider::queryDispatch()</member> can be forwarded
+ under control of this dispatch provider.
+
+ @param xNewDispatchProvider
+ the new slave of this interceptor
+
+ @see XDispatchProviderInterceptor::getSlaveDispatchProvider()
+ */
+ void setSlaveDispatchProvider( [in] XDispatchProvider NewDispatchProvider );
+
+ //-------------------------------------------------------------------------
+ /** access to the master <type>XDispatchProvider</type> of this interceptor
+
+ @returns
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::setMasterDispatchProvider()
+ */
+ XDispatchProvider getMasterDispatchProvider();
+
+ //-------------------------------------------------------------------------
+ /** sets the master <type>XDispatchProvider</type>, which may forward
+ calls to its <member>XDispatchProvider::queryDispatch()</member>
+ to this dispatch provider.
+
+ @param NewSupplier
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::getMasterDispatchProvider()
+ */
+ void setMasterDispatchProvider( [in] XDispatchProvider NewSupplier );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchRecorder.idl b/offapi/com/sun/star/frame/XDispatchRecorder.idl
new file mode 100644
index 000000000000..ed980d89f91d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorder.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#define __com_sun_star_frame_XDispatchRecorder_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XDispatch</type> by using additional interface
+ <type>XRecordableDispatch</type>. 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 <type>XDispatchRecorderSupplier</type>
+ which is provided by the <type>Frame</type> 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 <member>XDispatchRecorder::startRecording()</member>.
+ </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 <type scope="com::sun::star::document">MediaDescriptor</type>
+ for further informations)
+ */
+ 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 <type scope="com::sun::star::document">MediaDescriptor</type>
+ for further informations)
+ */
+ 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 <member>endRecording()</member> is called!
+ Otherwhise the macro will be relased.
+ </p>
+
+ @returns
+ the recorded data as a string which can be interpreted as a script
+ */
+ string getRecordedMacro();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
new file mode 100644
index 000000000000..c63e34dec1e9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides access to the record mechanism of dispatches
+
+ <p>
+ With a <type>XDispatchRecorder</type> it's possible to record calls
+ of <member>XDispatch::dispatch()</member>. 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 mcaro 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 <type>Frame</type> or global one by using more then 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 manualy or to get
+ recorded data for further using e.g. saving. He is internaly used too
+ due to the method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>.
+ </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 internaly to make the dispatch.
+ If recording isn't enabled it will be a normal <member>XDispatch::dispatch()</member>
+ call. Otherwise follow algorithm is used:
+ <ul>
+ <li>If <var>Dispatcher</var> doesn't support the interface
+ <type>XRecordableDispatch</type> 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
+ <type>XRecordableDispatch</type> it will be used
+ to dispatch and record all neccessary 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
diff --git a/offapi/com/sun/star/frame/XDispatchResultListener.idl b/offapi/com/sun/star/frame/XDispatchResultListener.idl
new file mode 100644
index 000000000000..409bd4e0206e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDispatchResultListener_idl__
+#define __com_sun_star_frame_XDispatchResultListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchResultEvent_idl__
+#include <com/sun/star/frame/DispatchResultEvent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** listener for results of <member>XNotifyingDispatch::dispatchWithNotification()</member>
+
+ @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
diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl
new file mode 100644
index 000000000000..bc41386ea1fd
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#define __com_sun_star_frame_XDocumentTemplates_idl__
+
+#ifndef __com_sun_star_frame_XStorable_idl__
+#include <com/sun/star/frame/XStorable.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides a high level api to organize document templates
+
+ <p>
+ Template informations are saved as links to the original content
+ and organized in groups. This data should be persistent and can be
+ updated by calling special method <member>XDocumentTemplates::update()</member>.
+ A real implementation of this interface can do that on top of
+ an ucb content provider. Method <member>XDocumentTemplates::getContent()</member>
+ force that.
+ </p>
+ */
+published interface XDocumentTemplates: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** privides 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 sucessfully
+ <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 sucessfully
+ <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 sucessfully
+ <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 TemplateName
+ specifies the template for renaming
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <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 sucessfully
+ <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 sucessfully
+ <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 sucessfully
+ <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>
+ */
+ [oneway] void update();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XExtendedFilterDetection.idl b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
new file mode 100644
index 000000000000..b51feda6d406
--- /dev/null
+++ b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XExtendedFilterDetection_idl__
+#define __com_sun_star_frame_XExtendedFilterDetection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+//============================================================================
+/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this
+ @deprecated
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use <member scope="com::sun::star::document">XExtendedFilterDetection::detect()</member> instead of this
+ @deprecated
+ */
+ string detect(
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Argumentlist);
+
+ }; // XExtendedFilterDetection
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFilterDetect.idl b/offapi/com/sun/star/frame/XFilterDetect.idl
new file mode 100644
index 000000000000..5add9f5e34e9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFilterDetect.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFilterDetect_idl__
+#define __com_sun_star_frame_XFilterDetect_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this
+ @deprecated
+ */
+published interface XFilterDetect: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** - */
+ string getContentType( [in] string URL );
+
+ //-------------------------------------------------------------------------
+ /** - */
+ boolean useExternBrowser( [in] string URL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrame.idl b/offapi/com/sun/star/frame/XFrame.idl
new file mode 100644
index 000000000000..e74a15446d1e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame.idl
@@ -0,0 +1,388 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrame_idl__
+#define __com_sun_star_frame_XFrame_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+ 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 willn't be
+ accessible by using the api. This mode make sense for previews.
+ The root node of the tree can be a <type>Desktop</type> 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 refered 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; normaly a frame should be created by using the api
+ and is neccessary for searches inside the tree (e.g. <member>XFrame::findFrame()</member>)
+ </p>
+
+ @param Creator
+ the creator (parent) of this frame
+
+ @see XFrame::getCreator()
+ */
+ [oneway] 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><member>XFrame::findFrame()</member>
+ <li><member>XDispatchProvider::queryDispatch()</member>
+ <li><member>XComponentLoader::loadComponentFromURL()</member>
+ </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
+ */
+ [oneway] 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 <const>FrameSearchFlag::CREATE</const>.
+ 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 <const>FrameSearchFlag::TASKS</const>
+ 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 <member>XFramesSupplier::setActiveFrame()</member>,
+ then it broadcasts an <type>FrameActionEvent</type> with
+ <const>FrameAction::FRAME_ACTIVATED</const>. 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 <type>FrameLoader</type>.
+ </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()
+ */
+ [oneway] 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 <type>FrameActionEvent</type> with
+ <const>FrameAction::FRAME_DEACTIVATING</const>.
+ </p>
+
+ @see XFrame::activate()
+ @see XFrame::isActive()
+ */
+ [oneway] 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 <type scope="com::sun::star::awt">XWindow</type> 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 (especialy, if an existing controller disagree within his
+ <member>XController::suspend()</member> 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 <member>XController::getFrame()</member> to dispose
+ the frame after you the controller agreed with a
+ <member>XController::suspend()</member> 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
+ <method>XFrameEventListener::frameAction</method> with
+ <const>FrameAction::CONTEXT_CHANGED</const> to all listeners which
+ are registered using <member>XFrame::addFrameActionListener</member>.
+ 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()
+ */
+ [oneway] void addFrameActionListener( [in]XFrameActionListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters an event listener
+
+ @param xListener
+ specifies the listener which willn't be informed any longer
+
+ @see XFrame::addFrameActionListener()
+ */
+ [oneway] void removeFrameActionListener( [in] XFrameActionListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameActionListener.idl b/offapi/com/sun/star/frame/XFrameActionListener.idl
new file mode 100644
index 000000000000..52f87f960113
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameActionListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrameActionListener_idl__
+#define __com_sun_star_frame_XFrameActionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FrameActionEvent_idl__
+#include <com/sun/star/frame/FrameActionEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ */
+ [oneway] void frameAction( [in] FrameActionEvent Action );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameLoader.idl b/offapi/com/sun/star/frame/XFrameLoader.idl
new file mode 100644
index 000000000000..4e830af1dc4e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoader.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrameLoader_idl__
+#define __com_sun_star_frame_XFrameLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XLoadEventListener_idl__
+#include <com/sun/star/frame/XLoadEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** load components into a frame
+
+ <p>
+ It's an asynchronous loading. For synchronous processes use <type>XSynchronousFrameLoader</type>
+ instead of this one. The generic load algorithm of the office supports both ones - but prefered
+ the synchronous interface.
+ </p>
+
+ @see XFrame
+ */
+published interface XFrameLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** starts the loading of the specified resource into the specified <type>Frame</type>.
+
+ @param Frame
+ specifies the loading target
+
+ @param URL
+ describes the ressource of loading component
+ Support of special protocols are implementation details
+ and depends from the environment.
+
+ @param Arguments
+ optional arguments for loading
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further informations)
+
+ @param Listener
+ this listener will be informed about success
+
+ @see XLoadEventListener
+ */
+ [oneway] 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 <member>XFrameLoader::load()</member> 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
+ <type>XLoadEventListener</type> here.
+ </p>
+ */
+ [oneway] void cancel();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameLoaderQuery.idl b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
new file mode 100644
index 000000000000..370386cc73e3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrameLoaderQuery_idl__
+#define __com_sun_star_frame_XFrameLoaderQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+//============================================================================
+/** use service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+published interface XFrameLoaderQuery: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use member <member scope="com::sun::star::container">XNameAccess::getElementNames()</member>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ sequence< string > getAvailableFilterNames();
+
+ //-------------------------------------------------------------------------
+ /** use member <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getLoaderProperties( [in] string sFilterName );
+
+ //-------------------------------------------------------------------------
+ /** use member <type scope="com::sun::star::container">XContainerQuery</type>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ string searchFilter( [in] string sURL, [in] sequence< com::sun::star::beans::PropertyValue > seqArguments );
+
+ }; // XFrameLoaderQuery
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameSetModel.idl b/offapi/com/sun/star/frame/XFrameSetModel.idl
new file mode 100644
index 000000000000..d5baf6f86466
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameSetModel.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrameSetModel_idl__
+#define __com_sun_star_frame_XFrameSetModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XModel</type> instead of this
+ @deprecated
+ */
+published interface XFrameSetModel: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** - */
+ string getSource();
+
+ //-------------------------------------------------------------------------
+ /** - */
+ void setSource( [in] string Source );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrames.idl b/offapi/com/sun/star/frame/XFrames.idl
new file mode 100644
index 000000000000..42a7b0eb35e8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrames.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFrames_idl__
+#define __com_sun_star_frame_XFrames_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** manages and creates frames.
+
+ <p>
+ Frames may contain other frames (by implementing an <type>XFrames</type>
+ interface) and may be contained in other frames.
+ </p>
+
+ @see XFrame
+ @see Frame
+ */
+published interface XFrames: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+ /** appends the specified <type>Frame</type> 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 <type>FrameSearchFlag</type> 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 <method>XComponent::dispose()</method> 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
diff --git a/offapi/com/sun/star/frame/XFramesSupplier.idl b/offapi/com/sun/star/frame/XFramesSupplier.idl
new file mode 100644
index 000000000000..6674693e8fe2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFramesSupplier.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#define __com_sun_star_frame_XFramesSupplier_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>XFramesSupplier</type>
+ which are available from this node of frame tree
+
+ @returns
+ the collection of frames which is represented by
+ a <type>FramesContainer</type>.
+ */
+ 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 <type>Frame</type> 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
+ <member>XFrame::activate()</member> or <member>XFramesSupplier::setActiveFrame()</member>.
+ After this call <member>XFramesSupplier::getActiveFrame()</member> will return the
+ frame specified by <var>Frame</var>.
+ </p>
+
+ <p>
+ In general this method first calls the method <member>XFramesSupplier::setActiveFrame()</member>
+ at the creator frame with <var>this</var> as the current argument. Then it broadcasts
+ the <type>FrameActionEvent</type> <const>FrameAction::FRAME_ACTIVATED</const>.
+ </p>
+
+ <p>
+ Note: Given parameter <var>Frame</var> must already exist inside the container
+ (e.g., inserted by using <member>XFrames::append()</member>)
+ </p>
+
+ @param Frame
+ the new active child frame inside this container
+ */
+ void setActiveFrame( [in] XFrame Frame );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl
new file mode 100644
index 000000000000..71344418bda3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInplaceLayout.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XInplaceLayout_idl__
+#define __com_sun_star_frame_XInplaceLayout_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** special interface to support inplace editing of components inside
+ OpenOffice.org.
+
+ @deprecated
+
+ @since OOo 2.0.0
+*/
+
+interface XInplaceLayout : com::sun::star::uno::XInterface
+{
+ /** sets an inplace menu to the container window of the attached frame.
+
+ @param InplaceMenuBarPointer
+ must be a VCL menu bar pointer which is accessible within the
+ layout manager process.
+ */
+ void setInplaceMenuBar( [in] hyper InplaceMenuBarPointer );
+
+ /** removes an inplace menu and sets back a previously created menu bar if one
+ has been set before.
+ */
+ void resetInplaceMenuBar();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XInterceptorInfo.idl b/offapi/com/sun/star/frame/XInterceptorInfo.idl
new file mode 100644
index 000000000000..de135a517171
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInterceptorInfo.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XInterceptorInfo_idl__
+#define __com_sun_star_frame_XInterceptorInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>XDispatchProviderInterceptor</type>.
+ 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 URL's are allowed to register the interceptor for
+ URL's too, which can have optional arguments (e.g. "..#.." or "..?..").
+ </p>
+
+ @return
+ a list of URL's wich are handled by this interceptor
+ */
+ sequence< string > getInterceptedURLs();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl
new file mode 100644
index 000000000000..5699fe00687b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager.idl
@@ -0,0 +1,510 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#define __com_sun_star_frame_XLayoutManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_ui_DockingArea_idl__
+#include <com/sun/star/ui/DockingArea.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
+#include <com/sun/star/ui/XDockingAreaAcceptor.idl>
+#endif
+
+//=============================================================================
+
+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 resourcce 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 popup menu.</li>
+ <li><b>toolbar</b>A configurable user interface element a tool
+ bar.</li>
+ <li><b>statusbar</b>A configurable user interfave 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.0
+*/
+
+interface XLayoutManager : com::sun::star::uno::XInterface
+{
+ /** attaches a <type scope="com::sun::star::frame">XFrame</type> to a layout manager.
+
+ @param Frame
+ specifies the frame that should be attached to the layout manager
+
+ <p>
+ A layout manager needs a <type scope="com::sun::star::frame">XFrame</type> 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 reseted to a state after a
+ <member>attachFrame</member> has been made. That means an attached frame
+ which has been set by <member>attachFrame</member> 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 <type scope="com::sun::star::awt">Rectangle</type> contains pixel values. The
+ members of <type scope="com::sun::star::awt">Rectangle</type> 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 resourcce 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 resourcce 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 resourcce 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
+ <member>XLayoutManager::showElement</member> should be used. This function can be
+ used for context dependent elements which should respect a 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 resourcce 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 instanciated.
+
+ @return
+ a sequence of user interface elements providing <type scope="com::sun::star::ui">XUIElement</type>
+ 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 resourcce 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 resourcce 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 resourcce 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 resourcce 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 resourcce 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 resourcce 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 resourcce 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 <member>getElementSize</member>.
+ </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 resourcce 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 <member>getElementPos</member>.
+ </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 resourcce 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 <member>getElementPos</member> and <member>getElementSize</member>.
+ </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 serveral 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
diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
new file mode 100644
index 000000000000..b79827dd4b3e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+#define __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+
+#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__
+#include <com/sun/star/frame/XLayoutManagerListener.idl>
+#endif
+
+//=============================================================================
+
+ 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.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
diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
new file mode 100644
index 000000000000..593ba510c08c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__
+#define __com_sun_star_frame_XLayoutManagerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 interally 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.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 occured.
+
+ @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
diff --git a/offapi/com/sun/star/frame/XLoadEventListener.idl b/offapi/com/sun/star/frame/XLoadEventListener.idl
new file mode 100644
index 000000000000..c682114f9234
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadEventListener.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XLoadEventListener_idl__
+#define __com_sun_star_frame_XLoadEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ */
+ [oneway] void loadFinished( [in] XFrameLoader Loader );
+
+ //-------------------------------------------------------------------------
+ /** is called when a frame load is cancelled or failed.
+
+ @param Loader
+ the source of this event
+ */
+ [oneway] void loadCancelled( [in] XFrameLoader Loader );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLoadable.idl b/offapi/com/sun/star/frame/XLoadable.idl
new file mode 100644
index 000000000000..073ca9a55f34
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadable.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XLoadable_idl__
+#define __com_sun_star_frame_XLoadable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** offers a simple way to initialize a component or load it from an 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 an URL
+ @param lArguments
+ parameters for saving
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> 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
diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
new file mode 100644
index 000000000000..7eec81bb5308
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#include <com/sun/star/awt/XMenuBar.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides function to update a menu bar for inplace editing.
+
+ @deprecated
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
new file mode 100644
index 000000000000..b7c6a1b13c19
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+//=============================================================================
+
+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.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 <type scope="com::sun::star::frame">XLayoutManager</type>
+ 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
diff --git a/offapi/com/sun/star/frame/XModel.idl b/offapi/com/sun/star/frame/XModel.idl
new file mode 100644
index 000000000000..7ae603a38df9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel.idl
@@ -0,0 +1,236 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XModel_idl__
+#define __com_sun_star_frame_XModel_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** represents a component which is created from an 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 <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+ </p>
+
+ <p>
+ Models can be controlled by controller components, which are usually
+ views of the model.
+ (see <type>Controller</type> 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
+ <type scope="com::sun::star::view">XSelectionSupplier</type>, 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 ressource
+
+ @param Arguments
+ are optional arguments for that ressource
+ (see <type scope="com::sun::star::document">MediaDescriptor</type>)
+
+ @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 acces on currently representation of the
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ of this model which describes the model and his 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 <type scope="com::sun::star::lang">XComponent</type> 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()
+ */
+ [oneway] void connectController( [in] XController Controller );
+
+ //-------------------------------------------------------------------------
+ /** is called whenever an existing controller should be deregistered at this model.
+
+ <p>
+ The <type scope="com::sun::star::lang">XComponent</type> 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()
+ */
+ [oneway] void disconnectController( [in] XController Controller );
+
+ //-------------------------------------------------------------------------
+ /** suspends some notifications to the controllers which are used
+ for display updates.
+
+ <p>
+ The calls to <member>XModel::lockControllers()</member> and
+ <member>XModel::unlockControllers()</member> 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>
+ */
+ [oneway] void lockControllers();
+
+ //-------------------------------------------------------------------------
+ /** resumes the notifications which were suspended by
+ <member>XModel::lockControllers()</member>.
+
+ <p>
+ The calls to <member>XModel::lockControllers()</member> and
+ <member>XModel::unlockControllers()</member> 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>
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/frame/XModel2.idl b/offapi/com/sun/star/frame/XModel2.idl
new file mode 100644
index 000000000000..0b18ff02be1f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel2.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends interface XModel.
+
+ The foloowing 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 was 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 <member>createView</member> 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 <member>XFrame::setComponent</member>, nor
+ <member>XController::attachFrame</member>, nor <member>XController::attachModel</member>,
+ nor <member>XModel::connectController</member>, not <member>XModel::setCurrentController</member>.
+ 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 );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl
new file mode 100644
index 000000000000..c302892d5df5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModule.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XModule_idl__
+#define __com_sun_star_frame_XModule_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#include <com/sun/star/frame/UnknownModuleException.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** can be used to overrule identification of office modules.
+
+ <p>
+ Normaly an office module will be identified by it's 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.0
+ */
+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
diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl
new file mode 100644
index 000000000000..7c8527c84d73
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XModuleManager_idl__
+#define __com_sun_star_frame_XModuleManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#include <com/sun/star/frame/UnknownModuleException.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** can be used to identify office modules.
+
+ @since OOo 2.0.0
+ */
+interface XModuleManager : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------
+ /**
+ @short identifies the given module.
+
+ @descr This identifier can then be used at the service <type>ModuleManager</type>
+ to get more information about this module.
+
+ For identification the interface <type scope="com::sun::star::lang">XServiceInfo</type>
+ 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 <type>XModule</type> 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><type scope="com::sun::star::frame">XFrame</type></b><br>
+ A frame contains (against a component window) a controller.
+ Such controller represent the module (in case no model exists).
+ </li>
+ <li>
+ <b><type scope="com::sun::star::frame">XController</type></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><type scope="com::sun::star::frame">XModel</type></b><br>
+ A model represent a module everytimes and can be used for
+ identification directly.
+ </li>
+ </ul>
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the parameter Module is:
+ <ul>
+ <li>an empty one</li>
+ <li>or does not provide one of the needed interface
+ XFrame, XControllerm, XModel</li>
+ <li>or does not provide the needed interface XServiceInfo.</li>
+ </ul>
+
+ @throws <type>UnknownModuleException</type>
+ 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 is valie everytimes. Error will be transported
+ by thrown exceptions!
+ */
+ string identify( [in] ::com::sun::star::uno::XInterface Module )
+ raises(::com::sun::star::lang::IllegalArgumentException,
+ UnknownModuleException );
+
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XNotifyingDispatch.idl b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
new file mode 100644
index 000000000000..2d1a9bbc203d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__
+#define __com_sun_star_frame_XNotifyingDispatch_idl__
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchResultListener_idl__
+#include <com/sun/star/frame/XDispatchResultListener.idl>
+#endif
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** dispatch with guaranteed notify (instead of <type>XDispatch</type>)
+
+ @see XDispatch
+ @see XStatusListener
+ */
+published interface XNotifyingDispatch: XDispatch
+{
+ //-------------------------------------------------------------------------
+ /** Do the same like <member>XDispatch::dispatch()</member> 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 <type scope="com::sun::star::document">MediaDescriptor</type>)
+
+ @param Listener
+ optional listener for guaranteed notifications of this request
+ */
+ [oneway] void dispatchWithNotification(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchResultListener Listener);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
new file mode 100644
index 000000000000..ffc7db109f4a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XPopupMenuController_idl__
+#define __com_sun_star_frame_XPopupMenuController_idl__
+
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#include <com/sun/star/awt/XPopupMenu.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides data to a popup menu controller implementation to
+ fill and update a popup menu dynamically.
+
+ <p>
+ A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
+ from its parent menu implementation. The controller has to fill this popup
+ menu with a set of menu items and/or sub menus. The parent menu implementation
+ briefs the controller whenever the popup menu gets activated by a user.
+ </p>
+
+ @since OOo 2.0.0
+*/
+interface XPopupMenuController : com::sun::star::uno::XInterface
+{
+ /** provides a <type scope="com::sun::star::awt">XPopupMenu</type> to a
+ popup menu controller implementation. The controller must fill this
+ popup menu with its functions.
+
+ @param PopupMenu
+ An empty popup menu that must be filled by the popup menu controller.
+ */
+ void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
+
+ /** briefs the popup menu controller to update the contents of the provided
+ popup menu to reflect the current state.
+
+ <p>A controller should <b>never</b> update the popup 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. Therefor status updates will not be send regularly
+ for a non visible popup menu.
+ </p>
+ */
+ void updatePopupMenu();
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl
new file mode 100644
index 000000000000..189dfb04ab5a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XRecordableDispatch_idl__
+#define __com_sun_star_frame_XRecordableDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends an existing <type>XDispatch</type> implementation with functionality
+ for dispatch recording
+
+ <p>
+ This interface can be implemented as an additional one beside an existing
+ <type>XDispatch</type> 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 normaly this interface mustn't be used directly.
+ If a dispatch object is well known and recording was enabled
+ on a <type>XDispatchRecorderSupplier</type> it's possible to use method
+ <member>XDispatchRecorderSupplier::dispatchAndRecord()</member> of it
+ to make dispatch and recording automaticly. The interface XRecordableDispatch
+ is used transparently there.
+ </p>
+
+ @example
+ <listing>
+ <i>XDispatch</i> xDispatcher = xFrame.queryDispatch(aURL,"",0);
+ <i>XRecordableDispatch</i> xRecordable = (<i>XRecordableDispatch</i>)UnoRuntime.queryInterface(
+ &nbsp;&nbsp;XRecordableDispatch.class,
+ &nbsp;&nbsp;xDispatcher);
+
+ xDispatcher.addStatusListener(this,aURL);
+
+ <b>if</b> (xRecordable!=<b>null</b>)
+ &nbsp;&nbsp;xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder);
+ else
+ &nbsp;&nbsp;xDispatcher.dispatch(aURL,lArguments);
+ ...
+ xDispatcher.removeStatusListener(this,aURL);
+ </listing>
+
+ @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 wich describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for details)
+
+ @param Recorder
+ object which can be used to record the request
+ (available on <member>XDispatchRecorderSupplier::getDispatchRecorder()</member>)
+ */
+ [oneway] void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchRecorder Recorder);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSessionManagerClient.idl b/offapi/com/sun/star/frame/XSessionManagerClient.idl
new file mode 100644
index 000000000000..8d1f51d4632a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerClient.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
+#define __com_sun_star_frame_XSessionManagerClient_idl__
+
+#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+#endif
+
+//=============================================================================
+
+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()
+ */
+ [oneway] void addSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** removeSessionManagerListener deregisters a listener for session events
+
+ @param xListener
+ listener to be removed
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::addSessionManagerListener()
+ */
+ [oneway] 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
+ */
+ [oneway] 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
+ */
+ [oneway] void interactionDone( [in] XSessionManagerListener xListener );
+
+ /** saveDone signals that a listener has processed a save request
+
+ @param listener
+ the listener having finished save request processing
+
+ @see XSessionManagerListener
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl
new file mode 100644
index 000000000000..2ee33c160240
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
+#define __com_sun_star_frame_XSessionManagerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+//=============================================================================
+
+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
+ <member>XSessionManagerClient::saveDone()</member>
+ 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 <member>saveDone</member>
+ event in case no real shutdown is in progress. He
+ still has to call
+ <member>XSessionManagerClient::saveDone()</member>
+ in that case.</p>
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::saveDone()
+ */
+ [oneway] 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
+ <member>XSessionManagerClient::interactionDone</member>
+ on the session manager client service object.
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::interactionDone()
+ */
+ [oneway] 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.
+ */
+ [oneway] void shutdownCanceled();
+
+ /** returns true, if a session was restored
+ */
+ boolean doRestore();
+ };
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener2.idl b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
new file mode 100644
index 000000000000..233b7614ad2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSessionManagerListener2_idl__
+#define __com_sun_star_frame_XSessionManagerListener2_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+#endif
+//=============================================================================
+
+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.
+ */
+ [oneway] void doQuit();
+ };
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStatusListener.idl b/offapi/com/sun/star/frame/XStatusListener.idl
new file mode 100644
index 000000000000..250e22c2141d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#define __com_sun_star_frame_XStatusListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FeatureStateEvent_idl__
+#include <com/sun/star/frame/FeatureStateEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XNotifyingDispatch</type>
+ and <type>XDispatchResultListener</type> 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
+ */
+ [oneway] void statusChanged( [in] FeatureStateEvent State );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl
new file mode 100644
index 000000000000..d9e035ad03bc
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusbarController.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XStatusbarController_idl__
+#define __com_sun_star_frame_XStatusbarController_idl__
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XGraphics_idl__
+#include <com/sun/star/awt/XGraphics.idl>
+#endif
+
+//=============================================================================
+
+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 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 popup menu
+ that can be activated by a mouse action for context menus.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0.0
+ */
+interface XStatusbarController : ::com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** 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.
+
+ @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 <type scope="com::sun::star::awt">XGraphics</type>
+ which has to be used to update the visual representation.
+
+ @param nCommand
+ a <type scope="com::sun::star::awt">Rectangle</type> which
+ determine the output rectangle for all drawing operations
+
+ @param nItemID
+ the unique ID of the control within the status bar.
+
+ @param nStyle
+ reserved for future use.
+ */
+ void paint( [in] ::com::sun::star::awt::XGraphics xGraphics,
+ [in] ::com::sun::star::awt::Rectangle rOutputRectangle,
+ [in] long nItemId,
+ [in] long nStyle );
+
+ //=============================================================================
+ /** is called by a status bar if the user clicked with mouse into the
+ field of the corresponding control.
+ */
+ void click();
+
+ //=============================================================================
+ /** is called by a status bar if the user double-clicked with mouse
+ into the field of the corresponding control.
+ */
+ void doubleClick();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStorable.idl b/offapi/com/sun/star/frame/XStorable.idl
new file mode 100644
index 000000000000..6c54b5b84c1c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XStorable_idl__
+#define __com_sun_star_frame_XStorable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** offers a simple way to store a component to an 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 <member>XStorable::storeAsURL()</member> 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 <member>XStorable::store()</member> 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 occured 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
+ <member>XStorable::storeAsURL()</member> will throw an exception if a pure
+ export filter is used, it will accept only combined import/export filters.
+ For such filters the method <member>XStorable::storeToURL()</member>
+ 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 <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured 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 occured during save operation
+ (may the location is unknown)
+
+ @param lArguments
+ optional parameters for saving
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> 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
diff --git a/offapi/com/sun/star/frame/XStorable2.idl b/offapi/com/sun/star/frame/XStorable2.idl
new file mode 100644
index 000000000000..d33f49da8b8b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable2.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XStorable2_idl__
+#define __com_sun_star_frame_XStorable2_idl__
+
+#ifndef __com_sun_star_frame_XStorable_idl__
+#include <com/sun/star/frame/XStorable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends <type>XStorable</type>.
+ */
+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 extention of the <method>XStorable::store()</method>.
+ This method allows to specify some additional parametes for
+ storing process.
+ </p>
+
+ @param lArguments
+ optional parameters for saving, can take values from subset of
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ the optional parameters contain unacceptable for save entry
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured 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
+
diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl
new file mode 100644
index 000000000000..e0de8b9b8e2f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSubToolbarController.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSubToolbarController_idl__
+#define __com_sun_star_frame_XSubToolbarController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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.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
diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
new file mode 100644
index 000000000000..b016e42932a3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSynchronousDispatch_idl__
+#define __com_sun_star_frame_XSynchronousDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** additional interfaces for dispatch objects: allow to execute with return value
+ @since OOo 2.0.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 wich 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
diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
new file mode 100644
index 000000000000..6a39bbfeaf98
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__
+#define __com_sun_star_frame_XSynchronousFrameLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** loads a resource into a <type>Frame</type>.
+
+ <p>
+ Unlike the <type>XFrameLoader</type> 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 <type>Frame</type>.
+
+ @param Descriptor
+ describes the ressource which should be loaded
+ It use a <type scope="com::sun::star::document">MediaDescriptor</type> 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
+ <member>XSynchronousFrameLoader::load()</member> must return <FALSE/>
+ then and caller of this method <member>XSynchronousFrameLoader::cancel()</member>
+ already knows the state ...
+ </p>
+ */
+ void cancel();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTask.idl b/offapi/com/sun/star/frame/XTask.idl
new file mode 100644
index 000000000000..f0a59b25bcb0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTask.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTask_idl__
+#define __com_sun_star_frame_XTask_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFrame</type> instead of this one
+ @deprecated
+ */
+published interface XTask: XFrame
+{
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::util">XCloseable</type> or
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>
+ at a <type>Frame</type> instead of this one
+ @deprecated
+ */
+ boolean close();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void tileWindows();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrangeWindowsVertical();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrangeWindowsHorizontal();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTasksSupplier.idl b/offapi/com/sun/star/frame/XTasksSupplier.idl
new file mode 100644
index 000000000000..deb1b3cbb757
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTasksSupplier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTasksSupplier_idl__
+#define __com_sun_star_frame_XTasksSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTask_idl__
+#include <com/sun/star/frame/XTask.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFramesSupplier</type> instead of that
+ @deprecated
+ */
+published interface XTasksSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use <member>XFramesSupplier::getFrames()</member> instead of this one
+ @deprecated
+ */
+ com::sun::star::container::XEnumerationAccess getTasks();
+
+ //-------------------------------------------------------------------------
+ /** use <member>XFramesSupplier::getActiveFrame()</member> instead of this one
+ @deprecated
+ */
+ XTask getActiveTask();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTerminateListener.idl b/offapi/com/sun/star/frame/XTerminateListener.idl
new file mode 100644
index 000000000000..937e3523817b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#define __com_sun_star_frame_XTerminateListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#include <com/sun/star/frame/TerminationVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>TerminationVetoException</type>.
+ Interceptor will be the new owner of desktop and should call <member>XDesktop::terminate()</member>
+ 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.
+ Not 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
diff --git a/offapi/com/sun/star/frame/XTerminateListener2.idl b/offapi/com/sun/star/frame/XTerminateListener2.idl
new file mode 100644
index 000000000000..e4b000bc2f0a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener2.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTerminateListener2_idl__
+#define __com_sun_star_frame_XTerminateListener2_idl__
+
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#include <com/sun/star/frame/XTerminateListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extend interface XTerminateListener so a listener will be informed
+ in case termination process was cancelled by other reasons.
+ */
+interface XTerminateListener2 : ::com::sun::star::frame::XTerminateListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when the master environment (e.g., desktop) was cancelled in
+ it's terminate request.
+
+ <p>
+ Termination can be intercepted by throwing <type>TerminationVetoException</type>.
+ But if a listener was queried for termination .. doesnt throwed a veto exception ...
+ it doesnt 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 occure. But these listener
+ doesnt know if its allowed to start new processes then.
+ Using this optional(!) interface will make it possible to be informed about
+ cancelled 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
diff --git a/offapi/com/sun/star/frame/XTitle.idl b/offapi/com/sun/star/frame/XTitle.idl
new file mode 100644
index 000000000000..0ce06aecb8f0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitle.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTitle_idl__
+#define __com_sun_star_frame_XTitle_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitle : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ string getTitle ();
+
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void setTitle ( [in] string sTitle );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
new file mode 100644
index 000000000000..3bc851f4a557
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+#define __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTitleChangeListener_idl__
+#include <com/sun/star/frame/XTitleChangeListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitleChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void addTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void removeTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTitleChangeListener.idl b/offapi/com/sun/star/frame/XTitleChangeListener.idl
new file mode 100644
index 000000000000..8d1c4c1d8019
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeListener.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTitleChangeListener_idl__
+#define __com_sun_star_frame_XTitleChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_TitleChangedEvent_idl__
+#include <com/sun/star/frame/TitleChangedEvent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitleChangeListener : com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void titleChanged ( [in] TitleChangedEvent aEvent );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl
new file mode 100644
index 000000000000..1ca2c8fa9278
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarController.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XToolbarController_idl__
+#define __com_sun_star_frame_XToolbarController_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyModifier_idl__
+#include <com/sun/star/awt/KeyModifier.idl>
+#endif
+
+//=============================================================================
+
+ 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.0
+ */
+interface XToolbarController : com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** provides a function to execute the command which is bound to the toolbar controller.
+
+ @param
+ a combination of <type scope="com::sun::star::awt">KeyModifier</type> value that represent
+ the current state of the modifier keys.
+
+ <p>
+ This function is usally 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 popup window for additional functions.
+
+ @return
+ a <type scope="com::sun::star::awt">XWindow</type> 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 <type scope="com::sun::star::awt">XWindow</type> which must be used as a parent
+ for the requested item window.
+
+ @return
+ a <type scope="com::sun::star::awt">XWindow</type> 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
diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
new file mode 100644
index 000000000000..6450d8ef910e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XToolbarControllerListener_idl__
+#define __com_sun_star_frame_XToolbarControllerListener_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.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
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000000..ec3259b4ad06
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a factory for
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::TransientDocumentsDocumentContent
+
+ @since OOo 2.0.0
+*/
+interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>
+ based on a given <type scope="com::sun::star::document">OfficeDocument</type>.
+
+ @param Model
+ the document model for that a
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>
+ is requested. The model must be an implementation of service
+ <type scope="com::sun::star::document">OfficeDocument</type>.
+
+ @returns
+ a document content based on the given document model. The content must
+ be an implementation of service
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>.
+
+ @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
diff --git a/offapi/com/sun/star/frame/XUIControllerRegistration.idl b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
new file mode 100644
index 000000000000..3fcc74e4c320
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#define __com_sun_star_frame_XUIControllerRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 shoudl 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 shoudl 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
diff --git a/offapi/com/sun/star/frame/XUntitledNumbers.idl b/offapi/com/sun/star/frame/XUntitledNumbers.idl
new file mode 100644
index 000000000000..e2864d709c2f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUntitledNumbers.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XUntitledNumbers_idl__
+#define __com_sun_star_frame_XUntitledNumbers_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+constants UntitledNumbersConst
+{
+ const long INVALID_NUMBER = 0;
+};
+
+//=============================================================================
+/** knows all currently used and all free numbers for using with untitled
+ but counted objects.
+ */
+interface XUntitledNumbers : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** calli has to lease a number befor he can use it within in its own title.
+
+ Such number must be freed after using e.g. while the object was closed or
+ get's 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 number as "free for using".
+
+ If the reqistered 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 normaly 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 untitles objects in
+ combination with the leased number.
+
+ Note: Such string already contains leading spaces/tabs etcpp. !
+ 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
diff --git a/offapi/com/sun/star/frame/XUrlList.idl b/offapi/com/sun/star/frame/XUrlList.idl
new file mode 100644
index 000000000000..d4005ded9cd2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUrlList.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XUrlList_idl__
+#define __com_sun_star_frame_XUrlList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+*/
+published interface XUrlList: com::sun::star::uno::XInterface
+{
+ /** - */
+ [attribute] sequence<string> List;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XWindowArranger.idl b/offapi/com/sun/star/frame/XWindowArranger.idl
new file mode 100644
index 000000000000..ed5044b9d5aa
--- /dev/null
+++ b/offapi/com/sun/star/frame/XWindowArranger.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XWindowArranger_idl__
+#define __com_sun_star_frame_XWindowArranger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published interface XWindowArranger: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ boolean hasArrangeCommand( [in] short nCommand );
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrange( [in] short nCommand );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/makefile.mk b/offapi/com/sun/star/frame/makefile.mk
new file mode 100644
index 000000000000..dbcfd03cd940
--- /dev/null
+++ b/offapi/com/sun/star/frame/makefile.mk
@@ -0,0 +1,166 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssframe
+PACKAGE=com$/sun$/star$/frame
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ BorderWidths.idl\
+ CommandGroup.idl\
+ Components.idl\
+ ContentHandler.idl\
+ ContentHandlerFactory.idl\
+ ControlCommand.idl\
+ ControlEvent.idl\
+ Controller.idl\
+ Desktop.idl\
+ DesktopTask.idl\
+ DesktopTasks.idl\
+ DispatchDescriptor.idl\
+ DispatchHelper.idl\
+ DispatchInformation.idl\
+ DispatchProvider.idl\
+ DispatchRecorder.idl\
+ DispatchRecorderSupplier.idl\
+ DispatchResultState.idl\
+ DispatchResultEvent.idl\
+ DispatchStatement.idl\
+ DocumentTemplates.idl\
+ DoubleInitializationException.idl\
+ FeatureStateEvent.idl\
+ Frame.idl\
+ FrameAction.idl\
+ FrameActionEvent.idl\
+ FrameControl.idl\
+ FrameLoader.idl\
+ FrameLoaderFactory.idl\
+ FramesContainer.idl\
+ FrameSearchFlag.idl\
+ IllegalArgumentIOException.idl\
+ LayoutManager.idl\
+ LayoutManagerEvents.idl\
+ MediaTypeDetectionHelper.idl\
+ ModuleManager.idl\
+ PopupMenuController.idl\
+ PopupMenuControllerFactory.idl\
+ ProtocolHandler.idl\
+ SessionManager.idl\
+ Settings.idl\
+ SynchronousFrameLoader.idl\
+ StatusbarController.idl\
+ StatusbarControllerFactory.idl\
+ Task.idl\
+ TemplateAccess.idl\
+ TerminationVetoException.idl\
+ TitleChangedEvent.idl\
+ ToolbarController.idl\
+ TransientDocumentsDocumentContentFactory.idl \
+ UnknownModuleException.idl\
+ WindowArrange.idl\
+ XBorderResizeListener.idl\
+ XBrowseHistoryRegistry.idl\
+ XComponentLoader.idl\
+ XComponentRegistry.idl\
+ XConfigManager.idl\
+ XController.idl\
+ XController2.idl\
+ XControlNotificationListener.idl\
+ XControllerBorder.idl\
+ XDesktop.idl\
+ XDesktopTask.idl\
+ XDispatch.idl\
+ XDispatchHelper.idl\
+ XDispatchInformationProvider.idl\
+ XDispatchProvider.idl\
+ XDispatchProviderInterception.idl\
+ XDispatchProviderInterceptor.idl\
+ XDispatchRecorder.idl\
+ XDispatchRecorderSupplier.idl\
+ XDispatchResultListener.idl\
+ XDocumentTemplates.idl\
+ XExtendedFilterDetection.idl\
+ XFilterDetect.idl\
+ XFrame.idl\
+ XFrameActionListener.idl\
+ XFrameLoader.idl\
+ XFrameLoaderQuery.idl\
+ XFrames.idl\
+ XFrameSetModel.idl\
+ XFramesSupplier.idl\
+ XInplaceLayout.idl\
+ XInterceptorInfo.idl\
+ XLayoutManager.idl\
+ XLayoutManagerEventBroadcaster.idl\
+ XLayoutManagerListener.idl\
+ XLoadable.idl\
+ XLoadEventListener.idl\
+ XMenuBarAcceptor.idl\
+ XMenuBarMergingAcceptor.idl\
+ XModel.idl\
+ XModel2.idl\
+ XModule.idl\
+ XModuleManager.idl\
+ XNotifyingDispatch.idl\
+ XPopupMenuController.idl\
+ XRecordableDispatch.idl\
+ XSessionManagerClient.idl\
+ XSessionManagerListener.idl\
+ XSessionManagerListener2.idl\
+ XStatusListener.idl\
+ XStatusbarController.idl\
+ XStorable.idl\
+ XSubToolbarController.idl\
+ XStorable2.idl\
+ XSynchronousDispatch.idl\
+ XSynchronousFrameLoader.idl\
+ XTask.idl\
+ XTasksSupplier.idl\
+ XTerminateListener.idl\
+ XTerminateListener2.idl\
+ XTitle.idl\
+ XTitleChangeBroadcaster.idl\
+ XTitleChangeListener.idl\
+ XToolbarController.idl\
+ XTransientDocumentsDocumentContentFactory.idl\
+ XUIControllerRegistration.idl\
+ XUntitledNumbers.idl\
+ XUrlList.idl\
+ XWindowArranger.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..2cc39db0696f
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ClipboardFormats.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 ID's 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
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 000000000000..3cefd4aab7f9
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/FontHeight.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..d1ade5b4589e
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemState.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 a <type>ItemStatus</type>.
+
+ @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.
+ */
+ 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
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 000000000000..ef49aca6a527
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemStatus.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 {
+
+//=============================================================================
+
+/** describes a state of a property.
+
+ @since OOo 2.0
+ */
+struct ItemStatus
+{
+ //-------------------------------------------------------------------------
+
+ /** numerical value which describes the current state of an item.
+
+ @see <type>ItemState</type>
+ */
+ 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
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 000000000000..2112168f9286
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMargin.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..1377efabd5c7
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Template.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..b1a05a94fab7
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..ae5e04e6bca8
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..caeaf6525f24
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Verb.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..a061a89265d5
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Visibility.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_status_Visibility_idl__
+#define __com_sun_star_frame_status_Visiblilty_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
diff --git a/offapi/com/sun/star/frame/status/makefile.mk b/offapi/com/sun/star/frame/status/makefile.mk
new file mode 100644
index 000000000000..ca8beb50d1a1
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/makefile.mk
@@ -0,0 +1,55 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfstatus
+PACKAGE=com$/sun$/star$/frame$/status
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FontHeight.idl \
+ Verb.idl \
+ ClipboardFormats.idl \
+ LeftRightMargin.idl \
+ UpperLowerMargin.idl \
+ UpperLowerMarginScale.idl \
+ Template.idl \
+ ItemStatus.idl \
+ ItemState.idl \
+ Visibility.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/gallery/GalleryItem.idl b/offapi/com/sun/star/gallery/GalleryItem.idl
new file mode 100644
index 000000000000..ab588f988b67
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryItem.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_GalleryItem_idl__
+#define __com_sun_star_gallery_GalleryItem_idl__
+
+#ifndef __com_sun_star_gallery_XGalleryItem_idl__
+#include <com/sun/star/gallery/XGalleryItem.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/gallery/GalleryItemType.idl b/offapi/com/sun/star/gallery/GalleryItemType.idl
new file mode 100644
index 000000000000..f8bf62056080
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryItemType.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/gallery/GalleryTheme.idl b/offapi/com/sun/star/gallery/GalleryTheme.idl
new file mode 100644
index 000000000000..207aec2c73a6
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryTheme.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_GalleryTheme_idl__
+#define __com_sun_star_gallery_GalleryTheme_idl__
+
+#ifndef __com_sun_star_gallery_XGalleryTheme_idl__
+#include <com/sun/star/gallery/XGalleryTheme.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/gallery/GalleryThemeProvider.idl b/offapi/com/sun/star/gallery/GalleryThemeProvider.idl
new file mode 100644
index 000000000000..f08b8756f20f
--- /dev/null
+++ b/offapi/com/sun/star/gallery/GalleryThemeProvider.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_GalleryThemeProvider_idl__
+#define __com_sun_star_gallery_GalleryThemeProvider_idl__
+
+#ifndef __com_sun_star_gallery_XGalleryThemeProvider_idl__
+#include <com/sun/star/gallery/XGalleryThemeProvider.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module gallery {
+
+//=============================================================================
+
+/** provides access to a container of <type>GalleryTheme</type>s
+ and makes it possible for you to manipulate them.
+
+ @see XGalleryThemeProvider
+ */
+service GalleryThemeProvider
+{
+ /** lets you access and create <type>GalleryTheme</type>s
+ */
+ 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 <type scope="com::sun::star::lang">XMultiServiceFactory</type>.</p>
+
+ <p>You specify a parameter by passing one (or more)
+ <type scope="com::sun::star::beans">PropertyValue</type>
+ 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
diff --git a/offapi/com/sun/star/gallery/XGalleryItem.idl b/offapi/com/sun/star/gallery/XGalleryItem.idl
new file mode 100644
index 000000000000..fac404145e3b
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryItem.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_XGalleryItem_idl__
+#define __com_sun_star_gallery_XGalleryItem_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/gallery/XGalleryTheme.idl b/offapi/com/sun/star/gallery/XGalleryTheme.idl
new file mode 100644
index 000000000000..ed8ac5230335
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryTheme.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_XGalleryTheme_idl__
+#define __com_sun_star_gallery_XGalleryTheme_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+#ifndef __com_sun_star_gallery_XGalleryItem_idl__
+#include <com/sun/star/gallery/XGalleryItem.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::container">XIndexAccess</type> 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 an 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 <type scope="com::sun::star::graphic">XGraphic</type> 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
diff --git a/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl b/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl
new file mode 100644
index 000000000000..c7fa2dbfdc17
--- /dev/null
+++ b/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_gallery_XGalleryThemeProvider_idl__
+#define __com_sun_star_gallery_XGalleryThemeProvider_idl__
+
+#ifndef __com_sun_star_gallery_XGalleryTheme_idl__
+#include <com/sun/star/gallery/XGalleryTheme.idl>
+#endif
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::container">XNameAccess</type> 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
diff --git a/offapi/com/sun/star/gallery/makefile.mk b/offapi/com/sun/star/gallery/makefile.mk
new file mode 100644
index 000000000000..49a9c908df65
--- /dev/null
+++ b/offapi/com/sun/star/gallery/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+PRJNAME=offapi
+TARGET=cssgallery
+PACKAGE=com$/sun$/star$/gallery
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ GalleryThemeProvider.idl \
+ GalleryTheme.idl \
+ GalleryItem.idl \
+ GalleryItemType.idl \
+ XGalleryThemeProvider.idl \
+ XGalleryTheme.idl \
+ XGalleryItem.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/geometry/AffineMatrix2D.idl b/offapi/com/sun/star/geometry/AffineMatrix2D.idl
new file mode 100644
index 000000000000..ad122bc7ebeb
--- /dev/null
+++ b/offapi/com/sun/star/geometry/AffineMatrix2D.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 implicitely 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
+ <type>AffineMatrix2D</type> 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.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
diff --git a/offapi/com/sun/star/geometry/AffineMatrix3D.idl b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
new file mode 100644
index 000000000000..945fccc1880c
--- /dev/null
+++ b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 implicitely 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
+ <type>AffineMatrix3D</type> 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 coordiantes needed.
+ Only then the total transformation matrix (oncluding projection to 2D)
+ and the device resolution determine the actual measurement unit in 3D.<p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/geometry/EllipticalArc.idl b/offapi/com/sun/star/geometry/EllipticalArc.idl
new file mode 100644
index 000000000000..620cbead640a
--- /dev/null
+++ b/offapi/com/sun/star/geometry/EllipticalArc.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_geometry_EllipticalArc_idl__
+#define __com_sun_star_geometry_EllipticalArc_idl__
+
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+
+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 modelled closely
+ after the <a href="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.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
diff --git a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
new file mode 100644
index 000000000000..f26418aaf5c4
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/geometry/IntegerPoint2D.idl b/offapi/com/sun/star/geometry/IntegerPoint2D.idl
new file mode 100644
index 000000000000..2b1e0d83efa6
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerPoint2D.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+struct IntegerPoint2D
+{
+ /// The x coordinate of the point.
+ long X;
+
+ //-------------------------------------------------------------------------
+
+ /// The x coordinate of the point.
+ long Y;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
new file mode 100644
index 000000000000..289c3f081665
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>com.sun.star.rendering.XCanvas</type> 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.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
diff --git a/offapi/com/sun/star/geometry/IntegerSize2D.idl b/offapi/com/sun/star/geometry/IntegerSize2D.idl
new file mode 100644
index 000000000000..3c8b665fedc3
--- /dev/null
+++ b/offapi/com/sun/star/geometry/IntegerSize2D.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+struct IntegerSize2D
+{
+ /// Amount of space occupied in the x direction.
+ long Width;
+
+ //-------------------------------------------------------------------------
+
+ /// Amount of space occupied in the y direction.
+ long Height;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/geometry/Matrix2D.idl b/offapi/com/sun/star/geometry/Matrix2D.idl
new file mode 100644
index 000000000000..4d2bacb24e2f
--- /dev/null
+++ b/offapi/com/sun/star/geometry/Matrix2D.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>com.sun.star.geometry.AffineMatrix2D</type>, 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
+ <type>Matrix2D</type> 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.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
diff --git a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
new file mode 100644
index 000000000000..97a9772fb006
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/geometry/RealPoint2D.idl b/offapi/com/sun/star/geometry/RealPoint2D.idl
new file mode 100644
index 000000000000..8c0e594aa5e6
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealPoint2D.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+struct RealPoint2D
+{
+ /// The x coordinate of the point.
+ double X;
+
+ //-------------------------------------------------------------------------
+
+ /// The x coordinate of the point.
+ double Y;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/geometry/RealRectangle2D.idl b/offapi/com/sun/star/geometry/RealRectangle2D.idl
new file mode 100644
index 000000000000..b12ead639200
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealRectangle2D.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>com.sun.star.rendering.XCanvas</type> 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.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
diff --git a/offapi/com/sun/star/geometry/RealRectangle3D.idl b/offapi/com/sun/star/geometry/RealRectangle3D.idl
new file mode 100644
index 000000000000..826c73c27679
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealRectangle3D.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/geometry/RealSize2D.idl b/offapi/com/sun/star/geometry/RealSize2D.idl
new file mode 100644
index 000000000000..5ed2fc8a34c3
--- /dev/null
+++ b/offapi/com/sun/star/geometry/RealSize2D.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+struct RealSize2D
+{
+ /// Amount of space occupied in the x direction.
+ double Width;
+
+ //-------------------------------------------------------------------------
+
+ /// Amount of space occupied in the y direction.
+ double Height;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/geometry/XMapping2D.idl b/offapi/com/sun/star/geometry/XMapping2D.idl
new file mode 100644
index 000000000000..bf435389582a
--- /dev/null
+++ b/offapi/com/sun/star/geometry/XMapping2D.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_geometry_XMapping2D_idl__
+#define __com_sun_star_geometry_XMapping2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+
+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
+ <type>double</type> floating point type. The mapping must be
+ bijective, i.e. map a pair of real numbers to exactly one other
+ pair of real numbers an 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.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
diff --git a/offapi/com/sun/star/geometry/makefile.mk b/offapi/com/sun/star/geometry/makefile.mk
new file mode 100644
index 000000000000..2ade163ea049
--- /dev/null
+++ b/offapi/com/sun/star/geometry/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssgeometry
+PACKAGE=com$/sun$/star$/geometry
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AffineMatrix2D.idl \
+ AffineMatrix3D.idl \
+ EllipticalArc.idl \
+ Matrix2D.idl \
+ XMapping2D.idl \
+ IntegerBezierSegment2D.idl \
+ RealBezierSegment2D.idl \
+ RealPoint2D.idl \
+ RealRectangle2D.idl \
+ RealRectangle3D.idl \
+ RealSize2D.idl \
+ IntegerPoint2D.idl \
+ IntegerRectangle2D.idl \
+ IntegerSize2D.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/graphic/Graphic.idl b/offapi/com/sun/star/graphic/Graphic.idl
new file mode 100755
index 000000000000..02bb048096e0
--- /dev/null
+++ b/offapi/com/sun/star/graphic/Graphic.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphic</type> interface, which itself exposes only
+ a few methods. Beside this, a <type>Graphic</type> service
+ incorporates the <type>GraphicDescriptor</type> to give
+ access to the attributes of the graphic.
+
+ @see XGraphic
+ @see XGraphicTtransformer
+ @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
diff --git a/offapi/com/sun/star/graphic/GraphicColorMode.idl b/offapi/com/sun/star/graphic/GraphicColorMode.idl
new file mode 100644
index 000000000000..c22d1de56ee9
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicColorMode.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/graphic/GraphicDescriptor.idl b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
new file mode 100755
index 000000000000..fce984008c71
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicDescriptor.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::beans">XPropertySet</type> 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-sgf</li>
+ <li>image/x-svm</li>
+ <li>image/x-wmf</li>
+ <li>image/x-sgv</li>
+ <li>image/x-emf</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 <type>GraphicDescriptor</type>.</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 <type>GraphicDescriptor</type></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 <type>GraphicDescriptor</type></p>
+ */
+ [optional, property] boolean Animated;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicObject.idl b/offapi/com/sun/star/graphic/GraphicObject.idl
new file mode 100644
index 000000000000..c3353724133f
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicObject.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphicObject</type> instances.
+
+ <p><type>XGraphicObject</type> objects are accessable using GraphicObject scheme urls like
+ <code>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</code>.
+ As long as at least one instance of <type>XGraphicObject</type> with a particular UniqueID exists,
+ the associated image/graphic is available.</p>
+
+ @see GraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+service GraphicObject : XGraphicObject
+{
+ /** Creates an <type>GraphicObject</type>
+ */
+ create();
+
+ /** Creates an <type>GraphicObject</type> with <code>uniqueId</code>
+ @param uniqueId
+ If another <type>XGraphicObject</type> with <code>uniqueId</code> exists, this GraphicObject
+ is populated with the other <type>GraphicObject</type>'s data.
+ */
+ createWithId( [in] string uniqueId );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicProvider.idl b/offapi/com/sun/star/graphic/GraphicProvider.idl
new file mode 100755
index 000000000000..b8109919a349
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicProvider.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphicProvider</type> interface, that exposes the necessary
+ methods for loading and storing the graphic contents and descriptors</p>
+
+ @see XGraphicProvider
+*/
+published service GraphicProvider
+{
+ interface ::com::sun::star::graphic::XGraphicProvider;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/GraphicRendererVCL.idl b/offapi/com/sun/star/graphic/GraphicRendererVCL.idl
new file mode 100755
index 000000000000..10cc215629d4
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicRendererVCL.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphic</type> type
+
+ <p>To render a <type>XGraphic</type> container, just create an
+ instance of this service, set the appropriate properties and use
+ the <type>XGraphicRenderer</type> 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 <type>XGraphic</type>
+ container should be rendered
+
+ <p>In case of using VCL Devices, this property should
+ hold a <type scope="com::sun::star::awt">XDevice</type>
+ 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
diff --git a/offapi/com/sun/star/graphic/GraphicType.idl b/offapi/com/sun/star/graphic/GraphicType.idl
new file mode 100755
index 000000000000..133b2621887d
--- /dev/null
+++ b/offapi/com/sun/star/graphic/GraphicType.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/graphic/MediaProperties.idl b/offapi/com/sun/star/graphic/MediaProperties.idl
new file mode 100755
index 000000000000..889db82278fd
--- /dev/null
+++ b/offapi/com/sun/star/graphic/MediaProperties.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphicProvider</type> 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
+ <member>InputStream</member> or <member>OutputStream</member>
+ property</p>
+
+ <p>In addition to the normal protocols like file:// or http://
+ you can use private URL's as follows to get access to graphics
+ lying inside the resource system within an Office context:
+
+ <ul>
+ <li>private:resource/projectshortname/bitmap/12345</li>
+ <li>private:resource/projectshortname/bitmapex/12345</li>
+ <li>private:resource/projectshortname/image/12345</li>
+ <li>private:resource/projectshortname/imagelist/12345</li>
+ <li>private:resource/projectshortname/imagelist/12345/12</li>
+ </ul>
+And additionally, GraphicObject scheme url's like
+ <ul> <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li> </ul>
+ can be used to access graphics held by the GraphicCache implementation.
+ </p>
+
+ <p>Yet more, you can access graphics in the application-wide image
+ repository by specifying URLs of the form
+ <code>private:graphicrepository/<em>&lt;path_in_repository&gt;</em></code>.
+</p>
+ */
+ [optional, property ] string URL;
+
+ /** This property is only used for loading graphics or querying
+ graphic descriptors
+
+ <p>A <member>InputStream</member> can be used instead of the
+ <member>URL</member> 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 <member>OutputStream</member> can be used instead of the
+ <member>URL</member> 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
diff --git a/offapi/com/sun/star/graphic/XGraphic.idl b/offapi/com/sun/star/graphic/XGraphic.idl
new file mode 100755
index 000000000000..999d815be2ae
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphic.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphicProvider</type> interface.
+ <type>XGraphicProvider</type> 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 <type>XGraphicRenderer</type> 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
diff --git a/offapi/com/sun/star/graphic/XGraphicObject.idl b/offapi/com/sun/star/graphic/XGraphicObject.idl
new file mode 100644
index 000000000000..adc5d5ee5e1e
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicObject.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.
+
+ <p>Such objects are accessable using GraphicObject scheme urls like
+ <ul>
+ <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li>
+ </ul>
+ The numeric portion of the url is formed from <member>UniqueID</member>.
+ As long as at least one instance of <code>XGraphicObject</code> with a particular UniqueID exists,
+ the associated image/graphic is available.</p>
+
+ @see XGraphicObject
+ @see GraphicProvider
+ @see MediaProperties
+*/
+
+interface XGraphicObject : ::com::sun::star::uno::XInterface
+{
+ /** is the associated image/graphic for this object.
+ */
+ [attribute ] XGraphic Graphic;
+
+ /** is the id that can be used to form the <code>vnd.sun.star.GraphicObject</code> url to address this object.
+ */
+ [attribute, readonly ] string UniqueID;
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicProvider.idl b/offapi/com/sun/star/graphic/XGraphicProvider.idl
new file mode 100755
index 000000000000..de5a193961df
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicProvider.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ 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 <type scope="com::sun::star::beans">XPropertySet</type> 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 <type>XGraphic</type> 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 <type>XGraphic</type> 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 <type>XGraphic</type>
+ 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
diff --git a/offapi/com/sun/star/graphic/XGraphicRenderer.idl b/offapi/com/sun/star/graphic/XGraphicRenderer.idl
new file mode 100755
index 000000000000..f49746c4e5d5
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicRenderer.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphic</type> container
+ */
+interface XGraphicRenderer : ::com::sun::star::uno::XInterface
+{
+ /** Renders the <type>XGraphic</type> container
+
+ @param Graphic
+ The graphic container to be rendered
+
+ @see XGraphic
+ */
+ void render( [in] ::com::sun::star::graphic::XGraphic Graphic );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XGraphicTransformer.idl b/offapi/com/sun/star/graphic/XGraphicTransformer.idl
new file mode 100644
index 000000000000..47fe2d9bbd54
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XGraphicTransformer.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XGraphic</type>
+
+ <p>To transform a <type>XGraphic</type>, 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 );
+};
+
+} ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/graphic/XPrimitive2D.idl b/offapi/com/sun/star/graphic/XPrimitive2D.idl
new file mode 100644
index 000000000000..377bcb5b7802
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive2D.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitive2D_idl__
+#define __com_sun_star_graphic_XPrimitive2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/graphic/XPrimitive3D.idl b/offapi/com/sun/star/graphic/XPrimitive3D.idl
new file mode 100644
index 000000000000..5083ed338a76
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitive3D.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitive3D_idl__
+#define __com_sun_star_graphic_XPrimitive3D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle3D_idl__
+#include <com/sun/star/geometry/RealRectangle3D.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
new file mode 100644
index 000000000000..846d0c3d5154
--- /dev/null
+++ b/offapi/com/sun/star/graphic/XPrimitiveFactory2D.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+#define __com_sun_star_graphic_XPrimitiveFactory2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//////////////////////////////////////////////////////////////////////////////
+// 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 <type>::com::sun::star::drawing::XShape</type>
+
+ @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 <type>::com::sun::star::drawing::XDrawPage</type>
+
+ @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
+
+// eof
diff --git a/offapi/com/sun/star/graphic/makefile.mk b/offapi/com/sun/star/graphic/makefile.mk
new file mode 100755
index 000000000000..4ee0031ab5db
--- /dev/null
+++ b/offapi/com/sun/star/graphic/makefile.mk
@@ -0,0 +1,62 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+TARGET=cssgraphic
+PACKAGE=com$/sun$/star$/graphic
+
+PRJNAME=offapi
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+#-------------------------------------------------------------------
+
+IDLFILES= \
+ Graphic.idl \
+ GraphicColorMode.idl \
+ GraphicDescriptor.idl \
+ GraphicProvider.idl \
+ GraphicRendererVCL.idl \
+ GraphicType.idl \
+ MediaProperties.idl \
+ XPrimitive2D.idl \
+ XPrimitive3D.idl \
+ XPrimitiveFactory2D.idl \
+ XGraphic.idl \
+ XGraphicProvider.idl \
+ XGraphicRenderer.idl \
+ XGraphicObject.idl \
+ GraphicObject.idl \
+ XGraphicTransformer.idl
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/i18n/AmPmValue.idl b/offapi/com/sun/star/i18n/AmPmValue.idl
new file mode 100644
index 000000000000..03abe18ff0b8
--- /dev/null
+++ b/offapi/com/sun/star/i18n/AmPmValue.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XCalendar::getDisplayName()</member>.
+ */
+published constants AmPmValue
+{
+ /// get display name string for AM
+ const short AM = 0;
+ /// get display name string for PM
+ const short PM = 1;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/Boundary.idl b/offapi/com/sun/star/i18n/Boundary.idl
new file mode 100644
index 000000000000..31cd38cad2e2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Boundary.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/i18n/BreakIterator.idl b/offapi/com/sun/star/i18n/BreakIterator.idl
new file mode 100644
index 000000000000..658ce5764d76
--- /dev/null
+++ b/offapi/com/sun/star/i18n/BreakIterator.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_BreakIterator_idl__
+#define __com_sun_star_i18n_BreakIterator_idl__
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#ifndef __com_sun_star_i18n_XBreakIterator_idl__
+#include <com/sun/star/i18n/XBreakIterator.idl>
+#endif
+
+//=============================================================================
+
+ 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
+{
+ interface com::sun::star::i18n::XBreakIterator;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/BreakType.idl b/offapi/com/sun/star/i18n/BreakType.idl
new file mode 100644
index 000000000000..33e731f91495
--- /dev/null
+++ b/offapi/com/sun/star/i18n/BreakType.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>LineBreakResults::breakType</member>.
+ */
+
+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
diff --git a/offapi/com/sun/star/i18n/CTLScriptType.idl b/offapi/com/sun/star/i18n/CTLScriptType.idl
new file mode 100644
index 000000000000..a192f5f5d0c2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CTLScriptType.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_CTLScriptType_idl__
+#define __com_sun_star_i18n_CTLScriptType_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+//--------------------------------------------------------------------------
+/** CTL tcript type constants for layout engine, returned by
+ <member>XScriptTypeDetector::getCTLScriptType()</member>
+
+ @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
diff --git a/offapi/com/sun/star/i18n/Calendar.idl b/offapi/com/sun/star/i18n/Calendar.idl
new file mode 100644
index 000000000000..8e063c04e853
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Calendar.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XLocaleData::getAllCalendars()</member>.
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+ */
+
+published struct Calendar
+{
+ /// the days of the week, see also <type>CalendarItem</type>.
+ sequence< CalendarItem > Days;
+ /// the months of the year, see also <type>CalendarItem</type>.
+ sequence< CalendarItem > Months;
+ /// the possible eras, see also <type>CalendarItem</type>.
+ 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
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayCode.idl b/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
new file mode 100644
index 000000000000..780a88eb8fa7
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XExtendedCalendar::getDisplayString()</member>.
+
+ <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;
+ /// Full month name.
+ const long SHORT_MONTH_NAME = 7;
+ /// Abbreviated month name.
+ const long LONG_MONTH_NAME = 8;
+
+ /// Year, two digits.
+ const long SHORT_YEAR = 9;
+ /// Year, four digits.
+ const long LONG_YEAR = 10;
+ /// Full era name, for example, "Before Christ" or "Anno Dominus".
+ const long SHORT_ERA = 11;
+ /// Abbreviated era name, for example, BC or AD.
+ 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;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl b/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
new file mode 100644
index 000000000000..4338ad50742f
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XCalendar::getDisplayName()</member>.
+ */
+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;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CalendarFieldIndex.idl b/offapi/com/sun/star/i18n/CalendarFieldIndex.idl
new file mode 100644
index 000000000000..a2606f229d05
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarFieldIndex.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XCalendar</type> 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 <type>AmPmValue</type>.
+ 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
diff --git a/offapi/com/sun/star/i18n/CalendarItem.idl b/offapi/com/sun/star/i18n/CalendarItem.idl
new file mode 100644
index 000000000000..5fd2f1209f57
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CalendarItem.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>Calendar::Days</member>, <member>Calendar::Months</member>,
+ <member>Calendar::Eras</member> </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
diff --git a/offapi/com/sun/star/i18n/ChapterCollator.idl b/offapi/com/sun/star/i18n/ChapterCollator.idl
new file mode 100644
index 000000000000..eb7f9e40a58b
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ChapterCollator.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_ChapterCollator_idl__
+#define __com_sun_star_i18n_ChapterCollator_idl__
+
+#include <com/sun/star/lang/XServiceInfo.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
+{
+ interface com::sun::star::i18n::XCollator;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CharType.idl b/offapi/com/sun/star/i18n/CharType.idl
new file mode 100644
index 000000000000..2e6406e9b4d0
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharType.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>UnicodeType</type>
+
+ <p> Used with <member>XBreakIterator::beginOfCharBlock()</member>,
+ <member>XBreakIterator::endOfCharBlock()</member>,
+ <member>XBreakIterator::nextCharBlock()</member>,
+ <member>XBreakIterator::previousCharBlock()</member> </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
diff --git a/offapi/com/sun/star/i18n/CharacterClassification.idl b/offapi/com/sun/star/i18n/CharacterClassification.idl
new file mode 100644
index 000000000000..1c903b95033d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharacterClassification.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_CharacterClassification_idl__
+#define __com_sun_star_i18n_CharacterClassification_idl__
+
+#include <com/sun/star/lang/XServiceInfo.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
+{
+ interface com::sun::star::i18n::XCharacterClassification;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CharacterIteratorMode.idl b/offapi/com/sun/star/i18n/CharacterIteratorMode.idl
new file mode 100644
index 000000000000..3b233868b746
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CharacterIteratorMode.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XBreakIterator::nextCharacters()</member> and
+ <method>XBreakIterator::previousCharacters</method> </p>
+ */
+published constants CharacterIteratorMode
+{
+ /// skip characters
+ const short SKIPCHARACTER = 0;
+
+ /// skip cells
+ const short SKIPCELL = 1;
+
+ /// skip control characters
+ const short SKIPCONTROLCHARACTER = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/Collator.idl b/offapi/com/sun/star/i18n/Collator.idl
new file mode 100644
index 000000000000..79cea254bb56
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Collator.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_Collator_idl__
+#define __com_sun_star_i18n_Collator_idl__
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#ifndef __com_sun_star_i18n_XCollator_idl__
+#include <com/sun/star/i18n/XCollator.idl>
+#endif
+
+//============================================================================
+
+ module com { module sun { module star { module i18n {
+
+//============================================================================
+
+/**
+ Access collation algorithms of different locales.
+ */
+
+published service Collator
+{
+ interface com::sun::star::i18n::XCollator;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CollatorOptions.idl b/offapi/com/sun/star/i18n/CollatorOptions.idl
new file mode 100644
index 000000000000..9af23dadde73
--- /dev/null
+++ b/offapi/com/sun/star/i18n/CollatorOptions.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XCollator</type> 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
diff --git a/offapi/com/sun/star/i18n/Currency.idl b/offapi/com/sun/star/i18n/Currency.idl
new file mode 100644
index 000000000000..d4f6671c6fe9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Currency.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XLocaleData::getAllCurrencies()</member>.
+
+ @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
+ <member>ID</member>, 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
+ <member>FormatElement::formatIndex</member> 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
diff --git a/offapi/com/sun/star/i18n/Currency2.idl b/offapi/com/sun/star/i18n/Currency2.idl
new file mode 100644
index 000000000000..e6a7cc2a5090
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Currency2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_Currency2_idl__
+#define __com_sun_star_i18n_Currency2_idl__
+
+#ifndef __com_sun_star_i18n_Currency_idl__
+#include <com/sun/star/i18n/Currency.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module i18n {
+
+//============================================================================
+
+/**
+ Symbols, names, and attributes of a specific currency, returned in a
+ sequence by <member>XLocaleData2::getAllCurrencies2()</member>.
+
+ <p> It is derived from
+ <type scope="::com::sun::star::i18n">Currency</type> 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
diff --git a/offapi/com/sun/star/i18n/DirectionProperty.idl b/offapi/com/sun/star/i18n/DirectionProperty.idl
new file mode 100644
index 000000000000..7a46b8a5b6e9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/DirectionProperty.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <method>XCharacterClassification::getCharacterDirection</method>.
+ */
+
+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
diff --git a/offapi/com/sun/star/i18n/ForbiddenCharacters.idl b/offapi/com/sun/star/i18n/ForbiddenCharacters.idl
new file mode 100644
index 000000000000..11ec09f834fe
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ForbiddenCharacters.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <method>XLocaleData::getForbiddenCharacters</method> and used with
+ <type>XForbiddenCharacters</type> 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
diff --git a/offapi/com/sun/star/i18n/FormatElement.idl b/offapi/com/sun/star/i18n/FormatElement.idl
new file mode 100644
index 000000000000..deb39eba5123
--- /dev/null
+++ b/offapi/com/sun/star/i18n/FormatElement.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XLocaleData::getAllFormats()</member>.
+
+ <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 <type>KNumberFormatUsage</type> values. */
+ string formatUsage;
+
+ /** The index used by the number formatter, predefined values
+ corresponding with <type>NumberFormatIndex</type> values. */
+ short formatIndex;
+
+ /** If a format code is the default code of a <em>formatType</em>
+ group. */
+ boolean isDefault;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/Implementation.idl b/offapi/com/sun/star/i18n/Implementation.idl
new file mode 100644
index 000000000000..15e99a22bdd8
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Implementation.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XLocaleData::getCollatorImplementations()</member>.
+
+ @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
diff --git a/offapi/com/sun/star/i18n/IndexEntrySupplier.idl b/offapi/com/sun/star/i18n/IndexEntrySupplier.idl
new file mode 100644
index 000000000000..cb988eeb7520
--- /dev/null
+++ b/offapi/com/sun/star/i18n/IndexEntrySupplier.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_IndexEntrySupplier_idl__
+#define __com_sun_star_i18n_IndexEntrySupplier_idl__
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+#include <com/sun/star/i18n/XIndexEntrySupplier.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
+{
+ interface com::sun::star::i18n::XIndexEntrySupplier;
+ interface com::sun::star::lang::XServiceInfo;
+
+ [optional] interface com::sun::star::i18n::XExtendedIndexEntrySupplier;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/InputSequenceCheckMode.idl b/offapi/com/sun/star/i18n/InputSequenceCheckMode.idl
new file mode 100644
index 000000000000..f94970c106bc
--- /dev/null
+++ b/offapi/com/sun/star/i18n/InputSequenceCheckMode.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XInputSequenceChecker::checkInputSequence()</member>
+
+ @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
diff --git a/offapi/com/sun/star/i18n/InputSequenceChecker.idl b/offapi/com/sun/star/i18n/InputSequenceChecker.idl
new file mode 100644
index 000000000000..38951efcbf30
--- /dev/null
+++ b/offapi/com/sun/star/i18n/InputSequenceChecker.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_InputSequenceChecker_idl__
+#define __com_sun_star_i18n_InputSequenceChecker_idl__
+
+#include <com/sun/star/lang/XServiceInfo.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
+{
+ interface com::sun::star::i18n::XInputSequenceChecker;
+ interface com::sun::star::lang::XServiceInfo;
+
+ [optional] interface com::sun::star::i18n::XExtendedInputSequenceChecker;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/KCharacterType.idl b/offapi/com/sun/star/i18n/KCharacterType.idl
new file mode 100644
index 000000000000..099c8a1a16af
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KCharacterType.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::getCharacterType()</member> and
+ <member>XCharacterClassification::getStringType()</member> </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 <type>UnicodeType</type>::..._LETTER.
+ Note that a LETTER must not necessarily be ALPHA */
+ const long LETTER = 0x00000080;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/KNumberFormatType.idl b/offapi/com/sun/star/i18n/KNumberFormatType.idl
new file mode 100644
index 000000000000..3d9ffc51b991
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KNumberFormatType.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/i18n/KNumberFormatUsage.idl b/offapi/com/sun/star/i18n/KNumberFormatUsage.idl
new file mode 100644
index 000000000000..0300c4dfbd3a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KNumberFormatUsage.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/i18n/KParseTokens.idl b/offapi/com/sun/star/i18n/KParseTokens.idl
new file mode 100644
index 000000000000..fccaf55e31fb
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KParseTokens.idl
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::parseAnyToken()</member> and
+ <member>XCharacterClassification::parsePredefinedToken()</member>.
+ They are also set in the <member>ParseResult::StartFlags</member>
+ and <member>ParseResult::ContFlags</member>. </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
+ <type>ParseResult</type>. */
+ const long ASC_ANY_BUT_CONTROL = 0x00000400;
+
+ /** Additional flag set in <member>ParseResult::StartFlags</member>
+ or <member>ParseResult::ContFlags</member>. 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 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 <member>ParseResult::StartFlags</member>
+ or <member>ParseResult::ContFlags</member>. 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
+ <method>ChararacterClassification::parseAnyToken</method> and
+ <method>ChararacterClassification::parsePredefinedToken</method>,
+ ignored on <em>nContCharFlags</em> parameter.
+ <strong>Not</strong> set in <type>ParseResult</type>. */
+ 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
diff --git a/offapi/com/sun/star/i18n/KParseType.idl b/offapi/com/sun/star/i18n/KParseType.idl
new file mode 100644
index 000000000000..eaf34d2de4a9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/KParseType.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::parseAnyToken()</member> and
+ <member>XCharacterClassification::parsePredefinedToken()</member> in
+ <member>ParseResult::TokenType</member>. </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 <member>ParseResult::DequotedNameOrString</member> ( na'me )." */
+ const long SINGLE_QUOTE_NAME = 0x00000008;
+
+ /** A double-quoted string ( "str\"i""ng" ). Dequoted string in
+ <member>ParseResult::DequotedNameOrString</member> ( str"i"ng ). */
+ const long DOUBLE_QUOTE_STRING = 0x00000010;
+
+ /** A number where all digits are ASCII characters.
+ Numerical value in <member>ParseResult::Value</member>. */
+ const long ASC_NUMBER = 0x00000020;
+
+ /** A number where at least some digits are Unicode (and maybe
+ ASCII) characters. Numerical value inKParseType
+ <member>ParseResult::Value</member>. */
+ 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
diff --git a/offapi/com/sun/star/i18n/LanguageCountryInfo.idl b/offapi/com/sun/star/i18n/LanguageCountryInfo.idl
new file mode 100644
index 000000000000..74c6ccf4aebd
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LanguageCountryInfo.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XLocaleData::getLanguageCountryInfo()</member>.
+
+ @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
diff --git a/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl b/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl
new file mode 100644
index 000000000000..fb58e57fc9d1
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakHyphenationOptions.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_LineBreakHyphenationOptions_idl__
+#define __com_sun_star_i18n_LineBreakHyphenationOptions_idl__
+
+#ifndef __com_sun_star_linguistic2_XHyphenator_idl__
+#include <com/sun/star/linguistic2/XHyphenator.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+/** Hyphenation options passed in calls to <member>XBreakIterator::getLineBreak()</member>.
+ */
+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
diff --git a/offapi/com/sun/star/i18n/LineBreakResults.idl b/offapi/com/sun/star/i18n/LineBreakResults.idl
new file mode 100644
index 000000000000..00b34baeee68
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakResults.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_LineBreakResults_idl__
+#define __com_sun_star_i18n_LineBreakResults_idl__
+
+#ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__
+#include <com/sun/star/linguistic2/XHyphenatedWord.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+/** Results of method <member>XBreakIterator::getLineBreak()</member>.
+ */
+published struct LineBreakResults
+{
+ /// Type of line break, see <type>BreakType</type>.
+ short breakType;
+
+ /// Position of the calculated line break.
+ long breakIndex;
+
+ /// Return value of the hyphenator.
+ ::com::sun::star::linguistic2::XHyphenatedWord rHyphenatedWord;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/LineBreakUserOptions.idl b/offapi/com/sun/star/i18n/LineBreakUserOptions.idl
new file mode 100644
index 000000000000..549a3ccba89e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LineBreakUserOptions.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XBreakIterator::getLineBreak()</member>.
+ */
+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
diff --git a/offapi/com/sun/star/i18n/LocaleCalendar.idl b/offapi/com/sun/star/i18n/LocaleCalendar.idl
new file mode 100644
index 000000000000..e34d88731378
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleCalendar.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_LocaleCalendar_idl__
+#define __com_sun_star_i18n_LocaleCalendar_idl__
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+#include <com/sun/star/i18n/XCalendar.idl>
+#include <com/sun/star/i18n/XExtendedCalendar.idl>
+
+//============================================================================
+
+module com { module sun { module star { module i18n {
+
+//============================================================================
+
+/// Access a locale specific calendar.
+published service LocaleCalendar
+{
+ interface com::sun::star::i18n::XCalendar;
+ interface com::sun::star::lang::XServiceInfo;
+
+ [optional] interface com::sun::star::i18n::XExtendedCalendar;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/LocaleData.idl b/offapi/com/sun/star/i18n/LocaleData.idl
new file mode 100644
index 000000000000..69846c11948f
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleData.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_LocaleData_idl__
+#define __com_sun_star_i18n_LocaleData_idl__
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+#include <com/sun/star/i18n/XLocaleData2.idl>
+
+//============================================================================
+
+module com { module sun { module star { module i18n {
+
+//============================================================================
+
+/// Access locale specific data.
+published service LocaleData
+{
+ interface com::sun::star::i18n::XLocaleData;
+ interface com::sun::star::lang::XServiceInfo;
+
+ [optional] interface com::sun::star::i18n::XLocaleData2;
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/LocaleDataItem.idl b/offapi/com/sun/star/i18n/LocaleDataItem.idl
new file mode 100644
index 000000000000..d628c0a40196
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleDataItem.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/i18n/LocaleItem.idl b/offapi/com/sun/star/i18n/LocaleItem.idl
new file mode 100644
index 000000000000..ef2a19b4bc27
--- /dev/null
+++ b/offapi/com/sun/star/i18n/LocaleItem.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>LocaleDataItem</type> 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;
+
+ //! New values may be inserted here if locale data provides them.
+ //! Do not forget to adjust the COUNT value.
+
+ /// count of items available
+ const short COUNT = 17;
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/i18n/Months.idl b/offapi/com/sun/star/i18n/Months.idl
new file mode 100644
index 000000000000..8ea0c03b25d0
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Months.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XCalendar::getDisplayName()</member>.
+ */
+
+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
diff --git a/offapi/com/sun/star/i18n/MultipleCharsOutputException.idl b/offapi/com/sun/star/i18n/MultipleCharsOutputException.idl
new file mode 100644
index 000000000000..f0dcd01ee0f9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/MultipleCharsOutputException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_MultipleCharsOutputException_idl__
+#define __com_sun_star_i18n_MultipleCharsOutputException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
+ <method>XExtendedTransliteration::transliterateChar2Char()</method>
+ </p>
+
+ @since OOo 1.1.2
+ */
+published exception MultipleCharsOutputException : ::com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+}; }; }; };
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/i18n/NativeNumberMode.idl b/offapi/com/sun/star/i18n/NativeNumberMode.idl
new file mode 100644
index 000000000000..c3294973739c
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberMode.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XExtendedCalendar::getDisplayString()</member> and the
+ <type>XNativeNumberSupplier</type> methods.
+
+ <p> The constants have different meanings if used with different
+ locales. However, <const>NATNUM1</const> 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/>
+ Thai: Thai characters <br/>
+ Arabic: Indic characters <br/>
+ Indic: Indic 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]
+ */
+ 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;
+
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/NativeNumberSupplier.idl b/offapi/com/sun/star/i18n/NativeNumberSupplier.idl
new file mode 100644
index 000000000000..2f0f6fda1dc8
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberSupplier.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_NativeNumberSupplier_idl__
+#define __com_sun_star_i18n_NativeNumberSupplier_idl__
+
+#include <com/sun/star/lang/XServiceInfo.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
+{
+ interface com::sun::star::i18n::XNativeNumberSupplier;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl
new file mode 100644
index 000000000000..efc7e663cd4b
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NativeNumberXmlAttributes.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XNativeNumberSupplier::convertToXmlAttributes()</member> and
+ <member>XNativeNumberSupplier::convertFromXmlAttributes()</member>
+ </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
diff --git a/offapi/com/sun/star/i18n/NumberFormatCode.idl b/offapi/com/sun/star/i18n/NumberFormatCode.idl
new file mode 100644
index 000000000000..ca0039db5ce2
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatCode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XNumberFormatCode</type> methods.
+ */
+
+published struct NumberFormatCode
+{
+ /// One of <type>KNumberFormatType</type> values.
+ short Type;
+ /// One of <type>KNumberFormatUsage</type> 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 <type>NumberFormatIndex</type>.
+ short Index;
+ /// If this format is the default format of the <em>Usage</em> group.
+ boolean Default;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/NumberFormatIndex.idl b/offapi/com/sun/star/i18n/NumberFormatIndex.idl
new file mode 100644
index 000000000000..38163215d054
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatIndex.idl
@@ -0,0 +1,280 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XNumberFormatCode::getFormatCode()</member>
+ or
+ <member scope="::com::sun::star::util">XNumberFormatTypes::getFormatIndex()</member>.
+
+ <p> Each locale can support up to about 5000 arbitrary format
+ codes. But for backward compatiblity 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 <member>FormatElement::formatIndex</member>).
+
+ 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 (Deutsche Industrie Norm) </li>
+ <li> EN 28601 (European Norm) </li>
+ <li> ISO 8601 (International Standards Organisation) </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
+ const short NUMBER_STANDARD = NUMBER_START;
+ /// 0 <br/>Integer number
+ const short NUMBER_INT = NUMBER_START+1;
+ /// 0.00 <br/>Decimal number with 2 decimals
+ const short NUMBER_DEC2 = NUMBER_START+2;
+ /// #,##0 <br/>Integer number with group separator
+ const short NUMBER_1000INT = NUMBER_START+3;
+ /// #,##0.00 <br/>Decimal number with group separator
+ const short NUMBER_1000DEC2 = NUMBER_START+4;
+ /// #,##0.00 <br/> In SO5/Win this format was retrieved from the Regional Settings
+ 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
+ const short SCIENTIFIC_000E000 = SCIENTIFIC_START;
+ /// 0.00E+00 <br/>Number in scientific notation with exponent in 2 digit placeholders
+ 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
+ const short PERCENT_INT = PERCENT_START;
+ /// 0.00% <br/>Percentage format, rounded to 2 decimals
+ 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
+ const short FRACTION_1 = FRACTION_START;
+ /// # ??/?? <br/>Number with decimal in fraction in 2 digit placeholders
+ 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
+ const short CURRENCY_1000INT = CURRENCY_START;
+ /// #,##0.00 DM <br/>Decimal currency format with group separator
+ const short CURRENCY_1000DEC2 = CURRENCY_START+1;
+ /// #,##0 DM <br/>Integer currency format with negative in red
+ const short CURRENCY_1000INT_RED = CURRENCY_START+2;
+ /// #,##0.00 DM <br/>Decimal currency format with negative in red
+ const short CURRENCY_1000DEC2_RED = CURRENCY_START+3;
+ /// #,##0.00 DEM <br/>Currency in ISO-4217 abbreviation format
+ const short CURRENCY_1000DEC2_CCC = CURRENCY_START+4;
+ /// #,##0.-- DM <br/>Currency format with dash representing 0 in decimals
+ 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>
+ const short DATE_SYSTEM_SHORT = DATE_START;
+ /// Wednesday, 8. October 1997 <br/> see also DATE_SYSTEM_... <a href="#SYSTEM">explanation</a>
+ const short DATE_SYSTEM_LONG = DATE_START+1;
+ /// 08.10.97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ 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. */
+ const short DATE_SYS_DDMMYYYY = DATE_START+3;
+ /// 8. Oct 97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_DMMMYY = DATE_START+4;
+ /// 8. Oct 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_DMMMYYYY = DATE_START+5;
+ /// 8. Oct. 1997 <br/> DIN/EN
+ const short DATE_DIN_DMMMYYYY = DATE_START+6;
+ /// 8. October 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_DMMMMYYYY = DATE_START+7;
+ /// 8. October 1997 <br/> DIN/EN
+ const short DATE_DIN_DMMMMYYYY = DATE_START+8;
+ /// Wed, 8. Oct 97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_NNDMMMYY = DATE_START+9;
+ /// Wed 08.Oct 97 <br/> see also DATE_DEF_... <a href="#DEF">explanation</a>
+ const short DATE_DEF_NNDDMMMYY = DATE_START+10;
+ /// Wed, 8. October 1997 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_NNDMMMMYYYY = DATE_START+11;
+ /// Wednesday, 8. October 1997
+ const short DATE_SYS_NNNNDMMMMYYYY = DATE_START+12;
+ /// 10-08 <br/> DIN/EN
+ const short DATE_DIN_MMDD = DATE_START+13;
+ /// 97-10-08 <br/> DIN/EN/ISO
+ const short DATE_DIN_YYMMDD = DATE_START+14;
+ /// 1997-10-08 <br/> DIN/EN/ISO
+ const short DATE_DIN_YYYYMMDD = DATE_START+15;
+ /// 10.97 <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_MMYY = DATE_START+16;
+ /// 08.Oct <br/> see also DATE_SYS_... <a href="#SYS">explanation</a>
+ const short DATE_SYS_DDMMM = DATE_START+17;
+ /// October
+ const short DATE_MMMM = DATE_START+18;
+ /// 4th quarter 97
+ const short DATE_QQJJ = DATE_START+19;
+ /// week of year
+ 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
+ const short TIME_HHMM = TIME_START;
+ /// HH:MM:SS <br/>Time format with hour, minute and second
+ const short TIME_HHMMSS = TIME_START+1;
+ /// HH:MM AM/PM <br/>Time format with hour, minute and morning/afternoon notation
+ const short TIME_HHMMAMPM = TIME_START+2;
+ /// HH:MM:SS AM/PM <br/>Time format with hour, minute, second and morning/afternoon notation
+ const short TIME_HHMMSSAMPM = TIME_START+3;
+ /// [HH]:MM:SS <br/>Time format with amount of hours
+ const short TIME_HH_MMSS = TIME_START+4;
+ /// MM:SS,00 <br/>Time format with second in fraction
+ const short TIME_MMSS00 = TIME_START+5;
+ /// [HH]:MM:SS,00 <br/>Time format with amount of hours and seconds with fraction
+ 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
+ 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. */
+ 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 <member scope="com::sun::star::util">XNumberFormatTypes::getFormatIndex()</member>
+ instead of <member>XNumberFormatCode::getFormatCode()</member>.
+ */
+ 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 <member scope="com::sun::star::util">XNumberFormatTypes::getFormatIndex()</member>
+ instead of <member>XNumberFormatCode::getFormatCode()</member>
+ */
+ const short TEXT = BOOLEAN+1;
+
+ /// count of built-in format codes.
+ const short INDEX_TABLE_ENTRIES = TEXT+1;
+};
+
+
+//=============================================================================
+}; }; }; };
+#endif
+
diff --git a/offapi/com/sun/star/i18n/NumberFormatMapper.idl b/offapi/com/sun/star/i18n/NumberFormatMapper.idl
new file mode 100644
index 000000000000..043e9450f42e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/NumberFormatMapper.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_NumberFormatMapper_idl__
+#define __com_sun_star_i18n_NumberFormatMapper_idl__
+
+#include <com/sun/star/i18n/XNumberFormatCode.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+/** Access locale data number format codes to use with the
+ number formatter
+*/
+
+published service NumberFormatMapper
+{
+ interface com::sun::star::i18n::XNumberFormatCode;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/i18n/OrdinalSuffix.idl b/offapi/com/sun/star/i18n/OrdinalSuffix.idl
new file mode 100644
index 000000000000..500ef74ccffc
--- /dev/null
+++ b/offapi/com/sun/star/i18n/OrdinalSuffix.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_com_sun_star_i18n_OrdinalSuffix_idl
+#define INCLUDED_com_sun_star_i18n_OrdinalSuffix_idl
+
+#include <com/sun/star/lang/XServiceInfo.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 OOo2.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
+{
+ interface com::sun::star::i18n::XOrdinalSuffix;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/ParseResult.idl b/offapi/com/sun/star/i18n/ParseResult.idl
new file mode 100644
index 000000000000..e50ac2053a07
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ParseResult.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::parseAnyToken()</member> and
+ <member>XCharacterClassification::parsePredefinedToken()</member>.
+ */
+
+published struct ParseResult
+{
+ /** Count of ignored leading whitespace, in code points, not
+ characters. */
+ long LeadingWhiteSpace;
+
+ /** Code point index of first unprocessed character. */
+ long EndPos;
+
+ /** Number of characters (not code points) of the parsed token, not
+ including leading whitespace. */
+ long CharLen;
+
+ /** Value of token in case of numeric. */
+ double Value;
+
+ /** <type>KParseType</type> token type like
+ <const>KParseType::IDENTNAME</const>. */
+ long TokenType;
+
+ /** <type>KParseTokens</type> flags of first character of actual
+ token matched. If <em>TokenType</em> is a
+ <const>KParseType::SINGLE_QUOTE_NAME</const> or a
+ <const>KParseType::DOUBLE_QUOTE_STRING</const> the first
+ character is the first character inside the quotes, not the
+ quote itself. */
+ long StartFlags;
+
+ /** <type>KParseTokens</type> 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
diff --git a/offapi/com/sun/star/i18n/ScriptDirection.idl b/offapi/com/sun/star/i18n/ScriptDirection.idl
new file mode 100644
index 000000000000..97437d3f3b3a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ScriptDirection.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>XScriptTypeDetector</type> 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
diff --git a/offapi/com/sun/star/i18n/ScriptType.idl b/offapi/com/sun/star/i18n/ScriptType.idl
new file mode 100644
index 000000000000..f50ee82347f1
--- /dev/null
+++ b/offapi/com/sun/star/i18n/ScriptType.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XBreakIterator::beginOfScript()</member>,
+ <member>XBreakIterator::endOfScript()</member>,
+ <member>XBreakIterator::nextScript()</member>,
+ <member>XBreakIterator::previousScript()</member> </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
diff --git a/offapi/com/sun/star/i18n/TextConversion.idl b/offapi/com/sun/star/i18n/TextConversion.idl
new file mode 100644
index 000000000000..42fcb192294e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversion.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_TextConversion_idl__
+#define __com_sun_star_i18n_TextConversion_idl__
+
+#ifndef __com_sun_star_i18n_XTextConversion_idl__
+#include <com/sun/star/i18n/XTextConversion.idl>
+#endif
+
+//=============================================================================
+
+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 instatiated.
+
+ @since OOo 1.1.2
+*/
+published service TextConversion
+{
+ /** to access the text conversion functionality.
+ */
+ interface ::com::sun::star::i18n::XTextConversion;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/TextConversionOption.idl b/offapi/com/sun/star/i18n/TextConversionOption.idl
new file mode 100644
index 000000000000..8f70cfb08bac
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionOption.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XTextConversion</type>.
+
+ <p>These text conversion options are usuall selected by end users.
+ The options can be combined and may be related to
+ <type>TextConversionType</type>. </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 Traditionary Chinese conversion
+
+ @since OOo 2.0.0
+ */
+ const long USE_CHARACTER_VARIANTS = 2; // (1 << 1)
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/TextConversionResult.idl b/offapi/com/sun/star/i18n/TextConversionResult.idl
new file mode 100644
index 000000000000..226687ec3d67
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionResult.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XTextConversionResult_idl__
+#define __com_sun_star_i18n_XTextConversionResult_idl__
+
+
+#ifndef __com_sun_star_i18n_Boundary_idl__
+#include <com/sun/star/i18n/Boundary.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+/** Text conversion result to be used with <type>XTextConversion</type>.
+
+ @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
diff --git a/offapi/com/sun/star/i18n/TextConversionType.idl b/offapi/com/sun/star/i18n/TextConversionType.idl
new file mode 100644
index 000000000000..f7c29404aa0c
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TextConversionType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_TextConversionType_idl__
+#define __com_sun_star_i18n_TextConversionType_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+//--------------------------------------------------------------------------
+/** These constansts specifiy the conversion type to be used with
+ <type>XTextConversion</type>.
+
+ @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
diff --git a/offapi/com/sun/star/i18n/Transliteration.idl b/offapi/com/sun/star/i18n/Transliteration.idl
new file mode 100644
index 000000000000..2448a458115d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Transliteration.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_Transliteration_idl__
+#define __com_sun_star_i18n_Transliteration_idl__
+
+#include <com/sun/star/lang/XServiceInfo.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
+{
+ interface com::sun::star::i18n::XTransliteration;
+ interface com::sun::star::lang::XServiceInfo;
+
+ [optional] interface com::sun::star::i18n::XExtendedTransliteration;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/TransliterationModules.idl b/offapi/com/sun/star/i18n/TransliterationModules.idl
new file mode 100644
index 000000000000..1ac752d52fd8
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModules.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 to use with
+ <member>XTransliteration::loadModule()</member>
+ */
+
+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 Hiragnan 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
+ // not used yet = 0x00000800,
+ /// 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
diff --git a/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl b/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl
new file mode 100644
index 000000000000..17cd0d6a7ba6
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TransliterationModulesExtra.idl,v $
+ * $Revision: 1.0 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XTransliteration::loadModule()</member>
+
+ The values used in this group need to be different from the ones in
+ <type>TransliterationModules</type> and <type>TransliterationModulesNew</type>!
+ */
+
+
+// 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;
+
+ //-------------------------------------------------------------------------
+
+ const long END_OF_MODULE = 0;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/TransliterationModulesNew.idl b/offapi/com/sun/star/i18n/TransliterationModulesNew.idl
new file mode 100644
index 000000000000..796cf44f5b6e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationModulesNew.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XTransliteration::loadModuleNew()</member>
+ */
+
+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 Hiragnan 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 (sepllout) to ascii number string
+ TextToNumLower_zh_CN = 47,
+ /// Transliterate a Simplified Chinese upper case number string (sepllout) to ascii number string
+ TextToNumUpper_zh_CN = 48,
+ /// Transliterate a Traditional Chinese lower case number string (sepllout) to ascii number string
+ TextToNumLower_zh_TW = 49,
+ /// Transliterate a Traditional Chinese upper case number string (sepllout) to ascii number string
+ TextToNumUpper_zh_TW = 50,
+ /// Transliterate a Korean formal Hangul number string (sepllout) to ascii number string
+ TextToNumFormalHangul_ko = 51,
+ /// Transliterate a Korean formal Hanja lower case number string (sepllout) to ascii number string
+ TextToNumFormalLower_ko = 52,
+ /// Transliterate a Korean formal Hanja upper case number string (sepllout) to ascii number string
+ TextToNumFormalUpper_ko = 53,
+ /// Transliterate a Korean informal Hangul number string (sepllout) to ascii number string
+ TextToNumInformalHangul_ko = 54,
+ /// Transliterate a Korean informal Hanja lower case number string (sepllout) to ascii number string
+ TextToNumInformalLower_ko = 55,
+ /// Transliterate a Korean informal Hanja upper case number string (sepllout) 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
diff --git a/offapi/com/sun/star/i18n/TransliterationType.idl b/offapi/com/sun/star/i18n/TransliterationType.idl
new file mode 100644
index 000000000000..4a7b8223ab61
--- /dev/null
+++ b/offapi/com/sun/star/i18n/TransliterationType.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XTransliteration::getType()</member> and
+ <member>XTransliteration::getAvailableModules()</member> methods.
+
+ <p> Non-IGNORE type modules provide
+ <member>XTransliteration::transliterate()</member>. <br/>
+ IGNORE type modules provide
+ <member>XTransliteration::equals()</member> and
+ <member>XTransliteration::transliterateRange()</member>. </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
+ tranliterates 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 transliterator 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
diff --git a/offapi/com/sun/star/i18n/UnicodeScript.idl b/offapi/com/sun/star/i18n/UnicodeScript.idl
new file mode 100644
index 000000000000..d69d08a60939
--- /dev/null
+++ b/offapi/com/sun/star/i18n/UnicodeScript.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::getScript()</member>
+ */
+
+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,
+ k_CJKUnifiedIdeographsExtensionA,
+ kCJKUnifiedIdeograph,
+ kYiSyllables,
+ kYiRadicals,
+ kHangulSyllable,
+ kHighSurrogate,
+ kHighPrivateUseSurrogate,
+ kLowSurrogate,
+ kPrivateUse,
+ kCJKCompatibilityIdeograph,
+ kAlphabeticPresentation,
+ kArabicPresentationA,
+ kCombiningHalfMark,
+ kCJKCompatibilityForm,
+ kSmallFormVariant,
+ kArabicPresentationB,
+ kNoScript,
+ kHalfwidthFullwidthForm,
+ kScriptCount
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/UnicodeType.idl b/offapi/com/sun/star/i18n/UnicodeType.idl
new file mode 100644
index 000000000000..b9e37a8cd034
--- /dev/null
+++ b/offapi/com/sun/star/i18n/UnicodeType.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XCharacterClassification::getType()</member>
+ */
+
+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
diff --git a/offapi/com/sun/star/i18n/Weekdays.idl b/offapi/com/sun/star/i18n/Weekdays.idl
new file mode 100644
index 000000000000..2d17715d56f9
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Weekdays.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XCalendar::getFirstDayOfWeek()</member>,
+ <member>XCalendar::setFirstDayOfWeek()</member> and
+ <member>XCalendar::getDisplayName()</member> </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
diff --git a/offapi/com/sun/star/i18n/WordType.idl b/offapi/com/sun/star/i18n/WordType.idl
new file mode 100644
index 000000000000..44108d9f48ca
--- /dev/null
+++ b/offapi/com/sun/star/i18n/WordType.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>XBreakIterator::nextWord()</member>,
+ <member>XBreakIterator::previousWord()</member>,
+ <member>XBreakIterator::getWordBoundary()</member>,
+ <member>XBreakIterator::getWordType()</member>,
+ <member>XBreakIterator::isBeginWord()</member>,
+ <member>XBreakIterator::isEndWord()</member> </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
diff --git a/offapi/com/sun/star/i18n/XBreakIterator.idl b/offapi/com/sun/star/i18n/XBreakIterator.idl
new file mode 100644
index 000000000000..b1bf01526548
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XBreakIterator.idl
@@ -0,0 +1,374 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_XBreakIterator_idl__
+#define __com_sun_star_i18n_XBreakIterator_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_LineBreakUserOptions_idl__
+#include <com/sun/star/i18n/LineBreakUserOptions.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_LineBreakHyphenationOptions_idl__
+#include <com/sun/star/i18n/LineBreakHyphenationOptions.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_LineBreakResults_idl__
+#include <com/sun/star/i18n/LineBreakResults.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_Boundary_idl__
+#include <com/sun/star/i18n/Boundary.idl>
+#endif
+
+//============================================================================
+
+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.
+ <type>CharacterIteratorMode</type> can be cell based or
+ character based. A cell is made of more than one character.
+
+ @param nCount
+ Number of characters to traverse, it should not be less than 0.
+ If you want to traverse in the opposite direction use
+ <member>XBreakIterator::previousCharacters()</member> instead.
+ */
+ 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.
+ <type>CharacterIteratorMode</type> can be cell based or
+ character based. A cell is made of more than one character.
+
+ @param nCount
+ Number of characters to traverse, it should not be less than 0.
+ If you want to traverse in the opposite direction use
+ <member>XBreakIterator::nextCharacters()</member> instead.
+ */
+ 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 nWordType
+ One of <type>WordType</type>, specifies the type of
+ travelling.
+
+ @returns
+ The <type>Boundary</type> 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 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
+ <member>Boundary::endPos</member> and the position after the
+ Asian character (i.e. the space character) in
+ <member>Boundary::startPos</member>. 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 <type>WordType</type>, specifies the type of
+ travelling.
+
+ @returns
+ The <type>Boundary</type> 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 nWordType
+ One of <type>WordType</type>.
+
+ @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 <type>WordType</type> of the word that starts at
+ position <em>nPos</em>.
+
+ <p> This method is mis-defined, since <type>WordType</type>
+ is not an attribute of a word, but a way to break words,
+ like excluding or including tail spaces for spellchecker
+ 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.
+
+ @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.
+
+ @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 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
+ <type>LineBreakResults</type> 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 <type>LineBreakResults</type> contain the break
+ position of the line, <type>BreakType</type> and
+ <type scope="com::sun::star::linguistic2">XHyphenatedWord</type>
+ */
+ 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 nScriptType
+ One of <type>ScriptType</type>.
+
+ @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 nScriptType
+ One of <type>ScriptType</type>.
+
+ @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 nScriptType
+ One of <type>ScriptType</type>.
+
+ @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 nScriptType
+ One of <type>ScriptType</type>.
+
+ @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>.
+
+ @returns
+ One of <type>ScriptType</type>.
+ */
+ short getScriptType( [in] string aText, [in] long nPos);
+
+ //------------------------------------------------------------------------
+ /** Traverses in Text from <em>nStartPos</em> to the beginning of
+ the specified character type.
+
+ @param nCharType
+ One of <type>CharType</type>
+
+ @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 nCharType
+ One of <type>CharType</type>
+
+ @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 nCharType
+ One of <type>CharType</type>
+
+ @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 nCharType
+ One of <type>CharType</type>
+
+ @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
diff --git a/offapi/com/sun/star/i18n/XCalendar.idl b/offapi/com/sun/star/i18n/XCalendar.idl
new file mode 100644
index 000000000000..04fd12bf73e4
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCalendar.idl
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Calendar</type>.
+ 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 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 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 <type>CalendarFieldIndex</type> 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 <type>CalendarFieldIndex</type> values.
+ */
+ short getValue( [in] short nCalendarFieldIndex );
+
+ //------------------------------------------------------------------------
+ /**
+ Verify if the date fields set by a combination of
+ <member>XCalendar::setValue()</member> 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 <type>CalendarFieldIndex</type> values.
+
+ @param nAmount
+ The amount to add.
+ */
+ void addValue( [in] short nCalendarFieldIndex, [in] long nAmount );
+
+ //------------------------------------------------------------------------
+ /** returns the first day of a week, one of <type>Weekdays</type>
+ values.
+ */
+ short getFirstDayOfWeek();
+
+ //------------------------------------------------------------------------
+ /** Set the first day of a week, one of <type>Weekdays</type>
+ 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 <type>CalendarItem</type> describing the
+ month names.
+ */
+ sequence< CalendarItem > getMonths();
+
+ //------------------------------------------------------------------------
+ /** returns a sequence of <type>CalendarItem</type> describing the
+ day names.
+ */
+ sequence< CalendarItem > getDays();
+
+ //------------------------------------------------------------------------
+ /**
+ Returns a string (name to display) matching the given parameters.
+
+ @param nCalendarDisplayIndex
+ One of <type>CalendarDisplayIndex</type> values
+
+ @param nIdx
+ A value matching the <em>nCalendarDisplayIndex</em> type:
+ <dl>
+ <dt><const>CalendarDisplayIndex::AM_PM</const></dt>
+ <dd>one of <type>AmPmValue</type></dd>
+ <dt><const>CalendarDisplayIndex::DAY</const></dt>
+ <dd>one of <type>Weekdays</type> or a number used as
+ an offset into the corresponding
+ <member>Calendar::Days</member> sequence</dd>
+ <dt><const>CalendarDisplayIndex::MONTH</const></dt>
+ <dd>one of <type>Months</type> or a number used as
+ an offset into the corresponding
+ <member>Calendar::Months</member> sequence</dd>
+ <dt><const>CalendarDisplayIndex::YEAR</const></dt>
+ <dd>not used, empty string returned</dd>
+ <dt><const>CalendarDisplayIndex::ERA</const></dt>
+ <dd>a number used as an offset into the
+ corresponding <member>Calendar:Eras</member>
+ sequence</dd>
+ </dl>
+
+ <p> The value should be obtained by a previous call to
+ <member>XCalendar::getValue()</member> with an appropriate
+ <type>CalendarFieldIndex</type> argument. </p>
+
+ @param nNameType
+ A value indicating whether to return the abbreviated or the
+ full name.
+ <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>
+
+ <p> This parameter is not used if the
+ <em>nCalendarDisplayIndex</em> argument equals
+ <const>CalendarDisplayIndex::AM_PM</const> </p>
+ */
+
+ string getDisplayName( [in] short nCalendarDisplayIndex,
+ [in] short nIdx,
+ [in] short nNameType );
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XCharacterClassification.idl b/offapi/com/sun/star/i18n/XCharacterClassification.idl
new file mode 100644
index 000000000000..5b32c032b90a
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCharacterClassification.idl
@@ -0,0 +1,286 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XCharacterClassification_idl__
+#define __com_sun_star_i18n_XCharacterClassification_idl__
+
+#include <com/sun/star/i18n/ParseResult.idl>
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//============================================================================
+
+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 <type>UnicodeType</type> of character at position <em>nPos</em>.
+ short getType( [in] string aText, [in] long nPos );
+
+ //------------------------------------------------------------------------
+ /** Get <type>DirectionProperty</type> of character at position
+ <em>nPos</em>.
+ */
+ short getCharacterDirection( [in] string aText, [in] long nPos );
+
+ //------------------------------------------------------------------------
+ /// Get <type>UnicodeScript</type> of character at position <em>nPos</em>.
+ short getScript( [in] string aText, [in] long nPos );
+
+ //------------------------------------------------------------------------
+ /// Get <type>KCharacterType</type> of character at position <em>nPos</em>.
+ long getCharacterType( [in] string aText, [in] long nPos,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ //------------------------------------------------------------------------
+ /** Get accumulated <type>KCharacterType</type>s 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
+ <type>KParseTokens</type> 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 <type>ParseResult</type> structure. If no
+ unambigous token could be parsed,
+ <member>ParseResult::TokenType</member> 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
+ <const>KParseType::ASC_NUM</const> (or
+ <const>KParseType::UNI_NUM</const>) and
+ <const>KParseType::IDENTNAME</const> are set in
+ <member>ParseResult::TokenType</member>.
+
+ @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 <type>KParseTokens</type> 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 <type>KParseTokens</type> 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.
+
+ @example:C++
+ <listing>
+ 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
+ String 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 );
+ </listing>
+ */
+
+ 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
+ <member>parseAnyToken</member>. If the actual token does not
+ match the passed <em>nTokenType</em> a
+ <member>ParseResult::TokenType</member> set to <b>0</b> (zero)
+ is returned. </p>
+
+ @param nTokenType
+ One or more of the <type>KParseType</type> constants.
+
+ @example:C++
+ <listing>
+ // 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.
+ String aEmptyString;
+ // Continuing characters may be any alphanumeric or underscore.
+ sal_Int32 nContFlags = nStartFlags;
+ // Additionally, continuing characters may contain a blank.
+ String aContChars( RTL_CONSTASCII_USTRINGPARAM(" ") );
+ // 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();
+ </listing>
+ */
+
+ 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
diff --git a/offapi/com/sun/star/i18n/XCollator.idl b/offapi/com/sun/star/i18n/XCollator.idl
new file mode 100644
index 000000000000..72d32886c299
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCollator.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>CollatorOptions</type>.
+
+ @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 <type>CollatorOptions</type>.
+
+ @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 <member>XCollator::listCollatorOptions()</member>.
+ */
+ 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
diff --git a/offapi/com/sun/star/i18n/XExtendedCalendar.idl b/offapi/com/sun/star/i18n/XExtendedCalendar.idl
new file mode 100644
index 000000000000..b8b6d9ed9936
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedCalendar.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="::com::sun::star::i18n">XCalendar</type> 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 retuns 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 <type>CalendarDisplayCode</type>
+
+ @param nNativeNumberMode
+ One of <type>NativeNumberMode</type>. <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
diff --git a/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl b/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl
new file mode 100644
index 000000000000..0e03605669fd
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedIndexEntrySupplier.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="::com::sun::star::i18n">XIndexEntrySupplier</type> 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 languge.
+ <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 aIndexAlgorithm
+ Index algorithm to be loaded.
+
+ @param nCollatorOptions
+ Sorting option of <type
+ scope="::com::sun::star::i18n">CollatorOptions</type> 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
diff --git a/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl b/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl
new file mode 100644
index 000000000000..50ed96871610
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedInputSequenceChecker.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XExtendedInputCSequencehecker_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
+ <type scope="::com::sun::star::i18n">XInputSequenceChecker</type> 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 nInputCheckMode
+ One of <type>InputSequenceCheckMode</type> constants.
+ */
+ long correctInputSequence( [inout] string aText, [in] long nPos,
+ [in] char cInputChar, [in] short nInputCheckMode );
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XExtendedTextConversion.idl b/offapi/com/sun/star/i18n/XExtendedTextConversion.idl
new file mode 100644
index 000000000000..9c6c5ee43fce
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedTextConversion.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="::com::sun::star::i18n">XTextConversion</type> and provides
+ a new conversion function containing position map (offset) between original
+ and conveted string. </p>
+
+ @since OOo 2.0
+ */
+published interface XExtendedTextConversion : ::com::sun::star::i18n::XTextConversion
+{
+ //-------------------------------------------------------------------------
+ /**
+ The functionality of this method is same as
+ <member scope="::com::sun::star::i18n">XTextConversion::getConversion()</member>,
+ except an additional output parameter rOffset.
+
+ @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
diff --git a/offapi/com/sun/star/i18n/XExtendedTransliteration.idl b/offapi/com/sun/star/i18n/XExtendedTransliteration.idl
new file mode 100644
index 000000000000..d7c852e772ea
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XExtendedTransliteration.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XExtendedTransliteration_idl__
+#define __com_sun_star_i18n_XExtendedTransliteration_idl__
+
+#include <com/sun/star/i18n/XTransliteration.idl>
+#include <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
+ <type scope="::com::sun::star::i18n">XTransliteration</type> 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 neded. </p>
+
+ @since OOo 1.1.2
+ */
+published interface XExtendedTransliteration : ::com::sun::star::i18n::XTransliteration
+{
+ //------------------------------------------------------------------------
+ /** Transliterate a substring. The functionality is the same as
+ <member scope="::com::sun::star::i18n">XTransliteration::transliterate()</member>
+ but omits the offset prameter to improve performance.
+
+ @param aStr
+ The input string.
+
+ @param nStartPos
+ Start position within aStr from where transliteration starts.
+
+ @param nCount
+ Number of codepoints 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
+ <method>XTransliteration::transliterateChar2String()</method> to
+ obtain the correct result. </p>
+
+ @param cChar
+ The input character.
+ */
+ char transliterateChar2Char( [in] char cChar )
+ raises( MultipleCharsOutputException );
+
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XForbiddenCharacters.idl b/offapi/com/sun/star/i18n/XForbiddenCharacters.idl
new file mode 100644
index 000000000000..6b107c02bec5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XForbiddenCharacters.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
+#define __com_sun_star_i18n_XForbiddenCharacters_idl__
+
+#include <com/sun/star/i18n/ForbiddenCharacters.idl>
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/i18n/XIndexEntrySupplier.idl b/offapi/com/sun/star/i18n/XIndexEntrySupplier.idl
new file mode 100644
index 000000000000..14244be6264f
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XIndexEntrySupplier.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_i18n_XIndexEntrySupplier_idl__
+#define __com_sun_star_i18n_XIndexEntrySupplier_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//============================================================================
+
+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 <type
+ scope="com::sun::star::lang">Locale</type> 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
+ <type scope="com::sun::star::lang">Locale</type>.
+
+ <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
+
diff --git a/offapi/com/sun/star/i18n/XInputSequenceChecker.idl b/offapi/com/sun/star/i18n/XInputSequenceChecker.idl
new file mode 100644
index 000000000000..74380bb73fe5
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XInputSequenceChecker.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 nInputCheckMode
+ One of <type>InputSequenceCheckMode</type> constants.
+ */
+ boolean checkInputSequence( [in] string aText, [in] long nPos,
+ [in] char cInputChar, [in] short nInputCheckMode );
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XLocaleData.idl b/offapi/com/sun/star/i18n/XLocaleData.idl
new file mode 100644
index 000000000000..d71a2a937c82
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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="http://l10n.openoffice.org/source/browse/l10n/i18npool/source/localedata/data/locale.dtd">
+ the DTD file </a> (or the <a
+ href="http://l10n.openoffice.org/source/browse/l10n/i18npool/source/localedata_ascii/Attic/locale.dtd">
+ old Attic version </a> for OOo1.0/SO6.0). </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 charatcers 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
diff --git a/offapi/com/sun/star/i18n/XLocaleData2.idl b/offapi/com/sun/star/i18n/XLocaleData2.idl
new file mode 100644
index 000000000000..9b06ef159e55
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData2.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="::com::sun::star::i18n">XLocaleData</type> and provides
+ an additional method to return a sequence of all
+ <type scope="::com::sun::star::i18n">Currency2</type> 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
diff --git a/offapi/com/sun/star/i18n/XNativeNumberSupplier.idl b/offapi/com/sun/star/i18n/XNativeNumberSupplier.idl
new file mode 100644
index 000000000000..a11ad7a9c84c
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XNativeNumberSupplier.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XNativeNumberSupplier_idl__
+#define __com_sun_star_i18n_XNativeNumberSupplier_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <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 nNativeNumberMode
+ One of <type>NativeNumberMode</type> values.
+ */
+
+ 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 <type>NativeNumberMode</type> values.
+ */
+
+ 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 <type>NativeNumberMode</type> values.
+ */
+
+ NativeNumberXmlAttributes convertToXmlAttributes(
+ [in] ::com::sun::star::lang::Locale aLocale,
+ [in] short nNativeNumberMode );
+
+ //-------------------------------------------------------------------------
+ /** Convert XML attributes to a NatNum value.
+
+ @returns
+ One of <type>NativeNumberMode</type>
+ */
+
+ short convertFromXmlAttributes( [in] NativeNumberXmlAttributes aAttr );
+
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XNumberFormatCode.idl b/offapi/com/sun/star/i18n/XNumberFormatCode.idl
new file mode 100644
index 000000000000..662657ff3ee4
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XNumberFormatCode.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XNumberFormatCode_idl__
+#define __com_sun_star_i18n_XNumberFormatCode_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#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 <type>KNumberFormatType</type>
+
+ @param nFormatUsage
+ one of <type>KNumberFormatUsage</type> values
+ */
+ 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 <type>NumberFormatIndex</type> values
+ */
+ 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 <type>KNumberFormatUsage</type> values
+ */
+ sequence< NumberFormatCode > getAllFormatCode(
+ [in] short nFormatUsage,
+ [in] com::sun::star::lang::Locale rLocale );
+
+ //------------------------------------------------------------------------
+ /**
+ returns all format codes for a given locale.
+ */
+ sequence< NumberFormatCode > getAllFormatCodes(
+ [in] com::sun::star::lang::Locale rLocale );
+
+};
+
+//=============================================================================
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
new file mode 100644
index 000000000000..7da294782791
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_com_sun_star_i18n_XOrdinalSuffix_idl
+#define INCLUDED_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 OOo2.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.
+ The current version is a draft and works only for English language
+ locales. Future enhancements adding functionality for other locales
+ should use the 'ordinal' RuleBasedNumberFormat of the ICU if
+ possible, see
+ http://icu.sourceforge.net/apiref/icu4c/classRuleBasedNumberFormat.html
+ which might make it necessary to change the interface.
+ */
+
+interface XOrdinalSuffix : com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** Returns the ordinal suffix for the number, for example,
+ "<b>st</b>", "<b>nd</b>", "<b>rd</b>", "<b>th</b>"
+ in an English locale.
+ */
+ string getOrdinalSuffix( [in] long nNumber, [in] com::sun::star::lang::Locale aLocale );
+};
+
+//============================================================================
+}; }; }; };
+//============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XScriptTypeDetector.idl b/offapi/com/sun/star/i18n/XScriptTypeDetector.idl
new file mode 100644
index 000000000000..9ce7efb1f830
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XScriptTypeDetector.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>ScriptDirection</type></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 <type>CTLScriptType</type> constants.
+ */
+ short getCTLScriptType ([in] string aText, [in] long nPos);
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XTextConversion.idl b/offapi/com/sun/star/i18n/XTextConversion.idl
new file mode 100644
index 000000000000..0e22052ff93e
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XTextConversion.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_i18n_XTextConversion_idl__
+#define __com_sun_star_i18n_XTextConversion_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_TextConversionResult_idl__
+#include <com/sun/star/i18n/TextConversionResult.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+
+//=============================================================================
+
+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 partion in aText for the conversion
+ @param aLocal
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of <type>TextConversionType</type> values.
+ @param nTextConversionOptions
+ Combination of <type>TextConversionOption</type> values.
+ @returns
+ <type>TextConversionResult</type>
+
+ @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 aLocale,
+ [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 partion in aText for the conversion
+ @param aLocal
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of <type>TextConversionType</type> values.
+ @param nTextConversionOptions
+ Combination of <type>TextConversionOption</type> 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 aLocale,
+ [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 aLocal
+ Locale the conversion is referring to.
+ @param nTextConversionType
+ One of <type>TextConversionType</type> values.
+ @param nTextConversionOptions
+ Combination of <type>TextConversionOption</type> 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 aLocale,
+ [in] short nTextConversionType,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/XTransliteration.idl b/offapi/com/sun/star/i18n/XTransliteration.idl
new file mode 100644
index 000000000000..aa003604eadf
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XTransliteration.idl
@@ -0,0 +1,331 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>TransliterationType</type>. <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
+ * casefolding
+ * ( 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 implemenation 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 <const>TransliterationType::CASCADE</const>
+ modules.
+ */
+ string getName();
+
+ //------------------------------------------------------------------------
+ /** Return the attribute(s) associated with this transliterator
+ object, as defined in <type>TransliterationType</type>. 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 <member>XTransliteration::loadModule()</member>.
+ */
+ 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
+ <type>TransliterationModules</type> 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}.
+ */
+ 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 feeded as input to the next module in
+ the sequence. The object created by this call has
+ <type>TransliterationType</type> CASCADE and IGNORE types.
+
+ @param aImplNameList
+ Only IGNORE type modules can be specified.
+ */
+ 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
+ <type>TransliterationType</type>
+ */
+ 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 <type>TransliterationType</type> IGNORE
+ attribute.
+
+ @param aStr
+ The input string.
+
+ @param nStartPos
+ Start position within aStr from where transliteration starts.
+
+ @param nCount
+ Number of codepoints 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
+ <type>TransliterationType</type> 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 <type>TransliterationType</type>
+ 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 expresssions 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
diff --git a/offapi/com/sun/star/i18n/makefile.mk b/offapi/com/sun/star/i18n/makefile.mk
new file mode 100644
index 000000000000..7d861fa1436d
--- /dev/null
+++ b/offapi/com/sun/star/i18n/makefile.mk
@@ -0,0 +1,129 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssi18n
+PACKAGE=com$/sun$/star$/i18n
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AmPmValue.idl \
+ Boundary.idl \
+ BreakIterator.idl \
+ BreakType.idl \
+ CTLScriptType.idl \
+ Calendar.idl \
+ CalendarDisplayCode.idl \
+ CalendarDisplayIndex.idl \
+ CalendarFieldIndex.idl \
+ CalendarItem.idl \
+ ChapterCollator.idl \
+ CharType.idl \
+ CharacterClassification.idl \
+ CharacterIteratorMode.idl \
+ Collator.idl \
+ CollatorOptions.idl \
+ Currency.idl \
+ Currency2.idl \
+ DirectionProperty.idl \
+ ForbiddenCharacters.idl \
+ FormatElement.idl \
+ Implementation.idl \
+ IndexEntrySupplier.idl \
+ InputSequenceChecker.idl \
+ InputSequenceCheckMode.idl \
+ KCharacterType.idl \
+ KNumberFormatType.idl \
+ KNumberFormatUsage.idl \
+ KParseTokens.idl \
+ KParseType.idl \
+ LanguageCountryInfo.idl \
+ LineBreakHyphenationOptions.idl \
+ LineBreakResults.idl \
+ LineBreakUserOptions.idl \
+ LocaleCalendar.idl \
+ LocaleData.idl \
+ LocaleDataItem.idl \
+ LocaleItem.idl \
+ Months.idl \
+ MultipleCharsOutputException.idl \
+ NativeNumberMode.idl \
+ NativeNumberSupplier.idl \
+ NativeNumberXmlAttributes.idl \
+ NumberFormatCode.idl \
+ NumberFormatIndex.idl \
+ NumberFormatMapper.idl \
+ ParseResult.idl \
+ ScriptDirection.idl \
+ ScriptType.idl \
+ TextConversion.idl \
+ TextConversionOption.idl \
+ TextConversionResult.idl \
+ TextConversionType.idl \
+ Transliteration.idl \
+ TransliterationModules.idl \
+ TransliterationModulesNew.idl \
+ TransliterationModulesExtra.idl \
+ TransliterationType.idl \
+ UnicodeScript.idl \
+ UnicodeType.idl \
+ Weekdays.idl \
+ WordType.idl \
+ XBreakIterator.idl \
+ XCalendar.idl \
+ XCharacterClassification.idl \
+ XCollator.idl \
+ XExtendedCalendar.idl \
+ XExtendedIndexEntrySupplier.idl \
+ XExtendedTransliteration.idl \
+ XForbiddenCharacters.idl \
+ XIndexEntrySupplier.idl \
+ XInputSequenceChecker.idl \
+ XExtendedInputSequenceChecker.idl \
+ XLocaleData.idl \
+ XLocaleData2.idl \
+ XNativeNumberSupplier.idl \
+ XNumberFormatCode.idl \
+ XTextConversion.idl \
+ XExtendedTextConversion.idl \
+ XScriptTypeDetector.idl \
+ XTransliteration.idl \
+ reservedWords.idl \
+ XOrdinalSuffix.idl \
+ OrdinalSuffix.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/i18n/reservedWords.idl b/offapi/com/sun/star/i18n/reservedWords.idl
new file mode 100644
index 000000000000..846a85df1613
--- /dev/null
+++ b/offapi/com/sun/star/i18n/reservedWords.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>XLocaleData::getReservedWord()</member>.
+
+ @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
diff --git a/offapi/com/sun/star/image/ImageMap.idl b/offapi/com/sun/star/image/ImageMap.idl
new file mode 100644
index 000000000000..45f82a157faa
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMap.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_image_ImageMap_idl__
+#define __com_sun_star_image_ImageMap_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module image {
+
+//=============================================================================
+
+/** This service specifies a html image map.
+ */
+published service ImageMap
+{
+ /** a 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 ImageMapPolygonObjec
+ */
+ interface ::com::sun::star::container::XIndexContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/image/ImageMapCircleObject.idl b/offapi/com/sun/star/image/ImageMapCircleObject.idl
new file mode 100644
index 000000000000..aa4b881516e6
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapCircleObject.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_image_ImageMapCircleObject_idl__
+#define __com_sun_star_image_ImageMapCircleObject_idl__
+
+#ifndef __com_sun_star_image_ImageMapObject_idl__
+#include <com/sun/star/image/ImageMapObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/image/ImageMapObject.idl b/offapi/com/sun/star/image/ImageMapObject.idl
new file mode 100644
index 000000000000..de29a2f22d3c
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapObject.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_image_ImageMapObject_idl__
+#define __com_sun_star_image_ImageMapObject_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventsSupplier_idl__
+#include <com/sun/star/document/XEventsSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module image {
+
+//=============================================================================
+
+/** this is a base service for objects inside a image maps.
+ @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
diff --git a/offapi/com/sun/star/image/ImageMapPolygonObject.idl b/offapi/com/sun/star/image/ImageMapPolygonObject.idl
new file mode 100644
index 000000000000..298b9ac8db44
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapPolygonObject.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_image_ImageMapPolygonObject_idl__
+#define __com_sun_star_image_ImageMapPolygonObject_idl__
+
+#ifndef __com_sun_star_image_ImageMapObject_idl__
+#include <com/sun/star/image/ImageMapObject.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PointSequence_idl__
+#include <com/sun/star/drawing/PointSequence.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/image/ImageMapRectangleObject.idl b/offapi/com/sun/star/image/ImageMapRectangleObject.idl
new file mode 100644
index 000000000000..8d1844736c86
--- /dev/null
+++ b/offapi/com/sun/star/image/ImageMapRectangleObject.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_image_ImageMapRectangleObject_idl__
+#define __com_sun_star_image_ImageMapRectangleObject_idl__
+
+#ifndef __com_sun_star_image_ImageMapObject_idl__
+#include <com/sun/star/image/ImageMapObject.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/image/makefile.mk b/offapi/com/sun/star/image/makefile.mk
new file mode 100644
index 000000000000..a09e60ad7e55
--- /dev/null
+++ b/offapi/com/sun/star/image/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssimage
+PACKAGE=com$/sun$/star$/image
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ImageMap.idl\
+ ImageMapObject.idl\
+ ImageMapRectangleObject.idl\
+ ImageMapCircleObject.idl\
+ ImageMapPolygonObject.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/inspection/DefaultHelpProvider.idl b/offapi/com/sun/star/inspection/DefaultHelpProvider.idl
new file mode 100644
index 000000000000..900610538b35
--- /dev/null
+++ b/offapi/com/sun/star/inspection/DefaultHelpProvider.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_inspection_DefaultHelpProvider_idl__
+#define __com_sun_star_inspection_DefaultHelpProvider_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorUI;
+
+//=============================================================================
+
+/** implements a component which can default-fill the help section of an
+ <type>ObjectInspector</type>.
+
+ <p>The component registers a <type>XPropertyControlObserver</type> at an
+ <type>XObjectInspectoryUI</type> interface. Whenever it then is notified
+ of a <type>XPropertyControl</type> 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
+
diff --git a/offapi/com/sun/star/inspection/GenericPropertyHandler.idl b/offapi/com/sun/star/inspection/GenericPropertyHandler.idl
new file mode 100644
index 000000000000..c93f7a958ba5
--- /dev/null
+++ b/offapi/com/sun/star/inspection/GenericPropertyHandler.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_GenericPropertyHandler_idl__
+#define __com_sun_star_inspection_GenericPropertyHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+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
+
+
diff --git a/offapi/com/sun/star/inspection/InteractiveSelectionResult.idl b/offapi/com/sun/star/inspection/InteractiveSelectionResult.idl
new file mode 100644
index 000000000000..0447da8ed4ab
--- /dev/null
+++ b/offapi/com/sun/star/inspection/InteractiveSelectionResult.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 cancelled.
+ */
+ 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
+ <member>XPropertyHandler::onInteractivePropertySelection<member>, 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
+
+
diff --git a/offapi/com/sun/star/inspection/LineDescriptor.idl b/offapi/com/sun/star/inspection/LineDescriptor.idl
new file mode 100644
index 000000000000..df8d72c9edd2
--- /dev/null
+++ b/offapi/com/sun/star/inspection/LineDescriptor.idl
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_LineDescriptor_idl__
+#define __com_sun_star_inspection_LineDescriptor_idl__
+
+#ifndef com_sun_star_graphic_XGraphic_idl
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+//-----------------------------------------------------------------------------
+/** describes the appearance of a line representing a single property in an <type>ObjectInspector</type>.
+
+ 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;
+
+ /** detetrmines 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 (<member>HasPrimaryButton</member>),
+ 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 <type scope="com::sun::star::graphic">XGraphic</type>
+ object from an <type scope="com::sun::star::graphic">GraphicProvider</type>.</p>
+
+ <p>The property will be ignored if <member>HasPrimaryButton</member> is <FALSE/>.</p>
+
+ <p>If you need to specify a graphic which does not have an URL, but is available as
+ <type scope="com::sun::star::graphic">XGraphic</type> only, then you must leave
+ <code>PrimaryButtonImageURL</code> empty, and use the <member>PrimaryButtonImage</member> property.
+
+ @see PrimaryButtonImage
+ */
+ string PrimaryButtonImageURL;
+
+ /** describes a graphics to display at the primary button, if any.
+
+ <p>The property will be ignored if <member>HasPrimaryButton</member> is <FALSE/>, or
+ if <member>PrimaryButtonImageURL</member> is a non-empty string.</p>
+
+ @see HasPrimaryButton
+ @see PrimaryButtonImageURL
+ */
+ com::sun::star::graphic::XGraphic PrimaryButtonImage;
+
+ /** detetrmines 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
+ (<member>HasPrimaryButton</member>), 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 (<member>HasSecondaryButton</member>),
+ 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 <type scope="com::sun::star::graphic">XGraphic</type>
+ object from an <type scope="com::sun::star::graphic">GraphicProvider</type>.</p>
+
+ <p>The property will be ignored if <member>HasSecondaryButton</member> is <FALSE/>.</p>
+
+ <p>If you need to specify a graphic which does not have an URL, but is available as
+ <type scope="com::sun::star::graphic">XGraphic</type> only, then you must leave
+ <code>SecondaryButtonImageURL</code> empty, and use the <member>SecondaryButtonImage</member> property.
+
+ @see SecondaryButtonImage
+ */
+ string SecondaryButtonImageURL;
+
+ /** describes a graphics to display at the secondary button, if any.
+
+ <p>The property will be ignored if <member>HasSecondaryButton</member> is <FALSE/>, or
+ if <member>SecondaryButtonImageURL</member> 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, <type>XPropertyHandler</type>s 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 <type>ObjectInspector</type>.
+
+ <p>An <type>ObjectInspector</type> can visually group properties which semantically belong
+ together (for instance using tab pages). The decision which properties actually belong together
+ is made using this <member>Category</member> attribute.</p>
+
+ <p>For your implementation of <type>XPropertyHandler</type>, 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 <type>XObjectInspectorModel</type> needs to provide consistent
+ UI names for the categories.</p>
+
+ @see XObjectInspectorModel::describeCategories
+ */
+ string Category;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/ObjectInspector.idl b/offapi/com/sun/star/inspection/ObjectInspector.idl
new file mode 100644
index 000000000000..9a0386bee9f0
--- /dev/null
+++ b/offapi/com/sun/star/inspection/ObjectInspector.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_inspection_ObjectInspector_idl__
+#define __com_sun_star_inspection_ObjectInspector_idl__
+
+#ifndef __com_sun_star_inspection_XObjectInspector_idl__
+#include <com/sun/star/inspection/XObjectInspector.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** describes an <type scope="com::sun::star::frame">Controller</type> which can be used to
+ browse and modify properties of components.
+
+ <p>The controller can be plugged into an <type scope="com::sun::star::frame">XFrame</type>, 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 <type>ObjectInspector</type> 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 a 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 <type scope="com::sun::star::uno">XComponentContext</type> in which the <type>ObjectInspector</type>
+ 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 <type>ObjectInspectorModel</type>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>Model</arg> is <NULL/>.
+
+ @since OOo 2.2
+ */
+ createWithModel( [in] XObjectInspectorModel Model )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
+
diff --git a/offapi/com/sun/star/inspection/ObjectInspectorModel.idl b/offapi/com/sun/star/inspection/ObjectInspectorModel.idl
new file mode 100644
index 000000000000..00a55a0b43c3
--- /dev/null
+++ b/offapi/com/sun/star/inspection/ObjectInspectorModel.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_ObjectInspectorModel_idl__
+#define __com_sun_star_inspection_ObjectInspectorModel_idl__
+
+#ifndef __com_sun_star_inspection_XObjectInspectorModel_idl__
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** describes a default implementation of an ObjectInspectorModel
+
+ <p>This service simplifies usage of an <type>ObjectInspector</type>.</p>
+
+ <p>The <type>XObjectInspectorModel</type> 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 <type>GenericPropertyHandler</type>.
+ */
+ 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 <arg>handlerFactories</arg> is empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>minHelpTextLines</arg> or <arg>maxHelpTextLines</arg> are negative,
+ or if <arg>minHelpTextLines</arg> is greater than <arg>maxHelpTextLines</arg>.
+
+ @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
+
+
diff --git a/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl b/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl
new file mode 100644
index 000000000000..5e58701e3c03
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyCategoryDescriptor.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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: <member>XPropertyHandler::describePropertyLine</member>
+ sets a programmatic category name at <member>LineDescriptor::Category</member>,
+ and an object inspector uses this to find the proper <type>PropertyCategoryDescriptor</type>.</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
+
+
+
diff --git a/offapi/com/sun/star/inspection/PropertyControlType.idl b/offapi/com/sun/star/inspection/PropertyControlType.idl
new file mode 100644
index 000000000000..1f61dfe6ed97
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyControlType.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 a <type>ObjectInspector</type>.
+
+ <p>The type of a control determines its visual appearance, its behaviour, 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 <member>ListBox</member> exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the <type>XStringListControl</type> 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 <member>ComboBox</member> exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the <type>XStringListControl</type> 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 <member>TextField</member> 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 <member>MultiLineTextField</member> 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 <member>CharacterField</member> 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 <member>StringListField</member> 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 <member>ColorListBox</member> usually exchange their values as
+ <type scope="com::sun::star::util">Color</type>.</p>
+
+ <p>Additionally, those controls support the <type>XStringListControl</type> 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
+ <member>XPropertyControl::Value</member>, and if this string has previously been added to the list
+ using the <type>XStringListControl</type> interface, this string is selected. Vice versa, if the user
+ selects one of those non-color strings in the list, then reading <member>XPropertyControl::Value</member>
+ will retrieve you this stting.</p>
+ */
+ const short ColorListBox = 7;
+
+ /** denotes a control which allows the user to enter a numerical value
+
+ <p>Controls of type <member>NumericField</member> exchange their values as <code>double</code>.</p>
+
+ <p>Additionally, those controls support the <type>XNumericControl</type> interface.</p>
+ */
+ const short NumericField = 8;
+
+ /** denotes a control which allows the user to enter a date value
+
+ <p>Controls of type <member>DateField</member> exchange their values as <type scope="com::sun::star::util">Date</type>.</p>
+ */
+ const short DateField = 9;
+
+ /** denotes a control which allows the user to enter a time value
+
+ <p>Controls of type <member>TimeField</member> exchange their values as <type scope="com::sun::star::util">Time</type>.</p>
+ */
+ const short TimeField = 10;
+
+ /** denotes a control which allows the user to enter a combined date/time value
+
+ <p>Controls of type <member>DateTimeField</member> exchange their values as <type scope="com::sun::star::util">DateTime</type>.</p>
+ */
+ const short DateTimeField = 11;
+
+ /** denotes a control which displays a string in a hyperlink-like appearance
+
+ <p>Controls of type <member>HyperlinkField</member> exchange their values as <code>string</code>.</p>
+
+ <p>Additionally, those controls support the <type>XHyperlinkControl</type> interface.</p>
+ */
+ const short HyperlinkField = 12;
+
+ /** denotes a non-standard property control, which is usually provided by an <type>XPropertyHandler</type>
+ */
+ const short Unknown = 13;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/PropertyLineElement.idl b/offapi/com/sun/star/inspection/PropertyLineElement.idl
new file mode 100644
index 000000000000..35d7c47e7a17
--- /dev/null
+++ b/offapi/com/sun/star/inspection/PropertyLineElement.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/inspection/XHyperlinkControl.idl b/offapi/com/sun/star/inspection/XHyperlinkControl.idl
new file mode 100644
index 000000000000..f6daa5f8c179
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XHyperlinkControl.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XHyperlinkControl_idl__
+#define __com_sun_star_inspection_XHyperlinkControl_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyControl_idl__
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#endif
+#ifndef __com_sun_star_awt_XActionListener_idl__
+#include <com/sun/star/awt/XActionListener.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** defines the interface for an <type>XPropertyControl</type> which displays its value
+ in a hyperlink-like way
+
+ <p>Hyperlink controls exchange their value (<member>XPropertyControl::Value</member>) 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 <member>addActionListener</member>
+ @param listener
+ the listener to revoke
+ */
+ void removeActionListener( [in] com::sun::star::awt::XActionListener listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/XNumericControl.idl b/offapi/com/sun/star/inspection/XNumericControl.idl
new file mode 100644
index 000000000000..13e4631a3959
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XNumericControl.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XNumericControl_idl__
+#define __com_sun_star_inspection_XNumericControl_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyControl_idl__
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#endif
+#ifndef __com_sun_star_beans_Optional_idl__
+#include <com/sun/star/beans/Optional.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** defines the interface for an <type>XPropertyControl</type> 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 <type scope="com::sun::star::util">MeasureUnit</type> to be applied
+ for displaying values.
+
+ <p>Only a certain set of <type scope="com::sun::star::util">MeasureUnit</type> values is
+ supported. In particular, every value which denotes a fraction of another
+ unit (like 100th millimiters) cannot be used as DisplayUnit.</p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the caller attempts to set an unsupported <type scope="com::sun::star::util">MeasureUnit</type>
+ */
+ [attribute] short DisplayUnit
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+
+ /** describes a <type scope="com::sun::star::util">MeasureUnit</type> to be
+ applied for transfering 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
+
diff --git a/offapi/com/sun/star/inspection/XObjectInspector.idl b/offapi/com/sun/star/inspection/XObjectInspector.idl
new file mode 100644
index 000000000000..664221ff03fd
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspector.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XObjectInspector_idl__
+#define __com_sun_star_inspection_XObjectInspector_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorModel;
+interface XObjectInspectorUI;
+
+//-----------------------------------------------------------------------------
+/** describes the main interface of an <type>ObjectInspector</type>.
+
+ @see ObjectInspector
+
+ @since OOo 2.0.3
+*/
+interface XObjectInspector
+{
+ /** allows to plug the inspector into an <type scope="com::sun::star::frame">XFrame</type>
+
+ <p>The <member scope="com::sun::star::frame">XController::setModel</member> method
+ accepts only <type>XObjectInspectorModel</type>s, 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 <type scope="com::sun::star::frame">XModel</type>,
+ use the <member>InspectorModel</member> attribute instead.</p>
+
+ <p>The <member scope="com::sun::star::frame">XController::getViewData</member> and
+ <member scope="com::sun::star::frame">XController::restoreViewData</member> 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 <type scope="com::sun::star::frame">Controller</type>
+ service, currently, there is no functionality to intercept at an <type>XObjectInspector</type>.</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 <member scope="com::sun::star::frame">XModel::setModel</member>, or, if you do not want
+ or need to implement the full-blown <type scope="com::sun::star::frame">XModel</type> 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 <type>ObjectInspector</type> will be
+ cleared.</p>
+
+ <p>If the sequence contains more than one object, the <type>XObjectInspector</type>
+ will create a complete set of property handlers (as indicated by
+ <member>XObjectInspectorModel::HandlerFactories</member>) 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 <type>XPropertyHandler</type>'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
+
+
diff --git a/offapi/com/sun/star/inspection/XObjectInspectorModel.idl b/offapi/com/sun/star/inspection/XObjectInspectorModel.idl
new file mode 100644
index 000000000000..b7248d87d25f
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspectorModel.idl
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XObjectInspectorModel_idl__
+#define __com_sun_star_inspection_XObjectInspectorModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_inspection_PropertyCategoryDescriptor_idl__
+#include <com/sun/star/inspection/PropertyCategoryDescriptor.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XPropertyHandler;
+
+//-----------------------------------------------------------------------------
+/** describes the model of an <type>ObjectInspector</type>
+
+ @see ObjectInspector
+
+ @since OOo 2.0.3
+*/
+interface XObjectInspectorModel
+{
+ /** describes a set of factories for creating <type>XPropertyHandler</type>s
+
+ <p>Every element of the sequence must contain information to create a
+ <type>XPropertyHandler</type> instance. Two ways are currently supported:
+ <ul>
+ <li>A sevice name:</br>
+ If a sequence element contains a string, this string is interpreted
+ as service name, and an <type scope="com::sun::star::lang">XMultiComponentFactory</type>
+ is asked to create an instance of this service.</li>
+ <li>A factory:<br/>
+ If a sequence element contains an instance implementing the
+ <type scope="com::sun::star::lang">XSingleComponentFactory</type> interface, this factory
+ is used to create a property handler.</li>
+ </ul></p>
+
+ <p>This attribute is usually only evaluated by the <type>ObjectInspector</type> instance
+ which the model is currently bound to.</p>
+
+ <p>The order of factories is important: If two property handlers declare themself 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 <member>LineDescriptor::Category</member>
+ attribute, which is filled in <member>XPropertyHandler::describePropertyLine</member>
+ method of your property handler.<br/>
+ Those names provided by the handlers are programmatic names. All other information
+ about categories is part of the <type>PropertyCategoryDescriptor</type>, and
+ <member>describeCategories</member> 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 <type>ObjectInspector</type>'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 <type>ObjectInspector</type> 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
+ <type>ObjectInspector</type> will assume the order in which those properties
+ were provided by the respective property handler
+ (<member>XPropertyHandler::getSupportedProperties</member>).<br/>
+ If two such properties originate from different handlers, they will be ordered according
+ to the order of the handlers, as provided in the <member>HandlerFactories</member> attribute.</p>
+
+ @param PropertyName
+ the property whose global order index should be retrieved
+ @return
+ the global order index of <arg>PropertyName</arg>.
+ */
+ 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 <type>ObjectInspector</type> if
+ <member>HasHelpSection</member> is <FALSE/>.</p>
+
+ <p>The layout of the <type>ObjectInspector</type> is undefined if
+ <member>MinHelpTextLines</member> is larger than
+ <member>MaxHelpTextLines</member>.</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 <type>ObjectInspector</type> if
+ <member>HasHelpSection</member> is <FALSE/>.</p>
+
+ <p>The layout of the <type>ObjectInspector</type> is undefined if
+ <member>MaxHelpTextLines</member> is smaller than
+ <member>MinHelpTextLines</member>.</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 themself, and the primary and secondary buttons of a property line
+ are both disabled.</p>
+
+ @see XPropertyControl
+ @see LineDescriptor
+ */
+ [attribute, bound] boolean IsReadOnly;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/inspection/XObjectInspectorUI.idl b/offapi/com/sun/star/inspection/XObjectInspectorUI.idl
new file mode 100644
index 000000000000..f6a90c824426
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XObjectInspectorUI.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_inspection_XObjectInspectorUI_idl__
+#define __com_sun_star_inspection_XObjectInspectorUI_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyControl_idl__
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#endif
+#ifndef __com_sun_star_beans_Optional_idl__
+#include <com/sun/star/beans/Optional.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+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 <type>XPropertyHandler</type>s.</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 <type>ObjectInspector</type> 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 <type>XPropertyHandler</type> 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, <member>enablePropertyUIElements</member> does not have any effect if
+ somebody previously disabled the complete UI for this property with <member>enablePropertyUI</member>.</p>
+
+ @param PropertyName
+ the name of the property whose user interface elements are to be enabled or disabled
+
+ @param Elements
+ a combination of <type>PropertyLineElement</type> flags specifying which elements are to be
+ enabled or disabled.<br/>
+ Note that if you don't set a particular bit here (say, <member>PropertyLineElement::PrimaryButton</member>),
+ 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 <arg>_nElements</arg> 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 <type>XPropertyHandler</type> if it wants to change the type
+ of control (see <type>PropertyControlType</type>) 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 <arg>PropertyName</arg> and call its
+ <member>XPropertyHandler::describePropertyLine</member></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 <type>XPropertyControl</type> 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 <member>XObjectInspectorModel::HasHelpSection</member> property
+ requires the help section to be unavailable.
+
+ @since OOo 2.2
+ */
+ void setHelpSectionText( [in] string HelpText )
+ raises ( ::com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/XPropertyControl.idl b/offapi/com/sun/star/inspection/XPropertyControl.idl
new file mode 100644
index 000000000000..b48f730fa7d9
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControl.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XPropertyControl_idl__
+#define __com_sun_star_inspection_XPropertyControl_idl__
+
+#ifndef __com_sun_star_beans_IllegalTypeException_idl__
+#include <com/sun/star/beans/IllegalTypeException.idl>
+#endif
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XPropertyControlContext;
+
+//-----------------------------------------------------------------------------
+/** defines the interface for a single control in an <type>ObjectInspector</type>
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControl
+{
+ /** denotes the type of the control, as one of the <type>PropertyControlType</type>
+ 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 <member>ValueType</member>.</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 <member>ValueType</member>.
+ */
+ [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 <type>ObjectInspector</type>.
+
+ <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 <type>XPropertyControl</type> internally manages a flag indicating whether
+ its content is modified. This flag is reset to <FALSE/> every time our
+ <member>ControlContext</member> 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 <type>ObjectInspector</type> 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
+
diff --git a/offapi/com/sun/star/inspection/XPropertyControlContext.idl b/offapi/com/sun/star/inspection/XPropertyControlContext.idl
new file mode 100644
index 000000000000..457ef549652d
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlContext.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XPropertyControlContext_idl__
+#define __com_sun_star_inspection_XPropertyControlContext_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyControlObserver_idl__
+#include <com/sun/star/inspection/XPropertyControlObserver.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** specifies the interface of the context of an <type>XPropertyControl</type>.
+
+ @see XPropertyControl::ControlContext
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControlContext : XPropertyControlObserver
+{
+ /** instructs the <type>XPropertyControlContext</type> to active the next control
+
+ @param CurrentControl
+ denotes the control which initiated the request.
+ */
+ [oneway] void activateNextControl( [in] XPropertyControl CurrentControl );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/XPropertyControlFactory.idl b/offapi/com/sun/star/inspection/XPropertyControlFactory.idl
new file mode 100644
index 000000000000..964a2c4fb3e8
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlFactory.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XPropertyControlFactory_idl__
+#define __com_sun_star_inspection_XPropertyControlFactory_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+//-----------------------------------------------------------------------------
+/** a factory for <type>XPropertyControl</type>s
+
+ @since OOo 2.0.3
+*/
+interface XPropertyControlFactory
+{
+ /** creates a <type>XPropertyControl</type>
+
+ <p>A <type>XPropertyControlFactory</type> can create any of the control types denoted by
+ the <type>PropertyControlType</type> 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 <type>ObjectInspector</type>. Instead, an <type>XPropertyHandler</type>
+ can still decide that there is a dedicated UI for entering the property value,
+ which is usually triggered by a <member>LineDescriptor::PrimaryButton</member>.</p>
+
+ <p>Note that this parameter might be ignored if the <member>XObjectInspectorModel::IsReadOnly</member>
+ 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 <arg>ControlType</arg> is not a value <type>PropertyControlType</type>
+ */
+ XPropertyControl createPropertyControl( [in] short ControlType, [in] boolean CreateReadOnly )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/inspection/XPropertyControlObserver.idl b/offapi/com/sun/star/inspection/XPropertyControlObserver.idl
new file mode 100644
index 000000000000..51263e6824a5
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyControlObserver.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XPropertyControlObserver_idl__
+#define __com_sun_star_inspection_XPropertyControlObserver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module inspection {
+
+interface XPropertyControl;
+
+//=============================================================================
+
+/** specifies an interface for components to observer certain aspects
+ of an <type>XPropertyControl</type>.
+
+ @since OOo 2.2
+*/
+interface XPropertyControlObserver
+{
+ /** notifies the observer that a certain <type>XPropertyControl</type>'s UI
+ representation gained the focus.
+
+ @param Control
+ denotes the control whose UI representation gained the focus
+ */
+ [oneway] void focusGained( [in] XPropertyControl Control );
+
+ /** notifies the observer that a certain <type>XPropertyControl</type>'s value
+ changed.
+
+ @param Control
+ denotes the control whose value changed.
+
+ @see XPropertyControl::Value
+ */
+ [oneway] void valueChanged( [in] XPropertyControl Control );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/inspection/XPropertyHandler.idl b/offapi/com/sun/star/inspection/XPropertyHandler.idl
new file mode 100644
index 000000000000..81a105b8b9a5
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XPropertyHandler.idl
@@ -0,0 +1,471 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#define __com_sun_star_inspection_XPropertyHandler_idl__
+
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#include <com/sun/star/beans/PropertyState.idl>
+#endif
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+#ifndef __com_sun_star_inspection_LineDescriptor_idl__
+#include <com/sun/star/inspection/LineDescriptor.idl>
+#endif
+#ifndef __com_sun_star_lang_NullPointerException_idl__
+#include <com/sun/star/lang/NullPointerException.idl>
+#endif
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_inspection_InteractiveSelectionResult_idl__
+#include <com/sun/star/inspection/InteractiveSelectionResult.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+interface XObjectInspectorUI;
+interface XPropertyControlFactory;
+
+//-----------------------------------------------------------------------------
+/** is the basic interface for object inspection.
+
+ <p>The <type>ObjectInspector</type> itself does not know anything about the object
+ it is inspecting, all information is obtained via <type>XPropertyHandler</type>s.
+ 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><member scope="com::sun::star::lang">XComponent::dispose</member> 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);
+
+ /** 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 <type>XPropertyControl</type> 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 <arg>ControlFactory</arg> 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 <member>describePropertyLine</member>, 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 <member>setPropertyValue</member>.</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 <type>XPropertyControl</type>,
+ using its <member>Value</member> 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 <member>describePropertyLine</member>, 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
+ <member>getPropertyValue</member>, into a control-compatible value, which can be used
+ with <type>XPropertyControl</type>'s <member>XPropertyControl::Value</member> 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,
+ <member>convertToControlValue</member> and <member>convertToPropertyValue</member> are used.</p>
+
+ <p>The method is not invoked if the control's value type (<member>XPropertyControl::ValueType</member>
+ 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 <member>describePropertyLine</member>.<br/>
+ Speaking strictly, this is passed for convenience only, since every <type>XPropertyHandler</type>
+ implementation should know exactly which type to expect, since it implicitly determined this type
+ in <member>describePropertyLine</member> by creating an appropriate <type>XPropertyControl</type>.
+
+ @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 <type>XPropertyHandler</type> 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 <member>addPropertyChangeListener</member> even if currently no component is
+ being inspected. In this case, the listener must become active as soon as a new introspectee
+ is set in the next <member>inspect</member> 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 introspectee, 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 <member>getSupportedProperties</member>),
+ 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 <type>ObjectInspector</type>,
+ which also is important for the superseded properties. This precendence is implied by the
+ precendence of factories to create the property handlers, as denoted in the
+ <member>XObjectInspectorModel::HandlerFactories</member> 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 <type>XObjectInspectorModel</type> 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 <member>getSupportedProperties</member> 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
+ <member>actuatingPropertyChanged</member> method.</p>
+
+ <p>If <member>getSupportedProperties</member> 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 represenation 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 <member>LineDescriptor::HasPrimaryButton</member>
+ and <member>LineDescriptor::HasSecondaryButton</member> members of a <type>LineDescriptor</type>,
+ which the <type>XPropertyHandler</type> fills in its <member>describePropertyLine</member> 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 <type>InteractiveSelectionResult</type>).</p>
+
+ <p>It is recommended that property handlers do not directly set the property value which has
+ been obatined from the user, but store it in the output-parameter Data, and return
+ <member>InteractiveSelectionResult::ObtainedValue</member>.</p>
+
+ <p>If a handler sets the new property value directly, and returns
+ <member>InteractiveSelectionResult::ObtainedValue</member>, 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 <member>onInteractivePropertySelection</member>
+ 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 composeable, 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 out_Data
+ If the method returns <member>InteractiveSelectionResult::ObtainedValue</member>,
+ then <arg>out_Data</arg> 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,
+ <member>onInteractivePropertySelection</member> should return <member>InteractiveSelectionResult::Pending</member>,
+ 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 <arg>InspectorUI</arg> is <NULL/>
+
+ @see describePropertyLine
+ @see addPropertyChangeListener
+ @see isComposable
+ */
+ ::com::sun::star::inspection::InteractiveSelectionResult
+ onInteractivePropertySelection(
+ [in] string PropertyName,
+ [in] boolean Primary,
+ [out] any out_Data,
+ [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 <member>getActuatingProperties</member>).</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 <member scope="com::sun::star::beans">XPropertyChangeListener::propertyChange</member>
+ 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 definately not do this when <arg>FirstTimeInit</arg> is <TRUE/>.
+ @throws com::sun::star::lang::NullPointerException
+ if <arg>InspectorUI</arg> 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 <type>XPropertyHandler</type> is used by a <type>XObjectInspector</type> instance,
+ which implements the XController interface. By definition, a XObjectInspector always forwards
+ all suspend requests (<member scope="com::sun::star::frame">XController::suspend</member>) to
+ all it's 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
+ <member>onInteractivePropertySelection</member>. If a property handler receives a
+ <member>suspend</member> call, it should forward the suspension request to the UI
+ component, and veto suspension of the <type>XObjectInspector</type> 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 <member>suspend</member> 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
+
+
+
diff --git a/offapi/com/sun/star/inspection/XStringListControl.idl b/offapi/com/sun/star/inspection/XStringListControl.idl
new file mode 100644
index 000000000000..640741961090
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XStringListControl.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XStringListControl_idl__
+#define __com_sun_star_inspection_XStringListControl_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyControl_idl__
+#include <com/sun/star/inspection/XPropertyControl.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module inspection {
+
+//-----------------------------------------------------------------------------
+/** defines the interface for an <type>XPropertyControl</type> which, additionally
+ to the basic behaviour, 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 <type>XStringListControl</type> 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
+
diff --git a/offapi/com/sun/star/inspection/XStringRepresentation.idl b/offapi/com/sun/star/inspection/XStringRepresentation.idl
new file mode 100644
index 000000000000..66888f3cc240
--- /dev/null
+++ b/offapi/com/sun/star/inspection/XStringRepresentation.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_inspection_XStringRepresentation_idl__
+#define __com_sun_star_inspection_XStringRepresentation_idl__
+
+#ifndef __com_sun_star_script_XTypeConverter_idl__
+#include <com/sun/star/script/XTypeConverter.idl>
+#endif
+
+//=============================================================================
+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 <member>XPropertyHandler::convertToControlValue</member>
+ */
+ string convertToControlValue([in]any PropertyValue) raises( com::sun::star::uno::Exception );
+
+ /** converts a string into an any with the type defined by the target tpye.
+ @param ControlValue
+ The to-be-converted control value.
+ @param ControlValueType
+ The target type of the conversion.
+ @see <member>XPropertyHandler::convertToPropertyValue</member>
+ */
+ any convertToPropertyValue(
+ [in]string ControlValue,
+ [in]type ControlValueType
+ ) raises( com::sun::star::uno::Exception );
+};
+
+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
+
diff --git a/offapi/com/sun/star/inspection/makefile.mk b/offapi/com/sun/star/inspection/makefile.mk
new file mode 100644
index 000000000000..bca5fd1e1f17
--- /dev/null
+++ b/offapi/com/sun/star/inspection/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssinspection
+PACKAGE=com$/sun$/star$/inspection
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ DefaultHelpProvider.idl \
+ GenericPropertyHandler.idl \
+ InteractiveSelectionResult.idl \
+ LineDescriptor.idl \
+ ObjectInspector.idl \
+ ObjectInspectorModel.idl \
+ PropertyCategoryDescriptor.idl \
+ PropertyControlType.idl \
+ PropertyLineElement.idl \
+ XHyperlinkControl.idl \
+ XNumericControl.idl \
+ XObjectInspector.idl \
+ XObjectInspectorModel.idl \
+ XObjectInspectorUI.idl \
+ XPropertyControl.idl \
+ XPropertyControlContext.idl \
+ XPropertyControlFactory.idl \
+ XPropertyControlObserver.idl \
+ XPropertyHandler.idl \
+ XStringListControl.idl \
+ XStringRepresentation.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
diff --git a/offapi/com/sun/star/installation/InstallationCheck.idl b/offapi/com/sun/star/installation/InstallationCheck.idl
new file mode 100644
index 000000000000..80b3b4ecbe19
--- /dev/null
+++ b/offapi/com/sun/star/installation/InstallationCheck.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_InstallationCheck_idl__
+#define __com_sun_star_installation_InstallationCheck_idl__
+
+#ifndef __com_sun_star_installation_XInstallationCheck_idl__
+#include <com/sun/star/installation/XInstallationCheck.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module installation {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::installation::InstallationCheck
+/** is a simple implementation of the <type>XInstallationCheck</type>.
+
+ <p> This implementation only checks the fonts "StarBats" and "StarMath".
+ </p>
+ <p> When running under Win32 the methods check and checkWithDialog will try to
+ fix any missing RegistryKey of fonts which still reside in the font directory.
+ </p>
+ <p>If it is possbile to fix, the method returns <TRUE/>.
+ </p>
+
+ @see XInstallationCheck
+ @deprecated
+ */
+published service InstallationCheck
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::installation::XInstallationCheck;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/InstallationCheckService.idl b/offapi/com/sun/star/installation/InstallationCheckService.idl
new file mode 100644
index 000000000000..0036c521d33f
--- /dev/null
+++ b/offapi/com/sun/star/installation/InstallationCheckService.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_InstallationCheckService_idl__
+#define __com_sun_star_installation_InstallationCheckService_idl__
+
+#ifndef __com_sun_star_installation_XInstallationCheck_idl__
+#include <com/sun/star/installation/XInstallationCheck.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module installation {
+
+//=============================================================================
+/** This service is a simple implementation of the interface XInstallationCheck.
+
+ <p>This implementation only checks the fonts "StarBats" and "StarMath".
+ When running under Win32 the methods check and checkWithDialog will try to
+ fix any missing RegistryKey of fonts which still reside in the font directory.
+ If fixing is possible the methods returns TRUE.</p>
+ @version 1.0
+ @author Berndt Reinhold
+ @see XInstallationCheck
+ @deprecated
+*/
+published service InstallationCheckService
+{
+ interface com::sun::star::installation::XInstallationCheck;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/InternetSettings.idl b/offapi/com/sun/star/installation/InternetSettings.idl
new file mode 100644
index 000000000000..578bfa592f1e
--- /dev/null
+++ b/offapi/com/sun/star/installation/InternetSettings.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_InternetSettings_idl__
+#define __com_sun_star_installation_InternetSettings_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module installation {
+
+//=============================================================================
+
+/// @deprecated
+published service InternetSettings
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/ProtDlgRes.idl b/offapi/com/sun/star/installation/ProtDlgRes.idl
new file mode 100644
index 000000000000..a27b3776b19e
--- /dev/null
+++ b/offapi/com/sun/star/installation/ProtDlgRes.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_ProtDlgRes_idl__
+#define __com_sun_star_installation_ProtDlgRes_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module installation {
+
+//=============================================================================
+
+/** contains the status of a dialog with an 'always display Checkbox'.
+
+ @deprecated
+ */
+published enum ProtDlgRes
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::installation::ProtDlgRes::NOCHANGE
+ /** dialog quit without the use of the YES/NO buttons.
+ */
+ NOCHANGE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::installation::ProtDlgRes::CHECK
+ /** when the dialog quit the checkbox, "Always display this message" was
+ checked.
+ */
+ CHECK,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::installation::ProtDlgRes::UNCHECK
+ /** when the dialog quit the checkbox, "Always display this message"
+ was not checked.
+ */
+ UNCHECK
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/ProtocolHandlerCheck.idl b/offapi/com/sun/star/installation/ProtocolHandlerCheck.idl
new file mode 100644
index 000000000000..e18062e667c5
--- /dev/null
+++ b/offapi/com/sun/star/installation/ProtocolHandlerCheck.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_ProtocolHandlerCheck_idl__
+#define __com_sun_star_installation_ProtocolHandlerCheck_idl__
+
+#ifndef __com_sun_star_installation_XProtocolHandlerCheck_idl__
+#include <com/sun/star/installation/XProtocolHandlerCheck.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module installation {
+
+//=============================================================================
+
+/// @deprecated
+published service ProtocolHandlerCheck
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::installation::XProtocolHandlerCheck;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/ProtocolHandlerCheckService.idl b/offapi/com/sun/star/installation/ProtocolHandlerCheckService.idl
new file mode 100644
index 000000000000..e2a9bc1b1830
--- /dev/null
+++ b/offapi/com/sun/star/installation/ProtocolHandlerCheckService.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_ProtocolHandlerCheckService_idl__
+#define __com_sun_star_installation_ProtocolHandlerCheckService_idl__
+
+#ifndef __com_sun_star_installation_XProtocolHandlerCheck_idl__
+#include <com/sun/star/installation/XProtocolHandlerCheck.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module installation {
+
+//=============================================================================
+/** @deprecated
+ */
+published service ProtocolHandlerCheckService
+{
+ interface com::sun::star::installation::XProtocolHandlerCheck;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/XInstallationCheck.idl b/offapi/com/sun/star/installation/XInstallationCheck.idl
new file mode 100644
index 000000000000..41fc7b1b90ad
--- /dev/null
+++ b/offapi/com/sun/star/installation/XInstallationCheck.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_XInstallationCheck_idl__
+#define __com_sun_star_installation_XInstallationCheck_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module installation {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::installation::XInstallationCheck
+/** a flag called "suppressed", changes the action of check and checkWithDialog
+ @see com::sun::star::uno::XInterface
+ @deprecated
+ */
+published interface XInstallationCheck: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XInstallationCheck::check
+ /** checks if something of the installation is missing.
+
+ <p>If missing parts are detected, check should try to automatically repair/
+ reinstall these parts. Only if this is not possible, return <FALSE/>.
+
+ </p>@see resetSuppressed
+ */
+ boolean check( [in] boolean bForce );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XInstallationCheck::checkWithDialog
+ /** same as check, but additionally shows a dialog if result is <FALSE/>.
+
+ <p>The dialog shows which parts of the installation are missing and
+ can't be repaired/reinstalled automatically. It also contains some
+ hints for the user to reinstall the missing parts on his own.
+ </p>@see check
+ @see resetSuppressed
+ */
+ boolean checkWithDialog( [in] boolean bForce );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XInstallationCheck::executeDialog
+ /** shows a dialog if something of the installation is missing.
+
+ <p>The dialog shows which part(s) is (are) missing, and has a checkbox
+ that represents the state of the flag suppressed. This dialog is
+ the only way to set the flag suppressed to <TRUE/>. This method is
+ not affected by the value of the flag suppressed.
+ </p>@see resetSuppressed
+ */
+ boolean executeDialog();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XInstallationCheck::getSuppressed
+ /** gets the status of flag suppressed
+
+ <p>The flag suppressed is stored in the OfficeRegistry. If suppressed is
+ <FALSE/>, the methods check and checkWithDialog ignore the parameter
+ bForce.
+ If suppressed is <TRUE/>, check and checkWithDialog only
+ perform an action if their parameter bForce is <TRUE/>; otherwise,
+ they return TRUE.
+ </p>
+ */
+ boolean getSuppressed();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XInstallationCheck::setSuppressed
+ /** set status of flag "suppressed".
+ */
+ void setSuppressed( [in] boolean bSuppress );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/XProtocolHandlerCheck.idl b/offapi/com/sun/star/installation/XProtocolHandlerCheck.idl
new file mode 100644
index 000000000000..6961660b0e69
--- /dev/null
+++ b/offapi/com/sun/star/installation/XProtocolHandlerCheck.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_XProtocolHandlerCheck_idl__
+#define __com_sun_star_installation_XProtocolHandlerCheck_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_installation_ProtDlgRes_idl__
+#include <com/sun/star/installation/ProtDlgRes.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module installation {
+
+//=============================================================================
+
+/// @deprecated
+published interface XProtocolHandlerCheck: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XProtocolHandlerCheck::isSingleSettingAvailable
+ /** checks if it is possible to set particular protocols.
+ */
+ boolean isSingleSettingAvailable();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XProtocolHandlerCheck::isProtocolHandler
+ /** checks if StarOffice is the protocol-handler, for the particular protocol
+ */
+ boolean isProtocolHandler( [in] short nWhich );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XProtocolHandlerCheck::setProtocolHandler
+ /** Make StarOffice the protocol-handler.@see isProtocolHandler
+ */
+ boolean setProtocolHandler( [in] short nWhich );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::installation::XProtocolHandlerCheck::checkProtocolHandler
+ /** First, the method checks if StarOffice is
+ already the protocol-handler. If yes, simply
+ return NOCHANGE; otherwise, show a dialog which asks the user
+ if he wants StarOffice to be the standard protocol-handler.
+ The dialog has "Yes" and "No" buttons, and a checkbox
+ with "Always display this message". The checkbox
+ is initially checked. If the "Yes" button was pressed,
+ it performs all neccessary action to make StarOffice the
+ protocol-handler. If the "No" button was pressed,
+ don't perform any action. Both buttons closes the dialog.@see isProtocolHandler
+ */
+ com::sun::star::installation::ProtDlgRes checkProtocolHandler( [in] short nWhich );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/installation/makefile.mk b/offapi/com/sun/star/installation/makefile.mk
new file mode 100644
index 000000000000..5483b64531a8
--- /dev/null
+++ b/offapi/com/sun/star/installation/makefile.mk
@@ -0,0 +1,55 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssinstallation
+PACKAGE=com$/sun$/star$/installation
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ InstallationCheck.idl\
+ InstallationCheckService.idl\
+ InternetSettings.idl\
+ ProtDlgRes.idl\
+ ProtocolHandlerCheck.idl\
+ ProtocolHandlerCheckService.idl\
+ protocols.idl\
+ XInstallationCheck.idl\
+ XProtocolHandlerCheck.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/installation/protocols.idl b/offapi/com/sun/star/installation/protocols.idl
new file mode 100644
index 000000000000..d6be9fae6e86
--- /dev/null
+++ b/offapi/com/sun/star/installation/protocols.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_installation_protocols_idl__
+#define __com_sun_star_installation_protocols_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module installation {
+
+//=============================================================================
+
+/** A protocol-handler is a part of StarOffice which performs
+ the comunication on a paticular protocol. This can be HTTP, FTP, HTTPS,
+ MAILTO, or NEWS. An implementation of this interface should be able
+ to check/set all of these protocols.
+
+ @deprecated
+ */
+published constants protocols
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::ALL
+ /** check/set all supported protocols
+ */
+ const short ALL = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::HTTP
+ /** check/set the HTTP protocol
+ */
+ const short HTTP = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::FTP
+ /** check/set the FTP protocol
+ */
+ const short FTP = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::HTTPS
+ /** check/set the HTTPS protocol
+ */
+ const short HTTPS = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::MAIL
+ /** check/set the MAIL protocol
+ */
+ const short MAIL = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::installation::protocols::NEWS
+ /** check/set the NEWS protocol
+ */
+ const short NEWS = 5;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ldap/LdapConnectionException.idl b/offapi/com/sun/star/ldap/LdapConnectionException.idl
new file mode 100644
index 000000000000..df0d963807e9
--- /dev/null
+++ b/offapi/com/sun/star/ldap/LdapConnectionException.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ldap_LdapConnectionException_idl__
+#define __com_sun_star_ldap_LdapConnectionException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/ldap/LdapGenericException.idl b/offapi/com/sun/star/ldap/LdapGenericException.idl
new file mode 100644
index 000000000000..bcdaab0cf00f
--- /dev/null
+++ b/offapi/com/sun/star/ldap/LdapGenericException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ldap_LdapGenericException_idl__
+#define __com_sun_star_ldap_LdapGenericException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/ldap/makefile.mk b/offapi/com/sun/star/ldap/makefile.mk
new file mode 100644
index 000000000000..35e601ee4b0b
--- /dev/null
+++ b/offapi/com/sun/star/ldap/makefile.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssldap
+PACKAGE=com$/sun$/star$/ldap
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ LdapGenericException.idl\
+ LdapConnectionException.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
new file mode 100644
index 000000000000..ab242d2c40f6
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_ConversionDictionary_idl__
+#define __com_sun_star_linguistic2_ConversionDictionary_idl__
+
+#ifndef __com_sun_star_linguistic2_XConversionDictionary_idl__
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XConversionPropertyType_idl__
+#include <com/sun/star/linguistic2/XConversionPropertyType.idl>
+#endif
+
+//=============================================================================
+
+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.0
+ */
+ [optional] interface com::sun::star::linguistic2::XConversionPropertyType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl
new file mode 100644
index 000000000000..825634af1849
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_ConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_ConversionDictionaryList_idl__
+
+#ifndef __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+#include <com/sun/star/linguistic2/XConversionDictionaryList.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ interface com::sun::star::linguistic2::XConversionDictionaryList;
+ interface com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
new file mode 100644
index 000000000000..cf5d93d49f73
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XConversionDictionary</type>.
+
+ @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 Traditionary Chinese
+
+ @since OOo 2.0.0
+ */
+ const short SCHINESE_TCHINESE = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/ConversionDirection.idl b/offapi/com/sun/star/linguistic2/ConversionDirection.idl
new file mode 100644
index 000000000000..27b648f1932b
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDirection.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XConversionDictionary</type>
+ 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
diff --git a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
new file mode 100644
index 000000000000..e0e2e37357fe
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/linguistic2/Dictionary.idl b/offapi/com/sun/star/linguistic2/Dictionary.idl
new file mode 100644
index 000000000000..397b882bc78d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Dictionary.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_Dictionary_idl__
+#define __com_sun_star_linguistic2_Dictionary_idl__
+
+#ifndef __com_sun_star_linguistic2_XDictionary_idl__
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XSearchableDictionary_idl__
+#include <com/sun/star/linguistic2/XSearchableDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStorable_idl__
+#include <com/sun/star/frame/XStorable.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryEvent.idl
new file mode 100644
index 000000000000..e76395292204
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEvent.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_DictionaryEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type>
+ @see <type scope="com::sun::star::lang">EventObject</type>
+*/
+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 <type scope="com::sun::star::linguistic2">DictionaryEventFlags</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+ */
+ com::sun::star::linguistic2::XDictionaryEntry xDictionaryEntry;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl
new file mode 100644
index 000000000000..b5e3e3b46317
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope="com::sun::star::linguistic2">DictionaryEvent</type>
+*/
+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
diff --git a/offapi/com/sun/star/linguistic2/DictionaryList.idl b/offapi/com/sun/star/linguistic2/DictionaryList.idl
new file mode 100644
index 000000000000..f7f61e95b884
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryList.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_DictionaryList_idl__
+#define __com_sun_star_linguistic2_DictionaryList_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XSearchableDictionaryList;
+
+//=============================================================================
+/** is the list of personal dictionaries.
+
+ <P>The active dictionaries of this list will be used for
+ spellchecking and hyphenation.</P>
+
+ @see <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryList</type>
+ @see <type scope="com::sun::star::linguistic2">XSearchableDictionaryList</type>
+*/
+published service DictionaryList
+{
+ interface com::sun::star::linguistic2::XSearchableDictionaryList;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl
new file mode 100644
index 000000000000..8718219247dd
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_DictionaryListEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryListEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_DictionaryEvent_idl__
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+#endif
+
+
+//=============================================================================
+
+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 it's 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 <type scope="com::sun::star::linguistic2">DictionaryList</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <type scope="com::sun::star::lang">EventObject</type>
+*/
+published struct DictionaryListEvent : com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** the combined type of the accumulated events.
+
+ <p>The value can be the combination of multiple
+ <type scope="com::sun::star::linguistic2">DictionaryListEventFlags</type>
+ by applying the logical OR to them.</p>
+
+ @see <type scope="com::sun::star::linguistic2">DictionaryListEventFlags</type>
+
+ <!-- Dennis: Does the <type> tag change the display of its contents -->
+ <!-- Thomas: AFAIK it should translate into a hyperlink or so. -->
+ */
+ short nCondensedEvent;
+
+ //-------------------------------------------------------------------------
+ /** list of accumulated dictionary events.
+
+ <p>It will be empty if all
+ <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ are satisfied with the condensed representation of the
+ <member scope="com::sun::star::linguistic2">DictionaryListEvent::nCondensedEvent</member>.</p>
+
+ @see <type scope="com::sun::star::linguistic2">DictionaryEvent</type>
+ */
+ sequence< com::sun::star::linguistic2::DictionaryEvent > aDictionaryEvents;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl
new file mode 100644
index 000000000000..457807562a2d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope="com::sun::star::linguistic2">DictionaryListEvent</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryList</type>
+*/
+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
diff --git a/offapi/com/sun/star/linguistic2/DictionaryType.idl b/offapi/com/sun/star/linguistic2/DictionaryType.idl
new file mode 100644
index 000000000000..591d11aa2e6b
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryType.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+*/
+published enum DictionaryType
+{
+ //-------------------------------------------------------------------------
+ /** all entries in the dictionary are positive.
+ */
+ POSITIVE,
+
+ //-------------------------------------------------------------------------
+ /** all entries in the dictionary are negative.
+ */
+ NEGATIVE,
+
+ //-------------------------------------------------------------------------
+ /**
+@deprecated
+ */
+ MIXED
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl
new file mode 100644
index 000000000000..5b6e5dc1da32
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member scope="com::sun::star::linguistic2">ConversionDictionaryType::HANGUL_HANJA</member>.</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
diff --git a/offapi/com/sun/star/linguistic2/Hyphenator.idl b/offapi/com/sun/star/linguistic2/Hyphenator.idl
new file mode 100644
index 000000000000..630a0c64baa1
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Hyphenator.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_Hyphenator_idl__
+#define __com_sun_star_linguistic2_Hyphenator_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceDisplayName_idl__
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+#endif
+
+//=============================================================================
+
+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::XServiceInfo;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/LanguageGuessing.idl b/offapi/com/sun/star/linguistic2/LanguageGuessing.idl
new file mode 100644
index 000000000000..1e99fbca1235
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LanguageGuessing.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_linguistic2_LanguageGuessing_idl__
+#define __com_sun_star_linguistic2_LanguageGuessing_idl__
+
+#include <XLanguageGuessing.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+ service LanguageGuessing:XLanguageGuessing;
+// service LanguageGuessing{
+// interface XLanguageGuessing;
+// interface XLanguageGuesserConfig;
+// };
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/linguistic2/LinguProperties.idl b/offapi/com/sun/star/linguistic2/LinguProperties.idl
new file mode 100644
index 000000000000..d3b419e06b48
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguProperties.idl
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_linguistic2_LinguProperties_idl__
+#define __com_sun_star_linguistic2_LinguProperties_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+//=============================================================================
+/** the set of linguistic relevant properties.
+*/
+published service LinguProperties
+{
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::beans::XFastPropertySet;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** defines whether new German spelling rules should be used for German
+ text or not when doing spellchecking or hyphenation, or using the
+ thesaurus.
+
+ @deprecated since OOo 3.0.1
+ */
+ [property, maybevoid] boolean IsGermanPreReform;
+
+ //-------------------------------------------------------------------------
+ /** defines if the dictionary-list should be used for spellchecking
+ and hyphenation or not.
+ */
+ [property] boolean IsUseDictionaryList;
+
+ //-------------------------------------------------------------------------
+ /** defines if control characters should be ignored or not, by the linguistic
+ (i.e., spellchecker, hyphenator and thesaurus).
+ */
+ [property] boolean IsIgnoreControlCharacters;
+
+ //-------------------------------------------------------------------------
+ /** defines if words with only uppercase letters should be
+ subject to spellchecking or not.
+ */
+ [property] boolean IsSpellUpperCase;
+
+ //-------------------------------------------------------------------------
+ /** defines if words containing digits (or numbers) should be
+ subject to spellchecking or not.
+ */
+ [property] boolean IsSpellWithDigits;
+
+ //-------------------------------------------------------------------------
+ /** defines if the captitalization of words should be checked or not.
+ */
+ [property] boolean IsSpellCapitalization;
+
+ //-------------------------------------------------------------------------
+ /** the minimum number of characters of a word to remain before the
+ hyphen when doing hyphenation.
+ */
+ [property] short HyphMinLeading;
+
+ //-------------------------------------------------------------------------
+ /** the minimum number of characters of a word to remain after the
+ hyphen when doing hyphenation.
+ */
+ [property] short HyphMinTrailing;
+
+ //-------------------------------------------------------------------------
+ /** the minimum length of a word in order to be hyphenated.
+ */
+ [property] short HyphMinWordLength;
+
+ //-------------------------------------------------------------------------
+ /** the default western language for new documents.
+ */
+ [property] 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.
+ */
+ [property] boolean IsHyphAuto;
+
+ //-------------------------------------------------------------------------
+ /** defines whether hyphenation should be done in special regions of
+ documents or not.
+ */
+ [property] boolean IsHyphSpecial;
+
+ //-------------------------------------------------------------------------
+ /** indicates whether spellchecking should be done automatically or not.
+ */
+ [property] boolean IsSpellAuto;
+
+ //-------------------------------------------------------------------------
+ /** indicates whether the markings for incorrectly spelled text should be
+ hidden or not.
+
+ @deprecated since OOo 3.0.1
+ */
+ [property, maybevoid] boolean IsSpellHide;
+
+ //-------------------------------------------------------------------------
+ /** indicates if spellchecking should be performed in all available
+ languages.
+
+ @deprecated since OOo 3.0.1
+ */
+ [property, maybevoid] boolean IsSpellInAllLanguages;
+
+ //-------------------------------------------------------------------------
+ /** defines whether spellchecking should be done in special regions of
+ documents or not.
+ */
+ [property] boolean IsSpellSpecial;
+
+ //-------------------------------------------------------------------------
+ /** defines whether spellchecking should be done in reverse
+ direction or not.
+ */
+ [property] boolean IsWrapReverse;
+
+ //-------------------------------------------------------------------------
+ /** the default language for CJK languages.
+ */
+ [property] com::sun::star::lang::Locale DefaultLocale_CJK;
+
+ //-------------------------------------------------------------------------
+ /** the default language for CTL languages.
+ */
+ [property] com::sun::star::lang::Locale DefaultLocale_CTL;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl b/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl
new file mode 100644
index 000000000000..a3a79079301a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_LinguServiceEvent_idl__
+#define __com_sun_star_linguistic2_LinguServiceEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+//=============================================================================
+/** represents a linguistic service event.
+
+ <P>This type of event may be broadcast by a spellchecker 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 <type scope="com::sun::star::linguistic2">XLinguServiceEventBroadcaster</type>
+ @see <type scope="com::sun::star::linguistic2">XLinguServiceEventListener</type>
+ @see <type scope="com::sun::star::linguistic2">SpellChecker</type>
+ @see <type scope="com::sun::star::linguistic2">Hyphenator</type>
+ @see <type scope="com::sun::star::lang">EventObject</type>
+*/
+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 <type scope="com::sun::star::linguistic2">LinguServiceEventFlags</type></p>
+ */
+ short nEvent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl
new file mode 100644
index 000000000000..7b48cb1c75fe
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::linguistic2">LinguServiceEvent</type></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
+
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceManager.idl b/offapi/com/sun/star/linguistic2/LinguServiceManager.idl
new file mode 100644
index 000000000000..eac83abc40d6
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceManager.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_LinguServiceManager_idl__
+#define __com_sun_star_linguistic2_LinguServiceManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XLinguServiceManager;
+ published interface XAvailableLocales;
+
+//=============================================================================
+/** offers linguistic functionality. Is to be used to access spell checker,
+ hyphenator and thesaurus.
+*/
+published service LinguServiceManager
+{
+ interface com::sun::star::linguistic2::XLinguServiceManager;
+ interface com::sun::star::linguistic2::XAvailableLocales;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/Proofreader.idl b/offapi/com/sun/star/linguistic2/Proofreader.idl
new file mode 100644
index 000000000000..619cad181931
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Proofreader.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl
new file mode 100644
index 000000000000..d0307ebccde4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingResult.idl b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl
new file mode 100644
index 000000000000..2a0fde6a0d12
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_ProofreadingResult_idl__
+#define __com_sun_star_linguistic2_ProofreadingResult_idl__
+
+#ifndef __com_sun_star_text_XFlatParagraph_idl__
+#include <com/sun/star/text/XFlatParagraph.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_SingleProofreadingError_idl__
+#include <com/sun/star/linguistic2/SingleProofreadingError.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_idl_
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl
new file mode 100644
index 000000000000..95d4ce58991c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_SingleProofreadingError_idl__
+#define __com_sun_star_linguistic2_SingleProofreadingError_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_idl_
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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 emtpy if only automatic checking was done.
+ sequence< string > aSuggestions;
+
+ // a list of properties
+ sequence< com::sun::star::beans::PropertyValue > aProperties;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/SpellChecker.idl b/offapi/com/sun/star/linguistic2/SpellChecker.idl
new file mode 100644
index 000000000000..2ab83c0049c8
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellChecker.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_SpellChecker_idl__
+#define __com_sun_star_linguistic2_SpellChecker_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceDisplayName_idl__
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XSpellChecker;
+ published interface XLinguServiceEventBroadcaster;
+
+//=============================================================================
+/** offers spellchecking 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::XServiceInfo;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/SpellFailure.idl b/offapi/com/sun/star/linguistic2/SpellFailure.idl
new file mode 100644
index 000000000000..0fcb12842823
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellFailure.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 spellchecking to fail verification.
+
+ <P>A value of this type is part of the
+ <type scope="com::sun::star::linguistic2">XSpellAlternatives</type>
+ interface which is the return type for an unsuccessfull
+ spelling attempt.</P>
+
+ @see <type scope="com::sun::star::linguistic2">XSpellChecker</type>
+*/
+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
diff --git a/offapi/com/sun/star/linguistic2/Thesaurus.idl b/offapi/com/sun/star/linguistic2/Thesaurus.idl
new file mode 100644
index 000000000000..e181ea0f70a9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Thesaurus.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_Thesaurus_idl__
+#define __com_sun_star_linguistic2_Thesaurus_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_XServiceDisplayName_idl__
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+#endif
+
+//=============================================================================
+
+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::XServiceInfo;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XAvailableLocales.idl b/offapi/com/sun/star/linguistic2/XAvailableLocales.idl
new file mode 100644
index 000000000000..97d75f7c0937
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XAvailableLocales.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XAvailableLocales_idl__
+#define __com_sun_star_linguistic2_XAvailableLocales_idl__
+
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope"com::sun::star::linguistic2">XSupportedLocales</type>
+
+ @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
+
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionary.idl b/offapi/com/sun/star/linguistic2/XConversionDictionary.idl
new file mode 100644
index 000000000000..ddcf471bcd39
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionary.idl
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XConversionDictionary_idl__
+#define __com_sun_star_linguistic2_XConversionDictionary_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_ConversionDictionaryType_idl__
+#include <com/sun/star/linguistic2/ConversionDictionaryType.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_ConversionDirection_idl__
+#include <com/sun/star/linguistic2/ConversionDirection.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+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 bAcvtivate
+ <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 eConversionDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ <type scope="com::sun::star::linguistic2">ConversionDirection</type>.
+
+ @param nTextConversionOptions
+ Combination of <type scope="com::sun::star::i18n">TextConversionOption</type>
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
new file mode 100644
index 000000000000..5df62f5dbb6d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
@@ -0,0 +1,219 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XConversionDictionary_idl__
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::util">XFlushable</type> 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
+ <type scope="com::sun::star::linguistic2">XConversionDictionary</type>
+ interface.
+ The dictionary to be added needs not necessarily be created by
+ this service.</p>
+
+ <p>The <member scope="com::sun::star::container::XNameReplace">replaceByName</member>
+ 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 <type scope="com::sun::star::linguistic2">ConversionDictionaryType</type> 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 refered to.
+
+ @param nConversionDictionaryType
+ specifies the type of conversion the dictionary
+ can be used for. It is one of
+ <type scope="com::sun::star::linguistic2">ConversionDictionaryType</type>.
+
+ @param eConversionDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ <type scope="com::sun::star::linguistic2">ConversionDirection</type>.
+
+ @param nTextConversionOptions
+ Combination of <type scope="com::sun::star::i18n">TextConversionOption</type>
+ 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 refered to.
+ @param nConversionDictionaryType
+ specifies the type of conversion dictionaries to be looked up.
+ It is one of
+ <type scope="com::sun::star::linguistic2">ConversionDictionaryType</type>.
+ @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
+
diff --git a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
new file mode 100644
index 000000000000..0a847f046e78
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XConversionPropertyType_idl__
+#define __com_sun_star_linguistic2_XConversionPropertyType_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::linguistic2">ConversionPropertyType</type></p>
+
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::ConversionPropertyType
+
+ @since OOo 2.0.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
+
diff --git a/offapi/com/sun/star/linguistic2/XDictionary.idl b/offapi/com/sun/star/linguistic2/XDictionary.idl
new file mode 100644
index 000000000000..305b508c1fa4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary.idl
@@ -0,0 +1,275 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionary_idl__
+#define __com_sun_star_linguistic2_XDictionary_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_DictionaryType_idl__
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 spellchecking and hyphenation (see
+ <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>).
+ 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 spellchecking
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryEvent</type>
+ @see <type scope="com::sun::star::container">XNamed</type>
+*/
+published interface XDictionary : com::sun::star::container::XNamed
+{
+ //-------------------------------------------------------------------------
+ /** returns the type of the dictionary.
+
+ @returns
+ the type of the dictionary.
+
+ @see <type scope="com::sun::star::linguistic2">DictionaryType</type>
+ */
+ com::sun::star::linguistic2::DictionaryType getDictionaryType();
+
+ //-------------------------------------------------------------------------
+ /** specifies whether the dictionary should be used or not .
+
+ @param bAcvtivate
+ <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 <type scope="com::sun::star::lang">Locale</type>
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ //-------------------------------------------------------------------------
+ /** is used to set the language of the dictionary.
+
+ @param aLocale
+ the new language of the dictionary.
+
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+ */
+ 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 postive 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 <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+ @see <type scope="com::sun::star::linguistic2">DictionaryType</type>
+ */
+ 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 postive 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 <type scope="com::sun::star::linguistic2">DictionaryType</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+ @see <type scope="com::sun::star::linguistic2">XSearchableDictionary</type>
+ @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
+ <member scope="com::sun::star::linguistic2">XDictionaryEventListener::processDictionaryEvent</member>.</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 <member scope="com::sun::star::lang">XEventListener::disposing</member> was called before,
+ it will always fail.
+
+ @see <member scope="com::sun::star::linguistic2">XDictionary::removeDictionaryEventListener</member>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type>
+ */
+ 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 <member scope="com::sun::star::linguistic2">XDictionary::addDictionaryEventListener</member>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type>
+ */
+ boolean removeDictionaryEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/linguistic2/XDictionary1.idl b/offapi/com/sun/star/linguistic2/XDictionary1.idl
new file mode 100644
index 000000000000..acf2b38fbc93
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary1.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionary1_idl__
+#define __com_sun_star_linguistic2_XDictionary1_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_DictionaryType_idl__
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+#endif
+
+//=============================================================================
+
+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
+
+
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl b/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl
new file mode 100644
index 000000000000..c9f2f89e588a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#define __com_sun_star_linguistic2_XDictionaryEntry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+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 hyhenation
+ 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 '=' charcter 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::uno">XInterface</type>
+*/
+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
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl
new file mode 100644
index 000000000000..7436ab9283cc
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_DictionaryEvent_idl__
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::linguistic2">DictionaryEvent</type>s.</P>
+
+ @see <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::lang">XEventListener</type>
+*/
+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 <type scope="com::sun::star::lang">DictionaryEvent</type>
+ */
+ void processDictionaryEvent(
+ [in] com::sun::star::linguistic2::DictionaryEvent aDicEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryList.idl b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
new file mode 100644
index 000000000000..c45c18b8bb43
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#define __com_sun_star_linguistic2_XDictionaryList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionary_idl__
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryListEventListener_idl__
+#include <com/sun/star/linguistic2/XDictionaryListEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 spellchecker 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::uno">XInterface</type>
+*/
+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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ */
+ 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
+ <member scope="com::sun::star::linguistic2">XDictionaryListEventListener::processDictionaryListEvent</member>.</P>
+
+ @returns
+ <TRUE/> if the entry was made, <FALSE/> otherwise.
+ If <member scope="com::sun::star::lang">XEventListener::disposing</member>
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::endCollectEvents</member>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::flushEvents</member>
+ */
+ 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 notfied of every single
+ event.</P>
+
+ @returns
+ the current request level for event buffering.
+
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::beginCollectEvents</member>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::flushEvents</member>
+ */
+ short endCollectEvents();
+
+ //-------------------------------------------------------------------------
+ /** notifies the listeners of all buffered events and then clears
+ that buffer.
+
+ @returns
+ the current request level for event buffering.
+
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::beginCollectEvents</member>
+ @see <member scope="com::sun::star::linguistic2">XDictionaryList::endCollectEvents</member>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XDictionary</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ @see <type scope="com::sun::star::linguistic2">DictionaryType</type>
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl
new file mode 100644
index 000000000000..c1c251de04ae
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XDictionaryListEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryListEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_DictionaryListEvent_idl__
+#include <com/sun/star/linguistic2/DictionaryListEvent.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">DictionaryListEvent</type>
+ @see <type scope="com::sun::star::linguistic2">XDictionaryList</type>
+*/
+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 <type scope="com::sun::star::linguistic2">DictionaryListEvent</type>
+ */
+ void processDictionaryListEvent(
+ [in] com::sun::star::linguistic2::DictionaryListEvent aDicListEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
new file mode 100644
index 000000000000..94aa9166c2e9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__
+#define __com_sun_star_linguistic2_XHyphenatedWord_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XHyphenator</type>
+*/
+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
+
diff --git a/offapi/com/sun/star/linguistic2/XHyphenator.idl b/offapi/com/sun/star/linguistic2/XHyphenator.idl
new file mode 100644
index 000000000000..dce5a4674865
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenator.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XHyphenator_idl__
+#define __com_sun_star_linguistic2_XHyphenator_idl__
+
+
+#ifndef __com_sun_star_lang_Localeidl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XHyphenatedWord_idl__
+#include <com/sun/star/linguistic2/XHyphenatedWord.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XPossibleHyphens_idl__
+#include <com/sun/star/linguistic2/XPossibleHyphens.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_idl_
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">LinguProperties</type>
+ @see <type scope="com::sun::star::linguistic2">XSupportedLocales</type>
+*/
+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 <type scope="com::sun::star::linguistic2">XHyphenatedWord</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XHyphenatedWord</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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
+ an <type scope="com::sun::star::linguistic2">XPossibleHyphens</type>
+ 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 <type scope="com::sun::star::linguistic2">XPossibleHyphens</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
new file mode 100644
index 000000000000..5535c6e98569
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
@@ -0,0 +1,205 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_linguistic2_XLanguageGuessing_idl__
+#define __com_sun_star_linguistic2_XLanguageGuessing_idl__
+
+#ifndef _COM_SUN_STAR_UNO_XINTERFACE_idl_
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef _COM_SUN_STAR_LANG_LOCALE_idl_
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef _COM_SUN_STAR_LANG_ILLEGALARGUMENTEXCEPTION_IDL_
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+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 : Farsi</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 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 liklely 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 <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl
new file mode 100644
index 000000000000..ec61bdca6679
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XLinguServiceEventBroadcaster_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventBroadcaster_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XLinguServiceEventListener_idl__
+#include <com/sun/star/linguistic2/XLinguServiceEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+//=============================================================================
+/** is used to register a listener for LinguServiceEvents.
+
+ <P>This interface may be used by spellchecker or hyphenator
+ implementations to allow clients to be registered and informed about
+ <type scope="com::sun::star::linguistic2">LinguServiceEvent</type>s.
+ </P>
+
+ <P>Note: The LinguServiceManager forwards the
+ <type scope="com::sun::star::linguistic2">LinguServiceEvent</type>s
+ it receives (from spellcheckers or hyphenators) to its own listeners.
+ Thus, there should be no need to register
+ as a listener for a specific implementation./P>
+
+ @see <type scope="com::sun::star::linguistic2">XLinguServiceManager</type>
+ @see <type scope="com::sun::star::linguistic2">XLinguServiceEventListener</type>
+*/
+published interface XLinguServiceEventBroadcaster : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ <TRUE/> if the listener was successfully added,
+ <FALSE/> otherwise.
+
+ @param xLstnr
+ the listener to be addded.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl
new file mode 100644
index 000000000000..f838529078e4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XLinguServiceEventListener_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventListener_idl__
+
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_LinguServiceEvent_idl__
+#include <com/sun/star/linguistic2/LinguServiceEvent.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::linguistic2">XLinguServiceEventBroadcaster</type>
+ to inform its listeners about the
+ <type scope="com::sun::star::linguistic2">LinguServiceEvent</type>s.
+ </P>
+
+ @see <type scope="com::sun::star::linguistic2">XLinguServiceManager</type>
+*/
+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
+
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
new file mode 100644
index 000000000000..15b8acc6322a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XLinguServiceManager_idl__
+#define __com_sun_star_linguistic2_XLinguServiceManager_idl__
+
+
+#ifndef __com_sun_star_linguistic2_XSpellChecker_idl__
+#include <com/sun/star/linguistic2/XSpellChecker.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XHyphenator_idl__
+#include <com/sun/star/linguistic2/XHyphenator.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XThesaurus_idl__
+#include <com/sun/star/linguistic2/XThesaurus.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 spellchecker, 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 spellchecking and thesaurus, the order in the list defines the order
+ of creation/usage of those services.
+ That is, if the first spellchecker 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 <type scope="com::sun::star::linguistic2">SpellChecker</type>
+ @see <type scope="com::sun::star::linguistic2">Hyphenator</type>
+ @see <type scope="com::sun::star::linguistic2">Thesaurus</type>
+*/
+published interface XLinguServiceManager : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ the <type scope="com::sun::star::linguistic2">XSpellChecker</type>
+ interface to be used for spellchecking.
+ */
+ com::sun::star::linguistic2::XSpellChecker getSpellChecker();
+
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ the <type scope="com::sun::star::linguistic2">XHyphenator</type>
+ interface to be used for hyphenation.
+ */
+ com::sun::star::linguistic2::XHyphenator getHyphenator();
+
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ the <type scope="com::sun::star::linguistic2">XThesaurus</type>
+ 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
+ <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type>
+ and
+ <type scope="com::sun::star::linguistic2">XLinguServiceEventListener</type>
+ interfaces.
+ </P>
+
+ @returns
+ <TRUE/> if the listener was succesfully 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 succesfully 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
diff --git a/offapi/com/sun/star/linguistic2/XMeaning.idl b/offapi/com/sun/star/linguistic2/XMeaning.idl
new file mode 100644
index 000000000000..f7a0eb007817
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XMeaning.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XMeaning_idl__
+#define __com_sun_star_linguistic2_XMeaning_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::linguistic2">XThesaurus::queryMeanings</member>
+ call and allows for retrieval of its synonyms.
+ </P>
+
+ @see <type scope="com::sun::star::linguistic2">XThesaurus</type>
+ */
+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
diff --git a/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl b/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl
new file mode 100644
index 000000000000..14f45212f223
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XPossibleHyphens_idl__
+#define __com_sun_star_linguistic2_XPossibleHyphens_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XHyphenator</type>
+*/
+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 <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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
+ <member scope="com::sun::star::linguistic2">XPossibleHyphens::getPossibleHyphens</member>.
+ */
+ sequence<short> getHyphenationPositions();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XProofreader.idl b/offapi/com/sun/star/linguistic2/XProofreader.idl
new file mode 100644
index 000000000000..89a6bc8d7a3e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreader.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XProofreader_idl__
+#define __com_sun_star_linguistic2_XProofreader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFlatParagraph_idl__
+#include <com/sun/star/text/XFlatParagraph.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_ProofreadingResult_idl__
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_idl_
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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 spellchecker
+
+ @returns true if it is also a spell checker
+ */
+ boolean isSpellChecker();
+
+ //-------------------------------------------------------------------------
+ /** start checking
+
+ @param nDocId
+ the Document ID.
+
+ @param rFlatParaText
+ the flat text to be checked.
+
+ @param xFlatPara
+ the flat paragraph to be checked.
+
+ @param aLocale
+ Language used in the text.
+
+ @param nStartOfSentencePos
+ Start Index of the text.
+
+ @param nSuggestedSentenceEndPos
+ Probable end position of the text.
+
+ @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
diff --git a/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl
new file mode 100644
index 000000000000..c7be591e86ad
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XProofreadingIterator_idl__
+#define __com_sun_star_linguistic2_XProofreadingIterator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFlatParagraphIteratorProvider_idl__
+#include <com/sun/star/text/XFlatParagraphIteratorProvider.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFlatParagraph_idl__
+#include <com/sun/star/text/XFlatParagraph.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_ProofreadingResult_idl__
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+#endif
+
+//=============================================================================
+
+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 xDoc
+ 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 xDoc
+ the document.
+
+ @param xStartPara
+ the single flat paragraph to be checked.
+
+ @param nErrorPosInPara
+ 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 prrofreader
+ */
+ void resetIgnoreRules();
+
+ //-------------------------------------------------------------------------
+ /** checks if the given document is currently being checked
+
+ @param xDoc
+ the document.
+
+ @returns
+ if the document is currently being checked.
+ */
+ boolean isProofreading( [in] com::sun::star::uno::XInterface xDocument );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl
new file mode 100644
index 000000000000..69c8f00b3089
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSearchableDictionary_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionary_idl__
+
+#ifndef __com_sun_star_linguistic2_XDictionary_idl__
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>
+ @see <type scope="com::sun::star::linguistic2">XSearchableDictionaryList</type>
+ @since OOo 3.0.1
+ */
+ sequence< com::sun::star::linguistic2::XDictionaryEntry > searchSimilarEntries( [in] string aWord );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl
new file mode 100644
index 000000000000..4e61072d7286
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSearchableDictionaryList_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionaryList_idl__
+
+
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+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 langauges.
+ <P>
+
+ @see <type scope="com::sun::star::linguistic2">XDictionaryList</type>
+*/
+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 bSearchPosDic
+ <TRUE/> if only positive dictionaries should be searched.
+ <FALSE/> if only negative dictionaries should be searched.
+
+ @param bSpellEntry
+ <TRUE/> if entries for purposes of spellchecking 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
+
+
diff --git a/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl
new file mode 100644
index 000000000000..3d91e61a0d85
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSetSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSetSpellAlternatives_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XSpellAlternatives</type>
+*/
+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 <tyoe scope="com::sun::star::linguistic2">SpellFailure</type>
+ @since OOo 3.0.1
+ */
+ void setFailureType( [in] short nFailureType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl
new file mode 100644
index 000000000000..de14f5bdc420
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSpellAlternatives_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+//=============================================================================
+/** Gives access to the results of failed
+ spellchecking attempts and may provide spelling alternatives.
+
+ <P>This is used by the
+ <member scope="com::sun::star::linguistic2">XSpellChecker::spell</member>
+ 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 specifiy why the word was not correct.
+ </P>
+
+ @see <tyoe scope="com::sun::star::linguistic2">SpellFailure</type>
+*/
+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 spellchecking to have failed verification.
+
+ @see <tyoe scope="com::sun::star::linguistic2">SpellFailure</type>
+ */
+ short getFailureType();
+
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ the number of suggested spelling alternatives available.
+ */
+ short getAlternativesCount();
+
+ //-------------------------------------------------------------------------
+ /**
+ @returns
+ the sequence of suggested spelling alternatives.
+ */
+ sequence<string> getAlternatives();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker.idl b/offapi/com/sun/star/linguistic2/XSpellChecker.idl
new file mode 100644
index 000000000000..a8c432f6b6e9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSpellChecker_idl__
+#define __com_sun_star_linguistic2_XSpellChecker_idl__
+
+#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XSpellAlternatives_idl__
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_idl_
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module linguistic2 {
+
+//=============================================================================
+/** This interface allows for spellchecking.
+
+ <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 <type scope="com::sun::star::linguistic2">XSupportedLocales</type>
+*/
+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 <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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 <type scope="com::sun::star::linguistic2">XSpellAlternatives</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker1.idl b/offapi/com/sun/star/linguistic2/XSpellChecker1.idl
new file mode 100644
index 000000000000..39f649b383c4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker1.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSpellChecker1_idl__
+#define __com_sun_star_linguistic2_XSpellChecker1_idl__
+
+#ifndef __com_sun_star_linguistic2_XSupportedLanguages_idl__
+#include <com/sun/star/linguistic2/XSupportedLanguages.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XSpellAlternatives_idl__
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#endif
+
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_idl_
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl b/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl
new file mode 100644
index 000000000000..38410fb5e788
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSupportedLanguages_idl__
+#define __com_sun_star_linguistic2_XSupportedLanguages_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLocales.idl b/offapi/com/sun/star/linguistic2/XSupportedLocales.idl
new file mode 100644
index 000000000000..6e145eaee2c3
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLocales.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
+#define __com_sun_star_linguistic2_XSupportedLocales_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::linguistic2">SpellChecker</type>,
+ <type scope="com::sun::star::linguistic2">Hyphenator</type> and
+ <type scope="com::sun::star::linguistic2">Thesaurus</type>
+ implementations in order to be queried for the languages they
+ can use.
+ </P>
+
+ @see <type scope="com::sun::star::lang">Locale</type>
+ @see <type scope="com::sun::star::uno">XInterface</type>
+*/
+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
diff --git a/offapi/com/sun/star/linguistic2/XThesaurus.idl b/offapi/com/sun/star/linguistic2/XThesaurus.idl
new file mode 100644
index 000000000000..602f78184bd7
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XThesaurus.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_linguistic2_XThesaurus_idl__
+#define __com_sun_star_linguistic2_XThesaurus_idl__
+
+#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#endif
+
+#ifndef __com_sun_star_linguistic2_XMeaning_idl__
+#include <com/sun/star/linguistic2/XMeaning.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::linguistic2">XSupportedLocales</type>
+*/
+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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type scope="com::sun::star::lang">Locale</type>
+ @see <type scope="com::sun::star::linguistic2">XMeaning</type>
+ */
+ 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
+
diff --git a/offapi/com/sun/star/linguistic2/makefile.mk b/offapi/com/sun/star/linguistic2/makefile.mk
new file mode 100644
index 000000000000..54c08c7be4b9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/makefile.mk
@@ -0,0 +1,101 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csslinguistic2
+PACKAGE=com$/sun$/star$/linguistic2
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ConversionDictionary.idl \
+ ConversionDictionaryList.idl \
+ ConversionDictionaryType.idl \
+ ConversionDirection.idl \
+ ConversionPropertyType.idl \
+ Dictionary.idl\
+ DictionaryEvent.idl\
+ DictionaryEventFlags.idl\
+ DictionaryList.idl\
+ DictionaryListEvent.idl\
+ DictionaryListEventFlags.idl\
+ DictionaryType.idl\
+ HangulHanjaConversionDictionary.idl \
+ Hyphenator.idl\
+ LinguProperties.idl\
+ LinguServiceEvent.idl\
+ LinguServiceEventFlags.idl\
+ LinguServiceManager.idl\
+ SpellChecker.idl\
+ SpellFailure.idl\
+ Thesaurus.idl\
+ XAvailableLocales.idl\
+ XConversionDictionary.idl \
+ XConversionDictionaryList.idl \
+ XConversionPropertyType.idl \
+ XDictionary.idl\
+ XDictionary1.idl\
+ XDictionaryEntry.idl\
+ XDictionaryEventListener.idl\
+ XDictionaryList.idl\
+ XDictionaryListEventListener.idl\
+ XHyphenatedWord.idl\
+ XHyphenator.idl\
+ XLanguageGuessing.idl\
+ XLinguServiceEventBroadcaster.idl\
+ XLinguServiceEventListener.idl\
+ XLinguServiceManager.idl\
+ XMeaning.idl\
+ XPossibleHyphens.idl\
+ XSearchableDictionary.idl\
+ XSearchableDictionaryList.idl\
+ XSpellAlternatives.idl\
+ XSetSpellAlternatives.idl\
+ XSpellChecker.idl\
+ XSpellChecker1.idl\
+ XSupportedLanguages.idl\
+ XSupportedLocales.idl\
+ XThesaurus.idl\
+ SingleProofreadingError.idl\
+ ProofreadingResult.idl\
+ Proofreader.idl\
+ XProofreader.idl\
+ XProofreadingIterator.idl\
+ ProofreadingIterator.idl
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/logging/ConsoleHandler.idl b/offapi/com/sun/star/logging/ConsoleHandler.idl
new file mode 100644
index 000000000000..92bd6fdc7e28
--- /dev/null
+++ b/offapi/com/sun/star/logging/ConsoleHandler.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_ConsoleHandler_idl__
+#define __com_sun_star_logging_ConsoleHandler_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+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 <member>XLogHandler::Encoding</member></li>
+ <li><code>Formatter</code> - denotes the initial value of the <member>XLogHandler::Formatter</member></li>
+ <li><code>Level</code> - denotes the initial value of the <member>XLogHandler::Level</member></li>
+ <li><code>Threshold</code> - denotes the initial value of the <member>XConsoleHandler::Threshold</member></li>
+ </ul></p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>Settings</args> 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
diff --git a/offapi/com/sun/star/logging/CsvLogFormatter.idl b/offapi/com/sun/star/logging/CsvLogFormatter.idl
new file mode 100644
index 000000000000..4db61b9be9d9
--- /dev/null
+++ b/offapi/com/sun/star/logging/CsvLogFormatter.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 <member>XCsvLogFormatter::format</member>,
+ 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
+ userdefined columns. If the Formatter is configured to have more than one
+ (userdefined) 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
diff --git a/offapi/com/sun/star/logging/DocumentIOLogRing.idl b/offapi/com/sun/star/logging/DocumentIOLogRing.idl
new file mode 100644
index 000000000000..59593e2b3285
--- /dev/null
+++ b/offapi/com/sun/star/logging/DocumentIOLogRing.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_DocumentIOLogRing_idl__
+#define __com_sun_star_logging_DocumentIOLogRing_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+interface XSimpleLogRing;
+
+//=============================================================================
+
+/** This singleton is intended to log the IO events related to loading/storing
+ of documents.
+
+ <p>
+ Please do not use the singleton without communication with source owner!
+ </p>
+
+ @since OOo 3.2
+ */
+singleton DocumentIOLogRing : XSimpleLogRing;
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/FileHandler.idl b/offapi/com/sun/star/logging/FileHandler.idl
new file mode 100644
index 000000000000..b20a50618a56
--- /dev/null
+++ b/offapi/com/sun/star/logging/FileHandler.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_FileHandler_idl__
+#define __com_sun_star_logging_FileHandler_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XLogHandler</type>
+ 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
+ <type scope="::com::sun::star::util">PathSubstitution</type> 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 <member>XLogHandler::Encoding</member></li>
+ <li><code>Formatter</code> - denotes the initial value of the <member>XLogHandler::Formatter</member></li>
+ <li><code>Level</code> - denotes the initial value of the <member>XLogHandler::Level</member></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 <arg>Settings</args> 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
diff --git a/offapi/com/sun/star/logging/LogLevel.idl b/offapi/com/sun/star/logging/LogLevel.idl
new file mode 100644
index 000000000000..7a5f96470aa9
--- /dev/null
+++ b/offapi/com/sun/star/logging/LogLevel.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XLogger</type> 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 <type>XLogger</type> to enable logging
+ of absolutely all events. You will usually not use it with a concrete log event.</p>
+ */
+ const long ALL = -0x80000000;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/LogRecord.idl b/offapi/com/sun/star/logging/LogRecord.idl
new file mode 100644
index 000000000000..9d35f351de04
--- /dev/null
+++ b/offapi/com/sun/star/logging/LogRecord.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_LogRecord_idl__
+#define __com_sun_star_logging_LogRecord_idl__
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XLogger</type> 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 <type>XLogger</type> 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 <type>XLogger</type>
+ 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
diff --git a/offapi/com/sun/star/logging/LoggerPool.idl b/offapi/com/sun/star/logging/LoggerPool.idl
new file mode 100644
index 000000000000..5372e09c088d
--- /dev/null
+++ b/offapi/com/sun/star/logging/LoggerPool.idl
@@ -0,0 +1,34 @@
+#ifndef __com_sun_star_logging_LoggerPool_idl__
+#define __com_sun_star_logging_LoggerPool_idl__
+
+#ifndef __com_sun_star_logging_XLoggerPool_idl__
+#include <com/sun/star/logging/XLoggerPool.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+//=============================================================================
+
+/** the global pool of named <type>XLogger</type> 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>
+*/
+/** the global pool of named <type>XLogger</type> 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
diff --git a/offapi/com/sun/star/logging/PlainTextFormatter.idl b/offapi/com/sun/star/logging/PlainTextFormatter.idl
new file mode 100644
index 000000000000..a8580ed5400a
--- /dev/null
+++ b/offapi/com/sun/star/logging/PlainTextFormatter.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XLogFormatter::format</member>, 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
diff --git a/offapi/com/sun/star/logging/SimpleLogRing.idl b/offapi/com/sun/star/logging/SimpleLogRing.idl
new file mode 100644
index 000000000000..fe3083724c26
--- /dev/null
+++ b/offapi/com/sun/star/logging/SimpleLogRing.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_SimpleLogRing_idl__
+#define __com_sun_star_logging_SimpleLogRing_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+interface XSimpleLogRing;
+
+//=============================================================================
+
+/** This service allows to log the events in a ring of specified size.
+
+ @since OOo 3.2
+ */
+service SimpleLogRing : XSimpleLogRing
+{
+ /** creates a ring of default size - 256 messages
+ */
+ create();
+
+ /** creates a ring of specified size
+ @param nSize
+ the number of messages in a ring
+ */
+ createWithSize( [in] long nSize );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/XConsoleHandler.idl b/offapi/com/sun/star/logging/XConsoleHandler.idl
new file mode 100644
index 000000000000..a8d634c78f05
--- /dev/null
+++ b/offapi/com/sun/star/logging/XConsoleHandler.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_logging_XConsoleHandler_idl__
+#define __offapi_com_sun_star_logging_XConsoleHandler_idl__
+
+#ifndef __com_sun_star_logging_XLogHandler_idl__
+#include <com/sun/star/logging/XLogHandler.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ /** renotes the <type>LogLevel</type> 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 <member>LogLevel::SEVERE</member>.</p>
+ */
+ [attribute] long Threshold;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/XCsvLogFormatter.idl b/offapi/com/sun/star/logging/XCsvLogFormatter.idl
new file mode 100644
index 000000000000..ca054060be87
--- /dev/null
+++ b/offapi/com/sun/star/logging/XCsvLogFormatter.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+
+#ifndef __com_sun_star_logging_XCsvLogFormatter_idl__
+#define __com_sun_star_logging_XCsvLogFormatter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_logging_XLogFormatter_idl__
+#include <com/sun/star/logging/XLogFormatter.idl>
+#endif
+
+//=============================================================================
+
+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 infomation has to be send through this
+ method before calling log(). E.g.:
+
+ <code>XLoggerInstance.log(1000, XCsvLogFormatterInstance.formatMultiColumn(column_data))</code>
+ */
+ string formatMultiColumn( [in] sequence< string > column_data);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/XLogFormatter.idl b/offapi/com/sun/star/logging/XLogFormatter.idl
new file mode 100644
index 000000000000..4a0e5c68b6ef
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogFormatter.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_XLogFormatter_idl__
+#define __com_sun_star_logging_XLogFormatter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_logging_LogRecord_idl__
+#include <com/sun/star/logging/LogRecord.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XLogHandler</type>
+ is emitted to its output channel before actually logging any concrete
+ <type>LogRecord</type>.</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 <type>XLogHandler</type> 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 <type>XLogHandler</type>
+ is emitted to its output channel before it is finally being closed.</p>
+ */
+ string getTail();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/XLogHandler.idl b/offapi/com/sun/star/logging/XLogHandler.idl
new file mode 100644
index 000000000000..6bf52bd9f2cd
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogHandler.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_XLogHandler_idl__
+#define __com_sun_star_logging_XLogHandler_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_logging_LogRecord_idl__
+#include <com/sun/star/logging/LogRecord.idl>
+#endif
+
+#ifndef __com_sun_star_logging_XLogFormatter_idl__
+#include <com/sun/star/logging/XLogFormatter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+//=============================================================================
+
+/** provides possibilites to send <type>LogRecord</type>s 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 <type>XLogger</type> 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
diff --git a/offapi/com/sun/star/logging/XLogger.idl b/offapi/com/sun/star/logging/XLogger.idl
new file mode 100644
index 000000000000..74998458af88
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLogger.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_XLogger_idl__
+#define __com_sun_star_logging_XLogger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 menthods 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 <type>LogRecord</type>
+ 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 (<member>XLogHandler::Level</member>) 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 beed 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 <member>Level</member>
+ 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 occured.
+
+ @param Level
+ the log level of this message. If this level is smaller than the logger's <member>Level</member>
+ attribute, then the call will be ignored.
+
+ @param SourceClass
+ the source class at which the logged event occured.
+
+ @param SourceMethod
+ the source class at which the logged event occured.
+
+ @param Message
+ the message to log
+ */
+ void logp( [in] long Level, [in] string SourceClassName, [in] string SourceMethodName, [in] string Message );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/XLoggerPool.idl b/offapi/com/sun/star/logging/XLoggerPool.idl
new file mode 100644
index 000000000000..e7c1017dc8a4
--- /dev/null
+++ b/offapi/com/sun/star/logging/XLoggerPool.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_XLoggerPool_idl__
+#define __com_sun_star_logging_XLoggerPool_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+interface XLogger;
+
+//=============================================================================
+
+/** implements a pool for named <type>XLogger</type> 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
diff --git a/offapi/com/sun/star/logging/XSimpleLogRing.idl b/offapi/com/sun/star/logging/XSimpleLogRing.idl
new file mode 100644
index 000000000000..a0a8d1f0483c
--- /dev/null
+++ b/offapi/com/sun/star/logging/XSimpleLogRing.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_logging_XSimpleLogRing_idl__
+#define __com_sun_star_logging_XSimpleLogRing_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module logging {
+
+//=============================================================================
+
+/** a simple log ring allowing to collect a limited number of last events
+
+ <p>
+ The intention of this interface is to provide a simple possibility
+ for developer to collect the most important events without affecting
+ the performance. For this reasons the messages related API is quite
+ simple, the strings should be produced by the preprocessor mainly.
+ </p>
+
+ @since OOo 3.2
+ */
+interface XSimpleLogRing
+{
+ /** allows to add a message to the logger
+ */
+ void logString( [in] string aMessage );
+
+ /** allows to get the collected messages from the logger
+
+ <p>
+ It is up to logger implementation to provide only the limited
+ number of last messages.
+ </p>
+ */
+ sequence< string > getCollectedLog();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/logging/makefile.mk b/offapi/com/sun/star/logging/makefile.mk
new file mode 100644
index 000000000000..9a5e82845443
--- /dev/null
+++ b/offapi/com/sun/star/logging/makefile.mk
@@ -0,0 +1,55 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ := ..$/..$/..$/..
+PRJNAME := offapi
+TARGET := csslogging
+
+PACKAGE := com$/sun$/star$/logging
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ ConsoleHandler.idl\
+ CsvLogFormatter.idl\
+ DocumentIOLogRing.idl\
+ FileHandler.idl\
+ LoggerPool.idl\
+ LogLevel.idl\
+ LogRecord.idl\
+ PlainTextFormatter.idl\
+ SimpleLogRing.idl\
+ XConsoleHandler.idl\
+ XCsvLogFormatter.idl\
+ XLogFormatter.idl\
+ XLogger.idl\
+ XLoggerPool.idl\
+ XLogHandler.idl\
+ XSimpleLogRing.idl
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/mail/MailAttachment.idl b/offapi/com/sun/star/mail/MailAttachment.idl
new file mode 100644
index 000000000000..a30aadfa0304
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailAttachment.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_MailAttachment_idl__
+#define __com_sun_star_mail_MailAttachment_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ A <type>MailAttachment</type> specifies a mail message attachment.
+
+ @see ::com::sun::star::mail::XMailMessage
+
+ @since OOo 2.0.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 retrive 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
diff --git a/offapi/com/sun/star/mail/MailException.idl b/offapi/com/sun/star/mail/MailException.idl
new file mode 100644
index 000000000000..5f5bfff11f81
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailException.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#define __com_sun_star_mail_MailException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ An MailException is the base of all mail related
+ exceptions.
+
+ @since OOo 2.0.0
+ */
+exception MailException: com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/MailMessage.idl b/offapi/com/sun/star/mail/MailMessage.idl
new file mode 100644
index 000000000000..2112865d00f8
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailMessage.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_MailMessage_idl__
+#define __com_sun_star_mail_MailMessage_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailAttachment_idl__
+#include <com/sun/star/mail/MailAttachment.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+interface XMailMessage;
+
+/**
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/mail/MailServer.idl b/offapi/com/sun/star/mail/MailServer.idl
new file mode 100644
index 000000000000..f6b448946eb4
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailServer.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_MailServer_idl__
+#define __com_sun_star_mail_MailServer_idl__
+
+#ifndef __com_sun_star_mail_NoMailTransportProviderException_idl__
+#include <com/sun/star/mail/NoMailTransportProviderException.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+interface XMailServer;
+
+/**
+ @since OOo 2.0.0
+ */
+service MailServer: XMailServer
+{
+ /**
+ Creation method.
+
+ @param sServerName
+ [in] the full qualified domain name of the mail server.
+
+ @throws com::sun::star::mail::NoMailTransportProviderException
+ if an appropriate provider for sending mail messages could not be found or
+ could not be created.
+
+ @throws com::sun::star::uno::Exception
+ on any other error which prevents the construction of an instance of this service.
+
+ @see com::sun::star::mail::XMailServer
+ */
+ create([in] string sServerName)
+ raises(com::sun::star::mail::NoMailTransportProviderException, com::sun::star::uno::Exception);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/MailServiceProvider.idl b/offapi/com/sun/star/mail/MailServiceProvider.idl
new file mode 100644
index 000000000000..af48d9e9b3e7
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailServiceProvider.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_MailServiceProvider_idl__
+#define __com_sun_star_mail_MailServiceProvider_idl__
+
+#ifndef __com_sun_star_mail_XMailServiceProvider_idl__
+#include <com/sun/star/mail/XMailServiceProvider.idl>
+#endif
+
+#ifndef __com_sun_star_mail_NoMailServiceProviderException_idl__
+#include <com/sun/star/mail/NoMailServiceProviderException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailServiceType_idl__
+#include <com/sun/star/mail/MailServiceType.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+interface XMailService;
+
+/**
+ @since OOo 2.0.0
+ */
+service MailServiceProvider: XMailServiceProvider
+{
+ /**
+ Creation method.
+
+ @see com::sun::star::mail::XMailServiceProvider
+ */
+ create();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/MailServiceType.idl b/offapi/com/sun/star/mail/MailServiceType.idl
new file mode 100644
index 000000000000..94aa985a06c2
--- /dev/null
+++ b/offapi/com/sun/star/mail/MailServiceType.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.0
+ */
+enum MailServiceType
+{
+ /** A SMTP service */
+ SMTP,
+
+ /** A POP3 service */
+ POP3,
+
+ /** A IMAP service */
+ IMAP
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
new file mode 100644
index 000000000000..a8e3d52396b9
--- /dev/null
+++ b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_NoMailServiceProviderException_idl__
+#define __com_sun_star_mail_NoMailServiceProviderException_idl__
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ A <type>NoMailServiceProviderException</type> 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.0
+ */
+exception NoMailServiceProviderException: com::sun::star::mail::MailException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
new file mode 100644
index 000000000000..3cad64b8f900
--- /dev/null
+++ b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_NoMailTransportProviderException_idl__
+#define __com_sun_star_mail_NoMailTransportProviderException_idl__
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ A <type>NoMailTransportProviderException</type> 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.0
+ */
+exception NoMailTransportProviderException: com::sun::star::mail::MailException
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
new file mode 100644
index 000000000000..8987bf587596
--- /dev/null
+++ b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_SendMailMessageFailedException_idl__
+#define __com_sun_star_mail_SendMailMessageFailedException_idl__
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+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::XMailServer
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/mail/XAuthenticator.idl b/offapi/com/sun/star/mail/XAuthenticator.idl
new file mode 100644
index 000000000000..564ad4e484f1
--- /dev/null
+++ b/offapi/com/sun/star/mail/XAuthenticator.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XAuthenticator_idl__
+#define __com_sun_star_mail_XAuthenticator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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.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
diff --git a/offapi/com/sun/star/mail/XConnectionListener.idl b/offapi/com/sun/star/mail/XConnectionListener.idl
new file mode 100644
index 000000000000..5ca8511f7c97
--- /dev/null
+++ b/offapi/com/sun/star/mail/XConnectionListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XConnectionListener_idl__
+#define __com_sun_star_mail_XConnectionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ The listener interface for connection events.
+
+ @see com::sun::star::mail::XMailServer
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/mail/XMailMessage.idl b/offapi/com/sun/star/mail/XMailMessage.idl
new file mode 100644
index 000000000000..b87ea1ca6c5c
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailMessage.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XMailMessage_idl__
+#define __com_sun_star_mail_XMailMessage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailAttachment_idl__
+#include <com/sun/star/mail/MailAttachment.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a mail message.
+
+ @see com::sun::star::mail::XMailServer
+
+ @since OOo 2.0.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 an 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 an 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 an 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 <type>MailAttachment</type>'s that will
+ be attached to this mail message.
+
+ @see com::sun::star::mail::MailAttachment
+ */
+ sequence<MailAttachment> getAttachments();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mail/XMailServer.idl b/offapi/com/sun/star/mail/XMailServer.idl
new file mode 100644
index 000000000000..8d0ad232ed61
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailServer.idl
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XMailServer_idl__
+#define __com_sun_star_mail_XMailServer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XAuthenticator_idl__
+#include <com/sun/star/mail/XAuthenticator.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XMailMessage_idl__
+#include <com/sun/star/mail/XMailMessage.idl>
+#endif
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_AlreadyConnectedException_idl__
+#include <com/sun/star/io/AlreadyConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_UnknownHostException_idl__
+#include <com/sun/star/io/UnknownHostException.idl>
+#endif
+
+#ifndef __com_sun_star_io_NoRouteToHostException_idl__
+#include <com/sun/star/io/NoRouteToHostException.idl>
+#endif
+
+#ifndef __com_sun_star_io_ConnectException_idl__
+#include <com/sun/star/io/ConnectException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_SendMailMessageFailedException_idl__
+#include <com/sun/star/mail/SendMailMessageFailedException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XConnectionListener_idl__
+#include <com/sun/star/mail/XConnectionListener.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a mail server abstraction.
+
+ @see com::sun::star::mail::XMailMessage
+
+ @since OOo 2.0.0
+ */
+interface XMailServer: ::com::sun::star::uno::XInterface {
+
+ /**
+ The complete domain name of the mail server.
+ */
+ [attribute, readonly] string Name;
+
+ /**
+ The port number that will be used to connect to the mail server.
+ If no port number has been set the default port number 25 will
+ be used.
+ */
+ [attribute] long Port;
+
+ /**
+ Returns all connection types which are supported by the
+ mail server. Possible connection types are for instance
+ secure connections like 'SSL' or 'TLS'.
+
+ @returns
+ a sequence of supported connection types.
+ */
+ sequence<string> getSupportedConnectionTypes();
+
+ /**
+ Set the connection type that will be used to connect to the
+ mail server. The supported connection types may be queried
+ using <code>getSupportedConnectionTypes()</code>.
+ If no connection types has explicitly been set the default
+ connection type will be used.
+
+ @param sConnectionType
+ [in] identifies the connection that should be used to connect
+ to the mail server.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the provided connection type is not supported.
+
+ @see getSupportedConnectionTypes
+ @see isConnectionTypeSupported
+ */
+ void setConnectionType([in] string sConnectionType)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /**
+ Allow a client to query if a certain connection type is
+ supported.
+
+ @param sConnectionType
+ [in] query if a certain connection type is supported.
+
+ @returns
+ <TRUE/> if the specified connection type is supported.
+ */
+ boolean isConnectionTypeSupported([in] string sConnectionType);
+
+ /**
+ 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);
+
+ /**
+ Login a user to the mail server. Only one user may logged in
+ at a time. An attempt to login while another user is logged in
+ causes an exception to be thrown.
+
+ @param xAuthenticator
+ [in] an interface used to query for the necessary user information
+ needed to login to the mail server.
+
+ @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 occured 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 occured 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::IllegalStateException
+ if a user is currently logged in.
+
+ @throws com::sun::star::mail::MailException
+ for other errors during login.
+
+ @see com::sun::star::mail::XAuthenticator
+ @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 connectUser([in] XAuthenticator xAuthenticator)
+ raises(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);
+
+ /**
+ Logoff the currently logged in user.
+
+ @throws com::sun::star::mail::MessagingException
+ if errors occur during logoff.
+ */
+ void disconnectUser()
+ raises(com::sun::star::mail::MailException);
+
+ /**
+ Returns whether a user is currently logged in to the mail server or not.
+
+ @returns
+ <TRUE/> if a user is currently logged in to the mail server.
+ */
+ boolean isUserConnected();
+
+ /**
+ Send a mail message to its recipients.
+
+ @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 unspupported mime content type.
+
+ @see com::sun::star::io::NotConnectedExceptionException
+ @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
diff --git a/offapi/com/sun/star/mail/XMailService.idl b/offapi/com/sun/star/mail/XMailService.idl
new file mode 100644
index 000000000000..cc8ba05e0703
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailService.idl
@@ -0,0 +1,229 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XMailService_idl__
+#define __com_sun_star_mail_XMailService_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XAuthenticator_idl__
+#include <com/sun/star/mail/XAuthenticator.idl>
+#endif
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_AlreadyConnectedException_idl__
+#include <com/sun/star/io/AlreadyConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_UnknownHostException_idl__
+#include <com/sun/star/io/UnknownHostException.idl>
+#endif
+
+#ifndef __com_sun_star_io_NoRouteToHostException_idl__
+#include <com/sun/star/io/NoRouteToHostException.idl>
+#endif
+
+#ifndef __com_sun_star_io_ConnectException_idl__
+#include <com/sun/star/io/ConnectException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XConnectionListener_idl__
+#include <com/sun/star/mail/XConnectionListener.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XCurrentContext_idl__
+#include <com/sun/star/uno/XCurrentContext.idl>
+#endif
+
+
+module com { module sun { module star { module mail {
+
+/**
+ Represents a mail server abstraction.
+
+ @since OOo 2.0.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 connnection. The context
+ contains information like the server name, port, connection type
+ etc.
+
+ @precond
+ <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:
+ "ServerName" of type 'string', "Port" of type 'long', "ConnectionType"
+ of type 'string'. A list of supported connection types can be queried
+ using <code>getSupportedConnectionTypes</code>.
+
+ @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 occured 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 occured 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
diff --git a/offapi/com/sun/star/mail/XMailServiceProvider.idl b/offapi/com/sun/star/mail/XMailServiceProvider.idl
new file mode 100644
index 000000000000..5f389a57ee58
--- /dev/null
+++ b/offapi/com/sun/star/mail/XMailServiceProvider.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XMailServiceProvider_idl__
+#define __com_sun_star_mail_XMailServiceProvider_idl__
+
+#ifndef __com_sun_star_mail_XMailService_idl__
+#include <com/sun/star/mail/XMailService.idl>
+#endif
+
+#ifndef __com_sun_star_mail_NoMailServiceProviderException_idl__
+#include <com/sun/star/mail/NoMailServiceProviderException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailServiceType_idl__
+#include <com/sun/star/mail/MailServiceType.idl>
+#endif
+
+module com { module sun { module star { module mail {
+
+/**
+ A factory for creating different mail services.
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/mail/XSmtpService.idl b/offapi/com/sun/star/mail/XSmtpService.idl
new file mode 100644
index 000000000000..278e9ebe85f1
--- /dev/null
+++ b/offapi/com/sun/star/mail/XSmtpService.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mail_XSmtpService_idl__
+#define __com_sun_star_mail_XSmtpService_idl__
+
+#ifndef __com_sun_star_mail_XMailService_idl__
+#include <com/sun/star/mail/XMailService.idl>
+#endif
+
+#ifndef __com_sun_star_mail_XMailMessage_idl__
+#include <com/sun/star/mail/XMailMessage.idl>
+#endif
+
+#ifndef __com_sun_star_io_NotConnectedException_idl__
+#include <com/sun/star/io/NotConnectedException.idl>
+#endif
+
+#ifndef __com_sun_star_io_ConnectException_idl__
+#include <com/sun/star/io/ConnectException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_MailException_idl__
+#include <com/sun/star/mail/MailException.idl>
+#endif
+
+#ifndef __com_sun_star_mail_SendMailMessageFailedException_idl__
+#include <com/sun/star/mail/SendMailMessageFailedException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+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.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 unspupported 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
diff --git a/offapi/com/sun/star/mail/makefile.mk b/offapi/com/sun/star/mail/makefile.mk
new file mode 100644
index 000000000000..4b6854220b24
--- /dev/null
+++ b/offapi/com/sun/star/mail/makefile.mk
@@ -0,0 +1,58 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssmail
+PACKAGE=com$/sun$/star$/mail
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ MailException.idl\
+ SendMailMessageFailedException.idl\
+ NoMailServiceProviderException.idl\
+ XMailService.idl\
+ XAuthenticator.idl\
+ XMailMessage.idl\
+ MailMessage.idl\
+ XConnectionListener.idl\
+ MailAttachment.idl\
+ XSmtpService.idl\
+ MailServiceType.idl\
+ XMailServiceProvider.idl\
+ MailServiceProvider.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/makefile.mk b/offapi/com/sun/star/makefile.mk
new file mode 100644
index 000000000000..c3daa292c8f0
--- /dev/null
+++ b/offapi/com/sun/star/makefile.mk
@@ -0,0 +1,46 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=css
+PACKAGE=com$/sun$/star
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ modules.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/media/Manager.idl b/offapi/com/sun/star/media/Manager.idl
new file mode 100644
index 000000000000..2eed3fb47625
--- /dev/null
+++ b/offapi/com/sun/star/media/Manager.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_media_Manager_idl__
+#define __com_sun_star_media_Manager_idl__
+
+#ifndef __com_sun_star_media_XManager_idl__
+#include <com/sun/star/media/XManager.idl>
+#endif
+
+module com { module sun { module star { module media {
+
+/** a <type scope="com::sun::star::media">XPlayer</type> factory.
+ This helps creating new players.
+ */
+service Manager : XManager;
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/media/XFrameGrabber.idl b/offapi/com/sun/star/media/XFrameGrabber.idl
new file mode 100644
index 000000000000..36852c9802d3
--- /dev/null
+++ b/offapi/com/sun/star/media/XFrameGrabber.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_media_XFrameGrabber_idl__
+#define __com_sun_star_media_XFrameGrabber_idl__
+
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/media/XManager.idl b/offapi/com/sun/star/media/XManager.idl
new file mode 100644
index 000000000000..1e63ee20bfc9
--- /dev/null
+++ b/offapi/com/sun/star/media/XManager.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_media_XManager_idl__
+#define __com_sun_star_media_XManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_media_XPlayer_idl__
+#include <com/sun/star/media/XPlayer.idl>
+#endif
+
+module com { module sun { module star { module media {
+
+/** the <type scope="com::sun::star::media">XPlayer</type>
+ factory interface
+ */
+interface XManager
+{
+ /** creates a new media player
+
+ @param aURL
+ the URL of the media to play
+ */
+ XPlayer createPlayer( [in] string aURL );
+};
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/media/XPlayer.idl b/offapi/com/sun/star/media/XPlayer.idl
new file mode 100644
index 000000000000..7546e9d27d8c
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayer.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_media_XPlayer_idl__
+#define __com_sun_star_media_XPlayer_idl__
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_media_XPlayerWindow_idl__
+#include <com/sun/star/media/XPlayerWindow.idl>
+#endif
+#ifndef __com_sun_star_media_XFrameGrabber_idl__
+#include <com/sun/star/media/XFrameGrabber.idl>
+#endif
+
+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 the time at which to stop reading the stream.
+
+ @param fTime
+ the time at which to stop reading the stream in seconds
+ */
+ void setStopTime( [in] double fTime );
+
+ /** gets the time at which the stream will stop. The result
+ is not guaranteed if no stop time has been set.
+ */
+ double getStopTime();
+
+ /** sets the speed of the stream reading relatively to the normal
+ speed.
+
+ @param fRate
+ the stream reading rate. <code>1.0</code> means normal speed.
+ */
+ void setRate( [in] double fRate );
+
+ /** gets the speed of the stream reading relatively to the normal
+ reading.
+
+ @returns
+ the relative speed. <code>1.0</code> is the normal speed.
+ */
+ double getRate();
+
+ /** 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 <type scope="com::sun::star::awt">Size</type>
+ */
+ ::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
diff --git a/offapi/com/sun/star/media/XPlayerWindow.idl b/offapi/com/sun/star/media/XPlayerWindow.idl
new file mode 100644
index 000000000000..efd8f6750243
--- /dev/null
+++ b/offapi/com/sun/star/media/XPlayerWindow.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_media_XPlayerWindow_idl__
+#define __com_sun_star_media_XPlayerWindow_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_media_ZoomLevel_idl__
+#include <com/sun/star/media/ZoomLevel.idl>
+#endif
+
+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 <type scope="::com::sun::star::awt">SystemPointer</type>
+ */
+ void setPointerType( [in] long SystemPointerType );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/media/ZoomLevel.idl b/offapi/com/sun/star/media/ZoomLevel.idl
new file mode 100644
index 000000000000..7fafb9da755f
--- /dev/null
+++ b/offapi/com/sun/star/media/ZoomLevel.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/media/makefile.mk b/offapi/com/sun/star/media/makefile.mk
new file mode 100644
index 000000000000..4d4ac1df1060
--- /dev/null
+++ b/offapi/com/sun/star/media/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+PRJNAME=offapi
+TARGET=cssmedia
+PACKAGE=com$/sun$/star$/media
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Manager.idl \
+ XManager.idl \
+ XFrameGrabber.idl \
+ XPlayer.idl \
+ XPlayerWindow.idl \
+ ZoomLevel.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/modules.idl b/offapi/com/sun/star/modules.idl
new file mode 100644
index 000000000000..4224ab354dbf
--- /dev/null
+++ b/offapi/com/sun/star/modules.idl
@@ -0,0 +1,259 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_modules_idl__
+#define __com_sun_star_modules_idl__
+
+module com { module sun { module star {
+
+/// security and authenticates interfaces
+module auth {};
+
+/// Java AWT-like user interface toolkit interface specifications for UNO.
+module awt {};
+
+/** 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 <type
+ scope="::com::sun::star::accessibility">XAccessible</type> interface.
+ This interface' only method returns the actual accessibility object, an
+ instance of <type
+ scope="::com::sun::star::accessibility">XAccessibleContext</type>.
+ These two interfaces may be implemented by the same class in which case
+ a call to <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessible</method> returns the same object that is
+ called. Alternatively the implementation of the <type
+ scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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 <type
+ scope="::com::sun::star::accessibility">XAccessibleContext</type>
+ 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 {};
+
+/// 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 {};
+
+/// Access to the tree of configuration data.
+module configuration {};
+
+/// Clipboard and Drag&amp;Drop interfaces.
+module datatransfer {};
+
+/// Office document related interfaces.
+module document {};
+
+/// Office document content related interfaces.
+module office {};
+
+/// Drawing and shape specific interfaces.
+module drawing {};
+
+/// Interfaces for managing forms and controls.
+module form {};
+
+/// Interfaces for mathematical formulas.
+module formula {};
+
+/// Desktop environment framework interfaces.
+module frame {};
+
+/// Interfaces and data types to deal with basic geometric entities
+module geometry {};
+
+/// Interfaces for graphic handling
+module graphic {};
+
+/// Interface for internationalization (deprecated draft).
+module i18n {};
+
+/// Interfaces to control installations.
+module installation {};
+
+/// lightweight directory access protocol (LDAP)
+module ldap {};
+
+/// Spell checker, hyphenation and thesaurus interfaces.
+module linguistic2 {};
+
+/// Interfaces for Email connectivity
+module mail {};
+
+/// Media type interfaces
+module media {};
+
+/// Interfaces for Mozilla integration.
+module mozilla {};
+
+/// Pretty Good Privacy (deprecated).
+module pgp {};
+
+/// Netscape-like plugin interfaces.
+module plugin {};
+
+/// Presentation specific interfaces.
+module presentation {};
+
+/// Interfaces and data structures for rendering
+module rendering {};
+
+/// Interfaces to access (UI) resource files.
+module resource {};
+
+/// Interfaces for scanner control.
+module scanner {};
+
+/// Basic interfaces for database access.
+module sdb {};
+
+/// Database component interfaces.
+module sdbc {};
+
+/// High-level database component interfaces.
+module sdbcx {};
+
+/// Interfaces to control the setup process.
+module setup {};
+
+/// Spreadsheet specific interfaces.
+module sheet {};
+
+/// Formatting and layout style and stylesheet interfaces.
+module style {};
+
+/// Interfaces for import/export of Scaleable Vector Format.
+module svg {};
+
+/// Data synchronization interfaces (deprecated).
+module sync {};
+
+/// Data synchronization interfaces (deprecated).
+module sync2 {};
+
+/// Table specific interfaces (for text and spreadsheet).
+module table {};
+
+/// Task management interfaces.
+module task {};
+
+/// Test interfaces for core-reflection, introspection and marshalling.
+module test {};
+
+/// Text specific interfaces.
+module text {};
+
+/// Universal Content Broker interfaces.
+module ucb {};
+
+/// Dialogs and other UI elements.
+module ui {};
+
+/// Miscellaneous interfaces for sorting, connecting objects etc.
+module util {};
+
+/// Document view specfic interfaces (e.g. selection access and printing).
+module view {};
+
+/// XML related interfaces.
+module xml {};
+
+/// Host operating system integration interfaces.
+module system {};
+
+/// Package file format interfaces.
+module packages {};
+
+/// image manupulation interfaces.
+module image {};
+
+/// interfaces for XForms (XML-based forms) implementation
+module xforms {};
+
+/// interfaces for report interfaces
+module report {};
+
+/** 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 <type scope="rdf">XNode</type>,
+ which has several subtypes: <type scope="rdf">XResource</type>,
+ <type scope="rdf">XBlankNode</type>,
+ <type scope="rdf">XURI</type> and <type scope="rdf">XLiteral</type>.
+ Statements are then triples of nodes, and have type
+ <type scope="rdf">Statement</type>.
+ </p>
+
+ <p>
+ The main part of the RDF data model is the
+ <type scope="rdf">XRepository</type>, 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 <type scope="rdf">XNamedGraph</type>.
+ </p>
+
+ <p>
+ Documents that support metadata implement the interfaces
+ <type scope="rdf">XRepositorySupplier</type> and
+ <type scope="rdf">XDocumentMetadataAccess</type>.
+ Furthermore, all elements of ODF documents that may have metadata attached
+ implement the interface <type scope="rdf">XMetadatable</type>.
+ </p>
+
+ */
+module rdf {};
+
+}; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/mozilla/MenuMultipleChange.idl b/offapi/com/sun/star/mozilla/MenuMultipleChange.idl
new file mode 100644
index 000000000000..1fac0524bba7
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuMultipleChange.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_MenuMultipleChange_idl__
+#define __com_sun_star_mozilla_MenuMultipleChange_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from idl: struct com::sun::star::mozilla::MenuMultipleChange
+/** Explains properties of a menu item
+ */
+published struct MenuMultipleChange
+{
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::ID
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::GroupID
+ /** unique ID of the group this menu item belongs to
+ */
+ short GroupID;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::PreItemID
+ /** unique ID of the item directly above this menu item, used for fuzzy placement
+ */
+ short PreItemID;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::ItemText
+ /** text of the menu item
+ */
+ string ItemText;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::IsVisible
+ /** true if visible
+ */
+ boolean IsVisible;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::IsActive
+ /** true if active, so clickable
+ */
+ boolean IsActive;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::IsCheckable
+ /** true if checkable, so there can be a checkmark
+ */
+ boolean IsCheckable;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuMultipleChange::IsChecked
+ /** true if there is a checkmark
+ */
+ boolean IsChecked;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: field com::sun::star::mozilla::MenuMultipleChange::Image
+ /** sequence of bytes representing a possible image
+ */
+ sequence<byte> Image;
+ };
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/MenuProxy.idl b/offapi/com/sun/star/mozilla/MenuProxy.idl
new file mode 100644
index 000000000000..9e2bbf75eae1
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxy.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_MenuProxy_idl__
+#define __com_sun_star_mozilla_MenuProxy_idl__
+
+#ifndef __com_sun_star_mozilla_XMenuProxy_idl__
+#include <com/sun/star/mozilla/XMenuProxy.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from idl: service com::sun::star::mozilla::MenuProxy
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published service MenuProxy
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: service com::sun::star::mozilla::MenuProxy: interface com::sun::star::mozilla::XMenuProxy
+ /** @see XMenuProxy
+ */
+ interface XMenuProxy;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/MenuProxyListener.idl b/offapi/com/sun/star/mozilla/MenuProxyListener.idl
new file mode 100644
index 000000000000..b239ae302b58
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuProxyListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_MenuProxyListener_idl__
+#define __com_sun_star_mozilla_MenuProxyListener_idl__
+
+#ifndef __com_sun_star_mozilla_XMenuProxyListener_idl__
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: service com::sun::star::mozilla::MenuProxyListener
+/** Listens for changes in menu items.
+ */
+published service MenuProxyListener
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: service com::sun::star::mozilla::MenuProxyListener: interface com::sun::star::mozilla::XMenuProxyListener
+ /** @see XMenuProxyListener
+ */
+ interface XMenuProxyListener;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/MenuSingleChange.idl b/offapi/com/sun/star/mozilla/MenuSingleChange.idl
new file mode 100644
index 000000000000..d46210ed9306
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MenuSingleChange.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_MenuSingleChange_idl__
+#define __com_sun_star_mozilla_MenuSingleChange_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from idl: struct com::sun::star::mozilla::MenuSingleChange
+/** Explains a change for a menu item
+ */
+published struct MenuSingleChange
+{
+ // DocMerge from xml: field com::sun::star::mozilla::MenuSingleChange::ID
+ /** unique ID of this menu item
+ */
+ short ID;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuSingleChange::ChangeID
+ /** ID identifying the type of change in the any type change
+ */
+ short ChangeID;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::mozilla::MenuSingleChange::Change
+ /** value of change
+ */
+ any Change;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/MozillaBootstrap.idl b/offapi/com/sun/star/mozilla/MozillaBootstrap.idl
new file mode 100644
index 000000000000..5b15847fa352
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaBootstrap.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_MozillaBootstrap_idl__
+#define __com_sun_star_mozilla_MozillaBootstrap_idl__
+
+#ifndef __com_sun_star_mozilla_XMozillaBootstrap_idl__
+#include <com/sun/star/mozilla/XMozillaBootstrap.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+/** Allow to discover Mozilla/Thunderbird profiles
+ Allow init Mozilla XPCOM using selected profile and switch profiles.
+ */
+published service MozillaBootstrap
+{
+ //-------------------------------------------------------------------------
+
+ /** @see XMozillaBootstrap
+ */
+ interface XMozillaBootstrap;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/MozillaProductType.idl b/offapi/com/sun/star/mozilla/MozillaProductType.idl
new file mode 100644
index 000000000000..21e6dcf2b593
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/MozillaProductType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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
diff --git a/offapi/com/sun/star/mozilla/XCloseSessionListener.idl b/offapi/com/sun/star/mozilla/XCloseSessionListener.idl
new file mode 100644
index 000000000000..2a62769e8094
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCloseSessionListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XCloseSessionListener_idl__
+#define __com_sun_star_mozilla_XCloseSessionListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: interface com::sun::star::mozilla::XCloseSessionListener
+/** Listener for closing of the corresponding session.
+*/
+published interface XCloseSessionListener: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XCloseSessionListener::sessionClosed
+ /** Notifies a closesession listener that the corresponding session was logged out
+
+ @param sessionData [in]: the data identifying the session that was closed
+
+ */
+ [oneway] void sessionClosed( [in] any sessionData );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XCodeProxy.idl b/offapi/com/sun/star/mozilla/XCodeProxy.idl
new file mode 100644
index 000000000000..c91eacd092ac
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XCodeProxy.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XCodeProxy_idl__
+#define __com_sun_star_sdbc_XCodeProxy_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_mozilla_MozillaProductType_idl__
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/mozilla/XMenuProxy.idl b/offapi/com/sun/star/mozilla/XMenuProxy.idl
new file mode 100644
index 000000000000..15aefc596ef0
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxy.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_XMenuProxy_idl__
+#define __com_sun_star_mozilla_XMenuProxy_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_XMenuProxyListener_idl__
+#include <com/sun/star/mozilla/XMenuProxyListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: interface com::sun::star::mozilla::XMenuProxy
+/** Allows to execute dispatch for a menu item
+ and handles listeners for changes in menu items.
+ */
+published interface XMenuProxy: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxy::executeMenuItem
+ /** Executes dispatch for the given menu id
+
+ @param ID [in]: the menu item
+
+ */
+ void executeMenuItem([in] short ID);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxy::addMenuProxyListener
+ /** Registers an event listener, which will be called when the menu changes
+
+ @param xListener [in]: the listener to be set
+
+ */
+ [oneway] void addMenuProxyListener([in] XMenuProxyListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxy::removeMenuProxyListener
+ /** Unregisters an event listener which was registered with
+ <member>XMenuProxy::addMenuProxyListener()</member>.
+
+ @param xListener [in]: the listener to be removed
+
+ */
+ [oneway] void removeMenuProxyListener([in] XMenuProxyListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XMenuProxyListener.idl b/offapi/com/sun/star/mozilla/XMenuProxyListener.idl
new file mode 100644
index 000000000000..78b3d7d5df21
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMenuProxyListener.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_mozilla_XMenuProxyListener_idl__
+#define __com_sun_star_mozilla_XMenuProxyListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_MenuMultipleChange_idl__
+#include <com/sun/star/mozilla/MenuMultipleChange.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_MenuSingleChange_idl__
+#include <com/sun/star/mozilla/MenuSingleChange.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: interface com::sun::star::mozilla::XMenuProxyListener
+/** Listens for changes in menu items.
+ */
+published interface XMenuProxyListener: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxyListener::menuChangedMultiple
+ /** 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);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxyListener::menuChangedSingle
+ /** 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);
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::mozilla::XMenuProxyListener::menuItemDeleted
+ /** is called, if one menu item designated by the ID, is deleted.
+
+ @param ID [in]: the menu item
+
+ */
+ void menuItemDeleted([in] short ID);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl b/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl
new file mode 100644
index 000000000000..e955ad2b93cb
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XMozillaBootstrap.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XMozillaBootstrap_idl__
+#define __com_sun_star_mozilla_XMozillaBootstrap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_XProfileDiscover_idl__
+#include <com/sun/star/mozilla/XProfileDiscover.idl>
+#endif
+#ifndef __com_sun_star_mozilla_XProfileManager_idl__
+#include <com/sun/star/mozilla/XProfileManager.idl>
+#endif
+#ifndef __com_sun_star_mozilla_XProxyRunner_idl__
+#include <com/sun/star/mozilla/XProxyRunner.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/mozilla/XPluginInstance.idl b/offapi/com/sun/star/mozilla/XPluginInstance.idl
new file mode 100644
index 000000000000..614da9444144
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XPluginInstance.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XPluginInstance_idl__
+#define __com_sun_star_mozilla_XPluginInstance_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::start
+/** Allows to controll an office side plugin instance and to communicate with it.
+ This interface is oriented for communication with browsers plugins.
+ */
+published interface XPluginInstance: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::start
+ /** Starts plugin operation. This is called after a plugin instance is
+ created.
+ */
+ [oneway] void start();
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::stop
+ /** Stops plugin operation. This is called when the user goes to another web
+ page. The <member>XPluginInstance::destroy</member> method is directly called
+ afterwards.
+ */
+ [oneway] void stop();
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::destroy
+ /** Destroy the plugin instance. This method is called when it is no
+ longer possible to return to the plugin instance, because it was
+ destroyed by the browser (e.g., window close).
+ */
+ [oneway] void destroy();
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::createWindow
+ /** Creates a new window for plugin operation.
+
+ @param PlatformParentData [in]: platform dependent window data
+ @param embedded [in]: selects embedded or full page plugin mode
+
+ */
+ [oneway] void createWindow( [in] any PlatformParentData, [in] boolean embedded );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::newStream
+ /** Notifies the plugin of a new stream to display.
+
+ @param MIMEDesc [in]: the MIMEtype of the data stream
+ @param theURL [in]: the URL that denotes the stream
+ @param filter [in]: a filter string to suggest a component that should handle the document
+ @param stream [in]: the data stream
+ @param sessiondata [in]: the data specifying the current session
+
+ */
+ [oneway] void newStream(
+ [in] string MIMEDesc,
+ [in] string theURL,
+ [in] string filter,
+ [in] ::com::sun::star::io::XInputStream stream ,
+ [in] any sessionData
+ );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::newURL
+ /** Notifies the plugin of a new url to open as document.
+
+ @param MIMEDesc [in]: the MIMEtype of the data stream
+ @param theURL [in]: the URL to be openend
+ @param filter [in]: a filter string to suggest a component that should handle the document
+ @param sessiondata [in]: the data specifying the current session
+
+ */
+ [oneway] void newURL( [in] string MIMEDesc, [in] string theURL, [in] string filter, [in] any sessionData );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from idl: method com::sun::star::mozilla::XPluginInstance::getHttpServerURL
+ /** Retrieves the URL of the HTTP Loadbalancing Slave.
+
+ @param aURL [out]: the full qualified host name of the LBS
+ @param aPort [out]: the port number
+ @param aPrefix [out]: the url prefix to the portal
+
+ */
+ void getHttpServerURL( [out] string aHost, [out] unsigned short aPort,
+ [out] string aPrefix);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XPluginInstanceNotifySink.idl b/offapi/com/sun/star/mozilla/XPluginInstanceNotifySink.idl
new file mode 100644
index 000000000000..20ad31aed362
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XPluginInstanceNotifySink.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XPluginInstanceNotifySink_idl__
+#define __com_sun_star_mozilla_XPluginInstanceNotifySink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+
+// DocMerge from xml: interface com::sun::star::mozilla::XPluginInstanceNotifySink
+/** Allows a plugin to get notification from office side
+ about status of new document opening.
+ This interface is oriented for communication with browsers plugins.
+ */
+published interface XPluginInstanceNotifySink: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstanceNotifySink::notifyURL
+ /** Notifies the plugin that a getURL / postURL operation on the
+ corresponding XPluginInstancePeer was finished.
+
+ @param theURL [in]: name of the URL that was used during a previous getURL or postURL call
+
+ */
+ [oneway] void notifyURL( [in] string theURL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XPluginInstancePeer.idl b/offapi/com/sun/star/mozilla/XPluginInstancePeer.idl
new file mode 100644
index 000000000000..3e06b9940b9c
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XPluginInstancePeer.idl
@@ -0,0 +1,170 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XPluginInstancePeer_idl__
+#define __com_sun_star_mozilla_XPluginInstancePeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+ published interface XPluginInstanceNotifySink;
+
+//=============================================================================
+
+
+// DocMerge from xml: interface com::sun::star::mozilla::XPluginInstancePeer
+/** Allows to communicate with a plugin from the office side.
+ This interface is oriented for communication with browsers plugins.
+ */
+published interface XPluginInstancePeer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::setWindowSize
+ /** Alters the plugin's window size in the browser window.
+
+ @param width [in]: the new window width
+ @param height [in]: the new window height
+
+ @return <CODE>TRUE</CODE> on success
+ */
+ boolean setWindowSize( [in] long width, [in] long heigth );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::showStatusMessage
+ /** Show status / hint message in browser's message area.
+
+ @param message [in]: the string to be displayed
+ */
+ [oneway] void showStatusMessage( [in] string message );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::enableScripting
+ /** Indicates to the plugin that the document was loaded successfully and scripting
+ interfaces are now available.
+
+ @param document [in]: the active document
+ @param servicemanager [in]: the office servicemanager
+
+ */
+ [oneway] void enableScripting( [in] com::sun::star::uno::XInterface document, [in] com::sun::star::lang::XMultiServiceFactory servicemanager );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::newStream
+ /** Creates a new stream of data produced by the plug-in and consumed by
+ the browser.
+
+ @param MIMEDesc [in]: the MIME type of the plug-in to create
+ @param target [in]: the name of the target window or frame (supports _blank, _self)
+ @param data [in]: on success the outputstream will be associated with this instance
+
+ */
+ [oneway] void newStream(
+ [in] string MIMEDesc,
+ [in] string target,
+ [in] com::sun::star::io::XActiveDataSource data
+ );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::getURL
+ /** Fetches an URL into the target window. The parameters and their meaning map to the
+ corresponding Netscape-API call.
+
+ @param aURL [in]: the URL to be fetched
+ @param target [in]: the name of the target window or frame (supports _blank, _self)
+ @param alternativeHost [in]: alternativeHost
+ @param referrer [in]: referrer
+ @param sink [in]: the sink is notified on success
+
+ */
+ [oneway] void getURL (
+ [in] string aURL,
+ [in] string target,
+ [in] string alternativeHost,
+ [in] string referrer,
+ [in] XPluginInstanceNotifySink sink
+ );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstancePeer::postURL
+ /** Posts to a URL with post data and/or post headers. The parameters and their meaning
+ map to the corresponding Netscape-API call.
+
+ @param aURL [in]: the URL to be posted to
+ @param postData [in]: the data to be posted
+ @param target [in]: the name of the target window or frame (supports _blank, _self)
+ @param alternativeHost [in]: alternativeHost
+ @param referrer [in]: referrer
+ @param postHeaders [in]: the header to be posted
+ @param sink [in]: the sink is notified on success
+
+ */
+ [oneway] void postURL (
+ [in] string aURL,
+ [in] com::sun::star::io::XInputStream postData,
+ [in] string target,
+ [in] string alternativeHost,
+ [in] string referrer,
+ [in] com::sun::star::io::XInputStream postHeaders,
+ [in] XPluginInstanceNotifySink sink
+ );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XPluginInstanceSyncPeer.idl b/offapi/com/sun/star/mozilla/XPluginInstanceSyncPeer.idl
new file mode 100644
index 000000000000..8818ef587be7
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XPluginInstanceSyncPeer.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XPluginInstanceSyncPeer_idl__
+#define __com_sun_star_mozilla_XPluginInstanceSyncPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_XPluginInstance_idl__
+#include <com/sun/star/mozilla/XPluginInstance.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::mozilla::XPluginInstanceSyncPeer
+/** This interface is an extention for <type>XPluginInstancePeer</type> interface.
+ An object can support this interface in addition to <type>XPluginInstancePeer</type> interface.
+ */
+published interface XPluginInstanceSyncPeer : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginInstanceSyncPeer::openNewBrowserWindow
+ /** Opens a new browser window with a plugin instance synchronously.
+
+ @param aInstance [out]: new plugin instance in case of success
+ @param Any [out]: linkage to the window data
+ @param embedded [out]: selects embedded or full page plugin mode
+
+
+ */
+ void openNewBrowserWindow(
+ [out] XPluginInstance aInstance,
+ [out] any aLinkage,
+ [out] boolean embeded);
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XPluginWindowPeer.idl b/offapi/com/sun/star/mozilla/XPluginWindowPeer.idl
new file mode 100644
index 000000000000..3e8d86fba3c2
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XPluginWindowPeer.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XPluginWindowPeer_idl__
+#define __com_sun_star_mozilla_XPluginWindowPeer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::mozilla::XPluginWindowPeer
+/** Allows to notify a plugin from the office side about plugin window's child window creation.
+ This interface is oriented for communication with browsers plugins.
+ */
+published interface XPluginWindowPeer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: method com::sun::star::mozilla::XPluginWindowPeer::setChildWindow
+ /** Notifies the peer of the created child window.
+
+ @param SystemWindowData [in]: platform dependent window data
+
+ */
+ [oneway] void setChildWindow( [in] any SystemWindowData );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/XProfileDiscover.idl b/offapi/com/sun/star/mozilla/XProfileDiscover.idl
new file mode 100644
index 000000000000..bd36a6eb0b89
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileDiscover.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XProfileDiscover_idl__
+#define __com_sun_star_mozilla_XProfileDiscover_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_mozilla_MozillaProductType_idl__
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/mozilla/XProfileManager.idl b/offapi/com/sun/star/mozilla/XProfileManager.idl
new file mode 100644
index 000000000000..b409cc5adcf1
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProfileManager.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XProfileManager_idl__
+#define __com_sun_star_mozilla_XProfileManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_mozilla_MozillaProductType_idl__
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+#endif
+
+
+
+ module com { module sun { module star { module mozilla {
+
+
+
+/** is the interface to bootup 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
+{
+
+ // DocMerge from xml: method com::sun::star::mozilla::XProfileManager::bootupProfile
+ /** 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 refrence count for the given profile.
+
+ */
+ long bootupProfile( [in]MozillaProductType product,[in]string profileName);
+
+ /** attempts to shutdown the current profile.
+
+ @returns
+ the current refrence 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
diff --git a/offapi/com/sun/star/mozilla/XProxyRunner.idl b/offapi/com/sun/star/mozilla/XProxyRunner.idl
new file mode 100644
index 000000000000..3848242cae36
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XProxyRunner.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_mozilla_XProxyRunner_idl__
+#define __com_sun_star_mozilla_XProxyRunner_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_mozilla_XCodeProxy_idl__
+#include <com/sun/star/mozilla/XCodeProxy.idl>
+#endif
+
+
+ module com { module sun { module star { module mozilla {
+
+
+published interface XCodeProxy;
+// DocMerge from xml: interface com::sun::star::mozilla::XProxyRunner
+/** is the interface run Mozilla XPCOM code in a managered environment
+
+ @see com::sun::star::mozilla::XProfileDiscover
+ @see com::sun::star::mozilla::MozillaBootstrap
+ */
+published interface XProxyRunner: com::sun::star::uno::XInterface
+{
+
+ // DocMerge from xml: method com::sun::star::mozilla::XProxyRunner::Run
+ /** attempts to Run XPCOM code in a managered 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
diff --git a/offapi/com/sun/star/mozilla/XRemoteServiceManagerProvider.idl b/offapi/com/sun/star/mozilla/XRemoteServiceManagerProvider.idl
new file mode 100644
index 000000000000..a08da8b54155
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/XRemoteServiceManagerProvider.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_mozilla_XRemoteServiceManagerProvider_idl__
+#define __com_sun_star_mozilla_XRemoteServiceManagerProvider_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module mozilla {
+
+//=============================================================================
+
+/** Allows creation of the remote service manager for given session.
+ This interface is oriented for communication with browsers plugins.
+
+ @deprecated
+*/
+published interface XRemoteServiceManagerProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Returns the remote service manager for the given session
+
+ @param sessionData [in]: contains the sessiondata (host, user, ticket)
+ */
+ com::sun::star::lang::XMultiServiceFactory getServiceManager( [in] any sessionData );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/mozilla/makefile.mk b/offapi/com/sun/star/mozilla/makefile.mk
new file mode 100644
index 000000000000..38a3f009fafe
--- /dev/null
+++ b/offapi/com/sun/star/mozilla/makefile.mk
@@ -0,0 +1,67 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssmozilla
+PACKAGE=com$/sun$/star$/mozilla
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ MenuMultipleChange.idl \
+ MenuSingleChange.idl \
+ MenuProxy.idl \
+ MenuProxyListener.idl \
+ XMenuProxy.idl \
+ XMenuProxyListener.idl \
+ XPluginInstance.idl \
+ XPluginInstanceNotifySink.idl \
+ XPluginInstancePeer.idl \
+ XPluginInstanceSyncPeer.idl \
+ XPluginWindowPeer.idl \
+ XCloseSessionListener.idl \
+ XRemoteServiceManagerProvider.idl \
+ MozillaBootstrap.idl \
+ MozillaProductType.idl \
+ XMozillaBootstrap.idl \
+ XProfileDiscover.idl \
+ XProfileManager.idl \
+ XProxyRunner.idl \
+ XCodeProxy.idl
+
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/office/XAnnotation.idl b/offapi/com/sun/star/office/XAnnotation.idl
new file mode 100644
index 000000000000..7c601c5fe21a
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotation.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_office_XAnnotation_idl__
+#define __com_sun_star_office_XAnnotation_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+
+#ifndef __com_sun_star_geometry_RealSize2D_idl__
+#include <com/sun/star/geometry/RealSize2D.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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 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
diff --git a/offapi/com/sun/star/office/XAnnotationAccess.idl b/offapi/com/sun/star/office/XAnnotationAccess.idl
new file mode 100644
index 000000000000..201151b7c0fc
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotationAccess.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_office_XAnnotationAccess_idl__
+#define __com_sun_star_office_XAnnotationAccess_idl__
+
+#ifndef __com_sun_star_office_XAnnotationEnumeration_idl__
+#include <com/sun/star/office/XAnnotationEnumeration.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/office/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_office_XAnnotation_idl__
+#include <com/sun/star/office/XAnnotation.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/office/XAnnotationEnumeration.idl b/offapi/com/sun/star/office/XAnnotationEnumeration.idl
new file mode 100644
index 000000000000..aa252c9c5ded
--- /dev/null
+++ b/offapi/com/sun/star/office/XAnnotationEnumeration.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_office_XAnnotationEnumeration_idl__
+#define __com_sun_star_office_XAnnotationEnumeration_idl__
+
+#ifndef __com_sun_star_office_XAnnotation_idl__
+#include <com/sun/star/office/XAnnotation.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/office/makefile.mk b/offapi/com/sun/star/office/makefile.mk
new file mode 100644
index 000000000000..e24a411dd755
--- /dev/null
+++ b/offapi/com/sun/star/office/makefile.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+PRJNAME=offapi
+TARGET=cssoffice
+PACKAGE=com$/sun$/star$/office
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XAnnotation.idl\
+ XAnnotationEnumeration.idl\
+ XAnnotationAccess.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/oooimprovement/Core.idl b/offapi/com/sun/star/oooimprovement/Core.idl
new file mode 100644
index 000000000000..7ab8ec97541a
--- /dev/null
+++ b/offapi/com/sun/star/oooimprovement/Core.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_oooimprovement_Core_idl__
+#define __com_sun_star_oooimprovement_Core_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module oooimprovement {
+
+interface XCore;
+
+//=============================================================================
+
+/** specifies a service which allows interfacing the core components of the
+ Core
+
+ @since OOo 3.0
+ */
+service Core : XCore
+{
+ /// creates a CsvLogFormatter instance
+ create();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/oooimprovement/CoreController.idl b/offapi/com/sun/star/oooimprovement/CoreController.idl
new file mode 100644
index 000000000000..2ec833a5a5b4
--- /dev/null
+++ b/offapi/com/sun/star/oooimprovement/CoreController.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_oooimprovement_CoreController_idl__
+#define __com_sun_star_oooimprovement_CoreController_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module oooimprovement {
+
+interface XCoreController;
+
+//=============================================================================
+
+/** specifies a service controlling the core components of the Openoffice.org
+ improvement program. The OOo improvement program extension has to implement
+ this service.
+
+ @since OOo 3.0
+ */
+service CoreController : XCoreController
+{
+ /// creates a CoreController instance
+ create();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/oooimprovement/XCore.idl b/offapi/com/sun/star/oooimprovement/XCore.idl
new file mode 100644
index 000000000000..aa9d246609af
--- /dev/null
+++ b/offapi/com/sun/star/oooimprovement/XCore.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_oooimprovement_XCore_idl__
+#define __com_sun_star_oooimprovement_XCore_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module oooimprovement {
+
+//=============================================================================
+
+/** specifies the interface used to query the Core status
+
+ @since OOo 3.0
+*/
+interface XCore
+{
+ /** Count of Events logged in the current session */
+ [readonly, attribute] long SessionLogEventCount;
+ /** returns the current status of the Core */
+ [readonly, attribute] boolean UiEventsLoggerEnabled;
+ /** shows a dialog inviting the user to take part */
+ void inviteUser();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/oooimprovement/XCoreController.idl b/offapi/com/sun/star/oooimprovement/XCoreController.idl
new file mode 100644
index 000000000000..8de545c0eeba
--- /dev/null
+++ b/offapi/com/sun/star/oooimprovement/XCoreController.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_oooimprovement_XCoreController_idl__
+#define __com_sun_star_oooimprovement_XCoreController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module oooimprovement {
+
+//=============================================================================
+
+/** specifies the interface used to control the OOo Improvement core
+ components
+
+ @since OOo 3.0
+*/
+interface XCoreController
+{
+ /** specifies if the core UiEventsLogger should enable itself */
+ boolean enablingUiEventsLoggerAllowed([in] short Version);
+ boolean showBuiltinOptionsPage([in] short Version);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/oooimprovement/makefile.mk b/offapi/com/sun/star/oooimprovement/makefile.mk
new file mode 100644
index 000000000000..c64c21951736
--- /dev/null
+++ b/offapi/com/sun/star/oooimprovement/makefile.mk
@@ -0,0 +1,44 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ := ..$/..$/..$/..
+PRJNAME := offapi
+TARGET := cssoooimprovement
+
+PACKAGE := com$/sun$/star$/oooimprovement
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ Core.idl \
+ CoreController.idl \
+ XCore.idl \
+ XCoreController.idl \
+
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/packages/EncryptionNotAllowedException.idl b/offapi/com/sun/star/packages/EncryptionNotAllowedException.idl
new file mode 100644
index 000000000000..61f5dbbfe140
--- /dev/null
+++ b/offapi/com/sun/star/packages/EncryptionNotAllowedException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_EncryptionNotAllowedException_idl__
+#define __com_sun_star_packages_EncryptionNotAllowedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module packages {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::packages::EncryptionNotAllowedException
+/** This exception can be thrown in case object is encrypted when it is not allowed
+ */
+exception EncryptionNotAllowedException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/packages/NoEncryptionException.idl b/offapi/com/sun/star/packages/NoEncryptionException.idl
new file mode 100644
index 000000000000..cffecf7bd637
--- /dev/null
+++ b/offapi/com/sun/star/packages/NoEncryptionException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#define __com_sun_star_packages_NoEncryptionException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module packages {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::packages::NoEncryptionException
+/** This exception can be thrown in case object is not encrypted one as expected.
+ */
+published exception NoEncryptionException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/packages/NoRawFormatException.idl b/offapi/com/sun/star/packages/NoRawFormatException.idl
new file mode 100644
index 000000000000..a2730b41da62
--- /dev/null
+++ b/offapi/com/sun/star/packages/NoRawFormatException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_NoRawFormatException_idl__
+#define __com_sun_star_packages_NoRawFormatException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module packages {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::packages::NoRawFormatException
+/** 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
+
diff --git a/offapi/com/sun/star/packages/Package.idl b/offapi/com/sun/star/packages/Package.idl
new file mode 100644
index 000000000000..954b4434fbaa
--- /dev/null
+++ b/offapi/com/sun/star/packages/Package.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_Package_idl__
+#define __com_sun_star_packages_Package_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#include <com/sun/star/util/XChangesBatch.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module packages {
+
+//=============================================================================
+/** The <type>Package</type> 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 initialised with the
+ <type scope="com::sun::star::lang">XInitialization</type> service methods
+ before it is a valid instance of the service.
+*/
+published service Package
+{
+ /**
+ A Package can be initialised 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 initialised with bad data or
+ if the package has an invalid format (for example, a corrupt central d
+ irectory 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
diff --git a/offapi/com/sun/star/packages/PackageFolder.idl b/offapi/com/sun/star/packages/PackageFolder.idl
new file mode 100644
index 000000000000..dcf87f26911d
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageFolder.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_PackageFolder_idl__
+#define __com_sun_star_packages_PackageFolder_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_udl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+//=============================================================================
+
+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 an 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 (eg. "text/html").
+ For PackageFolders, this is always an empty string.
+ */
+ interface com::sun::star::beans::XPropertySet;
+};
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/packages/PackageFolderEnumeration.idl b/offapi/com/sun/star/packages/PackageFolderEnumeration.idl
new file mode 100644
index 000000000000..11e1d6f22b5a
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageFolderEnumeration.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_PackageFolderEnumeration_idl__
+#define __com_sun_star_packages_PackageFolderEnumeration_idl__
+
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/packages/PackageStream.idl b/offapi/com/sun/star/packages/PackageStream.idl
new file mode 100644
index 000000000000..c12860f1cf57
--- /dev/null
+++ b/offapi/com/sun/star/packages/PackageStream.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_PackageStream_idl__
+#define __com_sun_star_packages_PackageStream_idl__
+
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSink_idl__
+#include <com/sun/star/io/XActiveDataSink.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/packages/WrongPasswordException.idl b/offapi/com/sun/star/packages/WrongPasswordException.idl
new file mode 100644
index 000000000000..954e0bd68afc
--- /dev/null
+++ b/offapi/com/sun/star/packages/WrongPasswordException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#define __com_sun_star_packages_WrongPasswordException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module packages {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::packages::WrongPasswordException
+/** This exception can be thrown in case wrong password was provided.
+ */
+published exception WrongPasswordException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl b/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl
new file mode 100644
index 000000000000..3f768b6a421d
--- /dev/null
+++ b/offapi/com/sun/star/packages/XDataSinkEncrSupport.idl
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_XDataSinkEncrSupport_idl__
+#define __com_sun_star_packages_XDataSinkEncrSupport_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_WrongPasswordException_idl__
+#include <com/sun/star/packages/WrongPasswordException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoEncryptionException_idl__
+#include <com/sun/star/packages/NoEncryptionException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_EncryptionNotAllowedException_idl__
+#include <com/sun/star/packages/EncryptionNotAllowedException.idl>
+#endif
+
+#ifndef __com_sun_star_packages_NoRawFormatException_idl__
+#include <com/sun/star/packages/NoRawFormatException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module packages {
+
+//=============================================================================
+
+/** Allows to get access to the stream of a <type>PackageStream</type>.
+ */
+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::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 copyed 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::io::IOException
+ in case of io problems during retrieving
+ */
+ ::com::sun::star::io::XInputStream getPlainRawStream()
+ raises( ::com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/packages/makefile.mk b/offapi/com/sun/star/packages/makefile.mk
new file mode 100644
index 000000000000..3707e09837e1
--- /dev/null
+++ b/offapi/com/sun/star/packages/makefile.mk
@@ -0,0 +1,55 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csspackages
+PACKAGE=com$/sun$/star$/packages
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Package.idl\
+ PackageFolder.idl\
+ PackageFolderEnumeration.idl\
+ PackageStream.idl\
+ EncryptionNotAllowedException.idl\
+ NoEncryptionException.idl\
+ WrongPasswordException.idl\
+ NoRawFormatException.idl\
+ XDataSinkEncrSupport.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
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 000000000000..91f589ee258e
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/XManifestReader.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_manifest_XManifestReader_idl__
+#define __com_sun_star_packages_manifest_XManifestReader_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+//=============================================================================
+
+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 recieve
+ 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
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 000000000000..c38b9cacaf76
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/XManifestWriter.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_manifest_XManifestWriter_idl__
+#define __com_sun_star_packages_manifest_XManifestWriter_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/packages/manifest/makefile.mk b/offapi/com/sun/star/packages/manifest/makefile.mk
new file mode 100644
index 000000000000..9be92686a918
--- /dev/null
+++ b/offapi/com/sun/star/packages/manifest/makefile.mk
@@ -0,0 +1,47 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssmanifest
+PACKAGE=com$/sun$/star$/packages$/manifest
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XManifestReader.idl\
+ XManifestWriter.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..089b2e3a57cf
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/XZipFileAccess.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_zip_XZipFileAccess_idl__
+#define __com_sun_star_packages_zip_XZipFileAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_packages_zip_ZipEntry_idl__
+#include <com/sun/star/packages/zip/ZipEntry.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl_
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module packages { module zip {
+
+//=============================================================================
+
+/** allows to get reading access to nonencrypted 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 );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..1a823a889255
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipConstants.idl
@@ -0,0 +1,311 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_package_zip_ZipConstants_idl__
+#define __com_sun_star_package_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
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 000000000000..f363c3244c41
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipEntry.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_zip_ZipEntry_idl__
+#define __com_sun_star_packages_zip_ZipEntry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..4e816287ee92
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_zip_ZipException_idl__
+#define __com_sun_star_packages_zip_ZipException_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..1f8cd8efb999
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_zip_ZipFileAccess_idl__
+#define __com_sun_star_packages_zip_ZipFileAccess_idl__
+
+#ifndef __com_sun_star_packages_zip_XZipFileAccess_idl__
+#include <com/sun/star/packages/zip/XZipFileAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module packages { module zip {
+
+//=============================================================================
+
+/** allows to get reading access to nonencrypted entries inside zip file.
+ */
+service ZipFileAccess
+{
+ interface XZipFileAccess;
+ interface ::com::sun::star::container::XNameAccess;
+ interface ::com::sun::star::lang::XInitialization;
+ interface ::com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/packages/zip/ZipIOException.idl b/offapi/com/sun/star/packages/zip/ZipIOException.idl
new file mode 100755
index 000000000000..8d3edaba4466
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/ZipIOException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_packages_zip_ZipIOException_idl__
+#define __com_sun_star_packages_zip_ZipIOException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module packages { module zip {
+
+//=============================================================================
+
+/** used to indicate that a ZIP exception has occurred.
+ usualy 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
diff --git a/offapi/com/sun/star/packages/zip/makefile.mk b/offapi/com/sun/star/packages/zip/makefile.mk
new file mode 100644
index 000000000000..b361ebeacc7d
--- /dev/null
+++ b/offapi/com/sun/star/packages/zip/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csszippackage
+PACKAGE=com$/sun$/star$/packages
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ZipEntry.idl\
+ ZipException.idl \
+ ZipIOException.idl \
+ ZipConstants.idl\
+ ZipFileAccess.idl\
+ XZipFileAccess.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/plugin/PluginDescription.idl b/offapi/com/sun/star/plugin/PluginDescription.idl
new file mode 100644
index 000000000000..7c999fddf881
--- /dev/null
+++ b/offapi/com/sun/star/plugin/PluginDescription.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_PluginDescription_idl__
+#define __com_sun_star_plugin_PluginDescription_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** Describes a specific plugin. If there are multiple mimetypes and/or
+ extensions, multiple <type>PluginDescription</type>s will be created.
+*/
+published struct PluginDescription
+{
+ /** the plugin's name (usually the shared object file name) */
+ string PluginName;
+ /** a mimetype for which this plugin should be registered */
+ string Mimetype;
+ /** the file extension for files the plugin can handle */
+ string Extension;
+ /** text description of the plugin */
+ string Description;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/PluginException.idl b/offapi/com/sun/star/plugin/PluginException.idl
new file mode 100644
index 000000000000..2101e0b45c4b
--- /dev/null
+++ b/offapi/com/sun/star/plugin/PluginException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_PluginException_idl__
+#define __com_sun_star_plugin_PluginException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** Indicates that an error occured in an NPN or NPP function call.
+
+ @see XPlugin
+ @see XPluginContext
+ @see XPluginManager
+*/
+published exception PluginException: com::sun::star::uno::Exception
+{
+ /** original Netscape plugin error code */
+ short ErrorCode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/PluginManager.idl b/offapi/com/sun/star/plugin/PluginManager.idl
new file mode 100644
index 000000000000..36421513e5a3
--- /dev/null
+++ b/offapi/com/sun/star/plugin/PluginManager.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_PluginManager_idl__
+#define __com_sun_star_plugin_PluginManager_idl__
+
+#ifndef __com_sun_star_plugin_XPluginManager_idl__
+#include <com/sun/star/plugin/XPluginManager.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** This service manages all recognized Netscape plugins.
+*/
+published service PluginManager
+{
+ interface com::sun::star::plugin::XPluginManager;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/PluginMode.idl b/offapi/com/sun/star/plugin/PluginMode.idl
new file mode 100644
index 000000000000..382727d7de28
--- /dev/null
+++ b/offapi/com/sun/star/plugin/PluginMode.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_PluginMode_idl__
+#define __com_sun_star_plugin_PluginMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+published constants PluginMode
+{
+ /** embedded into document */
+ const short EMBED = 1;
+ /** full size */
+ const short FULL = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/PluginVariable.idl b/offapi/com/sun/star/plugin/PluginVariable.idl
new file mode 100644
index 000000000000..9f57ef636f55
--- /dev/null
+++ b/offapi/com/sun/star/plugin/PluginVariable.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_PluginVariable_idl__
+#define __com_sun_star_plugin_PluginVariable_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** Describes the possible parameters to XPluginContext::getValue.
+ It describes what kind of object is requested.
+*/
+published enum PluginVariable
+{
+ /** XPluginContext::getValue will return the XWindow display pointer of
+ a display connection (UNIX only)
+ */
+ VxDisplay,
+
+ /** XPluginContext::getValue will return the global Xt application context
+ (UNIX only)
+ */
+ VxtAppContext
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/XPlugin.idl b/offapi/com/sun/star/plugin/XPlugin.idl
new file mode 100644
index 000000000000..0cc1d3214a80
--- /dev/null
+++ b/offapi/com/sun/star/plugin/XPlugin.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_XPlugin_idl__
+#define __com_sun_star_plugin_XPlugin_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_PluginException_idl__
+#include <com/sun/star/plugin/PluginException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** This interface allows the container, e.g. document to control the plugin.
+*/
+published interface XPlugin: com::sun::star::uno::XInterface
+{
+ /** Tells the plugin instance that a new stream is requested.
+
+ @param mimetype
+ mime type of provided data
+ @param aSource
+ data source
+ @param url
+ url
+ @param length
+ number of bytes (if file)
+ @param lastmodified
+ time stamp of last modification (if file)
+ @param isfile
+ whether data comes from a file
+ @return true upon success
+ */
+ boolean provideNewStream( [in] string mimetype,
+ [in] com::sun::star::io::XActiveDataSource aSource,
+ [in] string url,
+ [in] long length,
+ [in] long lastmodified,
+ [in] boolean isfile )
+ raises( com::sun::star::plugin::PluginException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/XPluginContext.idl b/offapi/com/sun/star/plugin/XPluginContext.idl
new file mode 100644
index 000000000000..e70479587a76
--- /dev/null
+++ b/offapi/com/sun/star/plugin/XPluginContext.idl
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_XPluginContext_idl__
+#define __com_sun_star_plugin_XPluginContext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_XPlugin_idl__
+#include <com/sun/star/plugin/XPlugin.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_PluginVariable_idl__
+#include <com/sun/star/plugin/PluginVariable.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_PluginException_idl__
+#include <com/sun/star/plugin/PluginException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_io_XActiveDataSource_idl__
+#include <com/sun/star/io/XActiveDataSource.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** Interface receiving calls from a plugin library.
+ A default context can be created using the <type>PluginManager</type>.
+*/
+published interface XPluginContext: com::sun::star::uno::XInterface
+{
+ /** Requests global application parameters like display connection
+ on UNIX systems.
+
+ @param xPlugin
+ plugin
+ @param aVariable
+ variable
+ @return value
+ */
+ string getValue( [in] com::sun::star::plugin::XPlugin xPlugin,
+ [in] com::sun::star::plugin::PluginVariable aVariable )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Requests a notification of completion of the operation on an URL.
+
+ @param plugin
+ plugin
+ @param url
+ url
+ @param target
+ target frame
+ @param listener
+ event listener
+ */
+ void getURLNotify( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string url,
+ [in] string target,
+ [in] com::sun::star::lang::XEventListener listener )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Requests an URL to be loaded into the frame target.
+
+ @param plugin
+ plugin
+ @param url
+ url
+ @param target
+ target frame
+ */
+ void getURL( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string url,
+ [in] string target )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Posts data from a buffer or file to an URL and receives a
+ notification upon completion.
+
+ @param plugin
+ plugin
+ @param url
+ url
+ @param target
+ target frame
+ @param buf
+ data
+ @param file
+ whether data is from file
+ @param listener
+ event listener
+ */
+ void postURLNotify( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string url,
+ [in] string target,
+ [in] sequence<byte> buf,
+ [in] boolean file,
+ [in] com::sun::star::lang::XEventListener listener )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Posts data from a buffer or file to an URL.
+
+ @param plugin
+ plugin
+ @param url
+ url
+ @param target
+ target frame
+ @param buf
+ data
+ @param file
+ whether data is from file
+ */
+ void postURL( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string url,
+ [in] string target,
+ [in] sequence<byte> buf,
+ [in] boolean file )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Requests a new stream that is created by the plugin and consumed
+ by the browser.
+
+ @param plugin
+ plugin
+ @param mimetype
+ mime type
+ @param target
+ target frame
+ @param aSource
+ data source
+ */
+ void newStream( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string mimetype,
+ [in] string target,
+ [in] com::sun::star::io::XActiveDataSource aSource )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Displays a message in the browser status line.
+
+ @param plugin
+ plugin
+ @param message
+ message
+ */
+ void displayStatusText( [in] com::sun::star::plugin::XPlugin plugin,
+ [in] string message )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Returns an application dependent identification string.
+ This is the same string that is transmitted by a browser to an http server.
+
+ @param plugin
+ plugin
+ @return id
+ */
+ string getUserAgent( [in] com::sun::star::plugin::XPlugin plugin )
+ raises( com::sun::star::plugin::PluginException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/XPluginManager.idl b/offapi/com/sun/star/plugin/XPluginManager.idl
new file mode 100644
index 000000000000..56a118bfc97a
--- /dev/null
+++ b/offapi/com/sun/star/plugin/XPluginManager.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_plugin_XPluginManager_idl__
+#define __com_sun_star_plugin_XPluginManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_XPluginContext_idl__
+#include <com/sun/star/plugin/XPluginContext.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_PluginDescription_idl__
+#include <com/sun/star/plugin/PluginDescription.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_XPlugin_idl__
+#include <com/sun/star/plugin/XPlugin.idl>
+#endif
+
+#ifndef __com_sun_star_plugin_PluginException_idl__
+#include <com/sun/star/plugin/PluginException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XToolkit_idl__
+#include <com/sun/star/awt/XToolkit.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindowPeer_idl__
+#include <com/sun/star/awt/XWindowPeer.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module plugin {
+
+//=============================================================================
+
+/** Interface accessing all recognized Netscape plugins.
+*/
+published interface XPluginManager: com::sun::star::uno::XInterface
+{
+ /** Creates a default context. This context depends on the service
+ <type scope="com::sun::star::frame">Desktop</type>.</p>
+
+ @return plugin context
+ */
+ com::sun::star::plugin::XPluginContext createPluginContext();
+
+ /** Returns the descriptions for all recognized plugins.
+
+ @return plugin descriptions
+ */
+ sequence<com::sun::star::plugin::PluginDescription> getPluginDescriptions();
+
+ /** Creates a new plugin instance.
+
+ @param acontext
+ plugin context
+ @param mode
+ plugin mode
+ @param argn
+ argument name list provided to plugin
+ @param argv
+ argument value list provided to plugin
+ @param plugintype
+ plugin description
+ @return plugin instance
+ */
+ com::sun::star::plugin::XPlugin createPlugin(
+ [in] com::sun::star::plugin::XPluginContext acontext,
+ [in] short mode,
+ [in] sequence<string> argn,
+ [in] sequence<string> argv,
+ [in] com::sun::star::plugin::PluginDescription plugintype )
+ raises( com::sun::star::plugin::PluginException );
+
+ /** Creates a new plugin instance.
+
+ @param acontext
+ plugin context
+ @param mode
+ plugin mode
+ @param argn
+ argument name list provided to plugin
+ @param argv
+ argument value list provided to plugin
+ @param toolkit
+ toolkit to be used to get system window handle for plugin
+ @param parent
+ parent window
+ @param url
+ url
+ @return plugin instance
+ */
+ com::sun::star::plugin::XPlugin createPluginFromURL(
+ [in] com::sun::star::plugin::XPluginContext acontext,
+ [in] short mode,
+ [in] sequence<string> argn,
+ [in] sequence<string> argv,
+ [in] com::sun::star::awt::XToolkit toolkit,
+ [in] com::sun::star::awt::XWindowPeer parent,
+ [in] string url );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/plugin/makefile.mk b/offapi/com/sun/star/plugin/makefile.mk
new file mode 100644
index 000000000000..a0b4615f0c96
--- /dev/null
+++ b/offapi/com/sun/star/plugin/makefile.mk
@@ -0,0 +1,53 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssplugin
+PACKAGE=com$/sun$/star$/plugin
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ PluginDescription.idl\
+ PluginException.idl\
+ PluginManager.idl\
+ PluginMode.idl\
+ PluginVariable.idl\
+ XPlugin.idl\
+ XPluginContext.idl\
+ XPluginManager.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/presentation/AnimationEffect.idl b/offapi/com/sun/star/presentation/AnimationEffect.idl
new file mode 100644
index 000000000000..8770080783f0
--- /dev/null
+++ b/offapi/com/sun/star/presentation/AnimationEffect.idl
@@ -0,0 +1,944 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_AnimationEffect_idl__
+#define __com_sun_star_presentation_AnimationEffect_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::presentation::AnimationEffect
+/** specifies the animation effects for animating
+ text or objects.
+ */
+published enum AnimationEffect
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: NONE,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::NONE
+ /** use no animation effects.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_LEFT
+ /** use the animation effect 'Fade from Left'.
+ */
+ FADE_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_TOP,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_TOP
+ /** use the animation effect 'Fade from Top'.
+ */
+ FADE_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_RIGHT
+ /** use the animation effect 'Fade from Right'.
+ */
+ FADE_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_BOTTOM
+ /** use the animation effect 'Fade from Bottom'.
+ */
+ FADE_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_TO_CENTER,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_TO_CENTER
+ /** use the animation effect 'Fade to Center'.
+ */
+ FADE_TO_CENTER,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_CENTER,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_CENTER
+ /** use the animation effect 'Fade from Center'.
+ */
+ FADE_FROM_CENTER,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_LEFT
+ /** use the animation effect 'Move from Left'.
+ */
+ MOVE_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_TOP,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_TOP
+ /** use the animation effect 'Move from Top'.
+ */
+ MOVE_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_RIGHT
+ /** use the animation effect 'Move from Right'.
+ */
+ MOVE_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_BOTTOM
+ /** use the animation effect 'Move from Bottom'.
+ */
+ MOVE_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: VERTICAL_STRIPES,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::VERTICAL_STRIPES
+ /** use the animation effect 'Vertical Stripes'.
+ */
+ VERTICAL_STRIPES,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HORIZONTAL_STRIPES,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HORIZONTAL_STRIPES
+ /** use the animation effect 'Horizontal Stripes'.
+ */
+ HORIZONTAL_STRIPES,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: CLOCKWISE,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::CLOCKWISE
+ /** use the animation effect 'Clockwise'.
+ */
+ CLOCKWISE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: COUNTERCLOCKWISE,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::COUNTERCLOCKWISE
+ /** use the animation effect 'Counter Clockwise'.
+ */
+ COUNTERCLOCKWISE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_UPPERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_UPPERLEFT
+ /** use the animation effect 'Fade from Upper Left'.
+ */
+ FADE_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_UPPERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_UPPERRIGHT
+ /** use the animation effect 'Fade from Upper Right'.
+ */
+ FADE_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_LOWERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_LOWERLEFT
+ /** use the animation effect 'Fade from Lower Left'.
+ */
+ FADE_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: FADE_FROM_LOWERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::FADE_FROM_LOWERRIGHT
+ /** use the animation effect 'Fade from Lower Right'.
+ */
+ FADE_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: CLOSE_VERTICAL,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::CLOSE_VERTICAL
+ /** use the animation effect 'Close Vertical'.
+ */
+ CLOSE_VERTICAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: CLOSE_HORIZONTAL,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::CLOSE_HORIZONTAL
+ /** use the animation effect 'Close Horizontal'.
+ */
+ CLOSE_HORIZONTAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: OPEN_VERTICAL,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::OPEN_VERTICAL
+ /** use the animation effect 'Open Vertical'.
+ */
+ OPEN_VERTICAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: OPEN_HORIZONTAL,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::OPEN_HORIZONTAL
+ /** use the animation effect 'Open Horizontal'.
+ */
+ OPEN_HORIZONTAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: PATH,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::PATH
+ /** use the animation effect 'Path'.
+ */
+ PATH,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_LEFT
+ /** use the animation effect 'Move to Left'.
+ */
+ MOVE_TO_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_TOP,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_TOP
+ /** use the animation effect 'Move to Top'.
+ */
+ MOVE_TO_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_RIGHT
+ /** use the animation effect 'Move to Right'.
+ */
+ MOVE_TO_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_BOTTOM
+ /** use the animation effect 'Move to Bottom'.
+ */
+ MOVE_TO_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: SPIRALIN_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::SPIRALIN_LEFT
+ /** use the animation effect 'Spiral Inward Left'.
+ */
+ SPIRALIN_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: SPIRALIN_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::SPIRALIN_RIGHT
+ /** use the animation effect 'Spiral Inward Right'.
+ */
+ SPIRALIN_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: SPIRALOUT_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::SPIRALOUT_LEFT
+ /** use the animation effect 'Spiral Outward Left'.
+ */
+ SPIRALOUT_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: SPIRALOUT_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::SPIRALOUT_RIGHT
+ /** use the animation effect 'Spiral Outward Right'.
+ */
+ SPIRALOUT_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: DISSOLVE,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::DISSOLVE
+ /** use the animation effect 'Spiral Inward Left'.
+ */
+ DISSOLVE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: WAVYLINE_FROM_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::WAVYLINE_FROM_LEFT
+ /** use the animation effect 'Wavy Line from Left'.
+ */
+ WAVYLINE_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: WAVYLINE_FROM_TOP,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::WAVYLINE_FROM_TOP
+ /** use the animation effect 'Wavy Line from Top'.
+ */
+ WAVYLINE_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: WAVYLINE_FROM_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::WAVYLINE_FROM_RIGHT
+ /** use the animation effect 'Wavy Line from Right'.
+ */
+ WAVYLINE_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: WAVYLINE_FROM_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::WAVYLINE_FROM_BOTTOM
+ /** use the animation effect 'Wavy Line from Button'.
+ */
+ WAVYLINE_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: RANDOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::RANDOM
+ /** use the animation effect 'Random'.
+ */
+ RANDOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: VERTICAL_LINES,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::VERTICAL_LINES
+ /** use the animation effect 'Vertical Lines'.
+ */
+ VERTICAL_LINES,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HORIZONTAL_LINES,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HORIZONTAL_LINES
+ /** use the animation effect 'Horizontal Lines'.
+ */
+ HORIZONTAL_LINES,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_LEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_LEFT
+ /** use the animation effect 'Wavy Line from Left'.
+ */
+ LASER_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_TOP,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_TOP
+ /** use the animation effect 'Laser from Top'.
+ */
+ LASER_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_RIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_RIGHT
+ /** use the animation effect 'Laser from Right'.
+ */
+ LASER_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_BOTTOM,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_BOTTOM
+ /** use the animation effect 'Laser from Bottom'.
+ */
+ LASER_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_UPPERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_UPPERLEFT
+ /** use the animation effect 'Laser from Upper Left'.
+ */
+ LASER_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_UPPERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_UPPERRIGHT
+ /** use the animation effect 'Laser from Upper Right'.
+ */
+ LASER_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_LOWERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_LOWERLEFT
+ /** use the animation effect 'Laser from Lower Left'.
+ */
+ LASER_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: LASER_FROM_LOWERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::LASER_FROM_LOWERRIGHT
+ /** use the animation effect 'Laser from Lower Right'.
+ */
+ LASER_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: APPEAR,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::APPEAR
+ /** use the animation effect 'Appear'.
+ */
+ APPEAR,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HIDE
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HIDE
+ /** use the animation effect 'Hide'.
+ */
+ HIDE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_UPPERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_UPPERLEFT
+ /** use the animation effect 'Move from Upper Left'.
+ */
+ MOVE_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_UPPERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_UPPERRIGHT
+ /** use the animation effect 'Move from Upper Right'.
+ */
+ MOVE_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_LOWERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_LOWERRIGHT
+ /** use the animation effect 'Move from Lower Right'.
+ */
+ MOVE_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_FROM_LOWERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_FROM_LOWERLEFT
+ /** use the animation effect 'Move from Lower Left'.
+ */
+ MOVE_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_UPPERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_UPPERLEFT
+ /** use the animation effect 'Move to Upper Left'.
+ */
+ MOVE_TO_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_UPPERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_UPPERRIGHT
+ /** use the animation effect 'Move to Upper Right'.
+ */
+ MOVE_TO_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_LOWERRIGHT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_LOWERRIGHT
+ /** use the animation effect 'Move to Lower Right'.
+ */
+ MOVE_TO_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_TO_LOWERLEFT,
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_TO_LOWERLEFT
+ /** use the animation effect 'Move to Lower Left'.
+ */
+ MOVE_TO_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_LEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_LEFT
+ /** use the animation effect 'Move Short from Left'.
+ */
+ MOVE_SHORT_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_UPPERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_UPPERLEFT
+ /** use the animation effect 'Move Short from Upper Left'.
+ */
+ MOVE_SHORT_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_TOP
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_TOP
+ /** use the animation effect 'Move Short from Top'.
+ */
+ MOVE_SHORT_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_UPPERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_UPPERRIGHT
+ /** use the animation effect 'Move Short from Upper Right'.
+ */
+ MOVE_SHORT_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_RIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_RIGHT
+ /** use the animation effect 'Move Short from Right'.
+ */
+ MOVE_SHORT_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_LOWERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_LOWERRIGHT
+ /** use the animation effect 'Move Short from Lower Right'.
+ */
+ MOVE_SHORT_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_BOTTOM
+ /** use the animation effect 'Move Short from Bottom'.
+ */
+ MOVE_SHORT_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_FROM_LOWERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_FROM_LOWERLEFT
+ /** use the animation effect 'Move Short from Lower Left'.
+ */
+ MOVE_SHORT_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_LEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_LEFT
+ /** use the animation effect 'Move Short to Left'.
+ */
+ MOVE_SHORT_TO_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_UPPERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_UPPERLEFT
+ /** use the animation effect 'Move Short to Upper Left'.
+ */
+ MOVE_SHORT_TO_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_TOP
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_TOP
+ /** use the animation effect 'Move Short to Top'.
+ */
+ MOVE_SHORT_TO_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_UPPERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_UPPERRIGHT
+ /** use the animation effect 'Move Short to Upper Right'.
+ */
+ MOVE_SHORT_TO_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_RIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_RIGHT
+ /** use the animation effect 'Move Short to Right'.
+ */
+ MOVE_SHORT_TO_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_LOWERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_LOWERRIGHT
+ /** use the animation effect 'Move Short to Lower Right'.
+ */
+ MOVE_SHORT_TO_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_BOTTOM
+ /** use the animation effect 'Move Short to Bottom'.
+ */
+ MOVE_SHORT_TO_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: MOVE_SHORT_TO_LOWERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::MOVE_SHORT_TO_LOWERLEFT
+ /** use the animation effect 'Move Short to Lower Left'.
+ */
+ MOVE_SHORT_TO_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: VERTICAL_CHECKERBOARD
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::VERTICAL_CHECKERBOARD
+ /** use the animation effect 'Vertical Checkerboard'.
+ */
+ VERTICAL_CHECKERBOARD,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HORIZONTAL_CHECKERBOARD
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HORIZONTAL_CHECKERBOARD
+ /** use the animation effect 'Horizontal Checkerboard'.
+ */
+ HORIZONTAL_CHECKERBOARD,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HORIZONTAL_ROTATE
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HORIZONTAL_ROTATE
+ /** use the animation effect 'Horizontal Rotate'.
+ */
+ HORIZONTAL_ROTATE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: VERTICAL_ROTATE
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::VERTICAL_ROTATE
+ /** use the animation effect 'Vertical Rotate'.
+ */
+ VERTICAL_ROTATE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: HORIZONTAL_STRETCH
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::HORIZONTAL_STRETCH
+ /** use the animation effect 'Horizontal Stretch'.
+ */
+ HORIZONTAL_STRETCH,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: VERTICAL_STRETCH
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::VERTICAL_STRETCH
+ /** use the animation effect 'Vertical Stretch'.
+ */
+ VERTICAL_STRETCH,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_LEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_LEFT
+ /** use the animation effect 'Stretch From Left'.
+ */
+ STRETCH_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_UPPERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_UPPERLEFT
+ /** use the animation effect 'Stretch From Upper Left'.
+ */
+ STRETCH_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_TOP
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_TOP
+ /** use the animation effect 'Stretch From Top'.
+ */
+ STRETCH_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_UPPERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_UPPERRIGHT
+ /** use the animation effect 'Stretch From Upper Right'.
+ */
+ STRETCH_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_RIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_RIGHT
+ /** use the animation effect 'Stretch From Right'.
+ */
+ STRETCH_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_LOWERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_LOWERRIGHT
+ /** use the animation effect 'Stretch From Lower Right'.
+ */
+ STRETCH_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_BOTTOM
+ /** use the animation effect 'Stretch From Bottom'.
+ */
+ STRETCH_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: STRETCH_FROM_LOWERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::STRETCH_FROM_LOWERLEFT
+ /** use the animation effect 'Stretch From Lower Left'.
+ */
+ STRETCH_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN
+ /** use the animation effect 'Zoom In'.
+ */
+ ZOOM_IN,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_SMALL
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_SMALL
+ /** use the animation effect 'Zoom In Small'.
+ */
+ ZOOM_IN_SMALL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_SPIRAL
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_SPIRAL
+ /** use the animation effect 'Zoom In Spiral'.
+ */
+ ZOOM_IN_SPIRAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT
+ /** use the animation effect 'Zoom Out'.
+ */
+ ZOOM_OUT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_SMALL
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_SMALL
+ /** use the animation effect 'Zoom Out Small'.
+ */
+ ZOOM_OUT_SMALL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_SPIRAL
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_SPIRAL
+ /** use the animation effect 'Zoom Out Spiral'.
+ */
+ ZOOM_OUT_SPIRAL,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_LEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_LEFT
+ /** use the animation effect 'Zoom In From Left'.
+ */
+ ZOOM_IN_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_UPPERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_UPPERLEFT
+ /** use the animation effect 'Zoom In From Upper Left'.
+ */
+ ZOOM_IN_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_TOP
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_TOP
+ /** use the animation effect 'Zoom In From Top'.
+ */
+ ZOOM_IN_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_UPPERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_UPPERRIGHT
+ /** use the animation effect 'Zoom In From Upper Right'.
+ */
+ ZOOM_IN_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_RIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_RIGHT
+ /** use the animation effect 'Zoom In From Right'.
+ */
+ ZOOM_IN_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_LOWERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_LOWERRIGHT
+ /** use the animation effect 'Zoom In From Lower Right'.
+ */
+ ZOOM_IN_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_BOTTOM
+ /** use the animation effect 'Zoom In From Bottom'.
+ */
+ ZOOM_IN_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_LOWERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_LOWERLEFT
+ /** use the animation effect 'Zoom In From Lower Left'.
+ */
+ ZOOM_IN_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_IN_FROM_CENTER
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_IN_FROM_CENTER
+ /** use the animation effect 'Zoom In From Center'.
+ */
+ ZOOM_IN_FROM_CENTER,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_LEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_LEFT
+ /** use the animation effect 'Zoom Out From Left'.
+ */
+ ZOOM_OUT_FROM_LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_UPPERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_UPPERLEFT
+ /** use the animation effect 'Zoom Out From Upper Left'.
+ */
+ ZOOM_OUT_FROM_UPPERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_TOP
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_TOP
+ /** use the animation effect 'Zoom Out From Top'.
+ */
+ ZOOM_OUT_FROM_TOP,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_UPPERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_UPPERRIGHT
+ /** use the animation effect 'Zoom Out From Upper Right'.
+ */
+ ZOOM_OUT_FROM_UPPERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_RIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_RIGHT
+ /** use the animation effect 'Zoom Out From Right'.
+ */
+ ZOOM_OUT_FROM_RIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_LOWERRIGHT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_LOWERRIGHT
+ /** use the animation effect 'Zoom Out From Lower Right'.
+ */
+ ZOOM_OUT_FROM_LOWERRIGHT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_BOTTOM
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_BOTTOM
+ /** use the animation effect 'Zoom Out From Bottom'.
+ */
+ ZOOM_OUT_FROM_BOTTOM,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_LOWERLEFT
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_LOWERLEFT
+ /** use the animation effect 'Zoom Out From Lower Left'.
+ */
+ ZOOM_OUT_FROM_LOWERLEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR AnimationEffect:: ZOOM_OUT_FROM_CENTER
+
+ // DocMerge from xml: value com::sun::star::presentation::AnimationEffect::ZOOM_OUT_FROM_CENTER
+ /** use the animation effect 'Zoom Out From Center'.
+ */
+ ZOOM_OUT_FROM_CENTER
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/AnimationSpeed.idl b/offapi/com/sun/star/presentation/AnimationSpeed.idl
new file mode 100644
index 000000000000..dd309319e71e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/AnimationSpeed.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/presentation/ChartShape.idl b/offapi/com/sun/star/presentation/ChartShape.idl
new file mode 100644
index 000000000000..440e28df51b8
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ChartShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_ChartShape_idl__
+#define __com_sun_star_presentation_ChartShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_OLE2Shape_idl__
+#include <com/sun/star/drawing/OLE2Shape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service ChartShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::OLE2Shape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/ClickAction.idl b/offapi/com/sun/star/presentation/ClickAction.idl
new file mode 100644
index 000000000000..3ad4d4b5c0d5
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ClickAction.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/presentation/CustomPresentation.idl b/offapi/com/sun/star/presentation/CustomPresentation.idl
new file mode 100644
index 000000000000..68bd79aede66
--- /dev/null
+++ b/offapi/com/sun/star/presentation/CustomPresentation.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_CustomPresentation_idl__
+#define __com_sun_star_presentation_CustomPresentation_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/presentation/CustomPresentationAccess.idl b/offapi/com/sun/star/presentation/CustomPresentationAccess.idl
new file mode 100644
index 000000000000..fe23098bfd36
--- /dev/null
+++ b/offapi/com/sun/star/presentation/CustomPresentationAccess.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_CustomPresentationAccess_idl__
+#define __com_sun_star_presentation_CustomPresentationAccess_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type>CustomPresentation</type>.
+ <p>The methods insertByName and replaceByName both replace
+ the name of the given <type>CustomPresentation</type>
+ */
+ interface com::sun::star::container::XNameContainer;
+
+ /** This interface lets you create empty instances of
+ the service <type>CustomPresentation</type>.
+
+ <p>These services are needed for the <code>insertByName</code>
+ and <code>replaceByName</code> methods of this service
+ <type scope="com::sun::star::container">XNameContainer</type> interface.
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/DateTimeShape.idl b/offapi/com/sun/star/presentation/DateTimeShape.idl
new file mode 100644
index 000000000000..c4d68dd3a5b5
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DateTimeShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_DateTimeShape_idl__
+#define __com_sun_star_presentation_DateTimeShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+service DateTimeShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/DocumentSettings.idl b/offapi/com/sun/star/presentation/DocumentSettings.idl
new file mode 100644
index 000000000000..c97d205cf3ef
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DocumentSettings.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_DocumentSettings_idl__
+#define __com_sun_star_presentation_DocumentSettings_idl__
+
+#ifndef __com_sun_star_document_HeaderFooterSettings_idl__
+#include <com/sun/star/document/HeaderFooterSettings.idl>
+#endif
+
+#ifndef __com_sun_star_document_Settings_idl__
+#include <com/sun/star/document/Settings.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+ [optional, property] long PageNumberFormat;
+
+ /** If this is true, the distance between two paragraphs is
+ the sum of ParaTopMargin of the previous and ParaBottomMargin of
+ the next paragraph. If false, only the greater of the two is
+ choosen.
+ */
+ [optional, property] boolean ParagraphSummation;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/DrawPage.idl b/offapi/com/sun/star/presentation/DrawPage.idl
new file mode 100644
index 000000000000..c939ae0267c3
--- /dev/null
+++ b/offapi/com/sun/star/presentation/DrawPage.idl
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_DrawPage_idl__
+#define __com_sun_star_presentation_DrawPage_idl__
+
+#ifndef __com_sun_star_drawing_DrawPage_idl__
+#include <com/sun/star/drawing/DrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_document_LinkTarget_idl__
+#include <com/sun/star/document/LinkTarget.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_FadeEffect_idl__
+#include <com/sun/star/presentation/FadeEffect.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_AnimationSpeed_idl__
+#include <com/sun/star/presentation/AnimationSpeed.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This is the service provided by a <type scope="com::sun::star::drawing">DrawPage</type> inside a
+ <type>PresentationDocument</type>.
+
+ @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 <member scope="com::sun::star::drawing">DrawPage::Change</member> is set to 1,
+ this is the time in seconds this page is shown before switching
+ to the next page.
+ */
+ [property] long Duration;
+
+ //-------------------------------------------------------------------------
+
+ /** 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.
+ */
+ [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 displayd 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 displayd 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 displayd 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/EffectCommands.idl b/offapi/com/sun/star/presentation/EffectCommands.idl
new file mode 100644
index 000000000000..dbb5917a756f
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectCommands.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 mili seconds. 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
diff --git a/offapi/com/sun/star/presentation/EffectNodeType.idl b/offapi/com/sun/star/presentation/EffectNodeType.idl
new file mode 100644
index 000000000000..27776d66802a
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectNodeType.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>::com::sun::star::animations::XAnimationNode::UserData</member> sequence.
+ <br>
+ This does not manipulate the timing or syncronization.
+ It can be used to quickly identify semantic blocks inside an animation hierachy.
+
+ @see ::com::sun::star::animations::AnimationNode
+*/
+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 automaticaly 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
diff --git a/offapi/com/sun/star/presentation/EffectPresetClass.idl b/offapi/com/sun/star/presentation/EffectPresetClass.idl
new file mode 100644
index 000000000000..e648a17fcb16
--- /dev/null
+++ b/offapi/com/sun/star/presentation/EffectPresetClass.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 a the class for a preset animation effect.
+ <br>
+ This is stored with the name <i>preset-class</i> inside the
+ <member>::com::sun::star::animations::XAnimationNode::UserData</member> sequence.
+ <br>
+ This does not manipulate the timing or syncronization.
+ It can be used to quickly identify preset animations inside an animation hierachy.
+
+ @see ::com::sun::star::animations::AnimationNode
+*/
+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
diff --git a/offapi/com/sun/star/presentation/FadeEffect.idl b/offapi/com/sun/star/presentation/FadeEffect.idl
new file mode 100644
index 000000000000..08cc018e1084
--- /dev/null
+++ b/offapi/com/sun/star/presentation/FadeEffect.idl
@@ -0,0 +1,388 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/presentation/FooterShape.idl b/offapi/com/sun/star/presentation/FooterShape.idl
new file mode 100644
index 000000000000..85262e21b072
--- /dev/null
+++ b/offapi/com/sun/star/presentation/FooterShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_FooterShape_idl__
+#define __com_sun_star_presentation_FooterShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+service FooterShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/GraphicObjectShape.idl b/offapi/com/sun/star/presentation/GraphicObjectShape.idl
new file mode 100644
index 000000000000..3307b856d802
--- /dev/null
+++ b/offapi/com/sun/star/presentation/GraphicObjectShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_GraphicObjectShape_idl__
+#define __com_sun_star_presentation_GraphicObjectShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_GraphicObjectShape_idl__
+#include <com/sun/star/drawing/GraphicObjectShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service GraphicObjectShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::GraphicObjectShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/HandoutShape.idl b/offapi/com/sun/star/presentation/HandoutShape.idl
new file mode 100644
index 000000000000..609ec9cb39f1
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HandoutShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_HandoutShape_idl__
+#define __com_sun_star_presentation_HandoutShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PageShape_idl__
+#include <com/sun/star/drawing/PageShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service HandoutShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::PageShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/HandoutView.idl b/offapi/com/sun/star/presentation/HandoutView.idl
new file mode 100644
index 000000000000..eb5b81849e47
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HandoutView.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_HandoutView_idl__
+#define __com_sun_star_presentation_HandoutView_idl__
+
+#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+#include <com/sun/star/drawing/DrawingDocumentDrawView.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This componend 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
diff --git a/offapi/com/sun/star/presentation/HeaderShape.idl b/offapi/com/sun/star/presentation/HeaderShape.idl
new file mode 100644
index 000000000000..5fe1feb94ced
--- /dev/null
+++ b/offapi/com/sun/star/presentation/HeaderShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_HeaderShape_idl__
+#define __com_sun_star_presentation_HeaderShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+service HeaderShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/NotesShape.idl b/offapi/com/sun/star/presentation/NotesShape.idl
new file mode 100644
index 000000000000..e4961d0a4912
--- /dev/null
+++ b/offapi/com/sun/star/presentation/NotesShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_NotesShape_idl__
+#define __com_sun_star_presentation_NotesShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service NotesShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/NotesView.idl b/offapi/com/sun/star/presentation/NotesView.idl
new file mode 100644
index 000000000000..b6eee742de41
--- /dev/null
+++ b/offapi/com/sun/star/presentation/NotesView.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_NotesView_idl__
+#define __com_sun_star_presentation_NotesView_idl__
+
+#ifndef __com_sun_star_drawing_DrawingDocumentDrawView_idl__
+#include <com/sun/star/drawing/DrawingDocumentDrawView.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This componend 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
diff --git a/offapi/com/sun/star/presentation/OLE2Shape.idl b/offapi/com/sun/star/presentation/OLE2Shape.idl
new file mode 100644
index 000000000000..141f5efad901
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OLE2Shape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_OLE2Shape_idl__
+#define __com_sun_star_presentation_OLE2Shape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_OLE2Shape_idl__
+#include <com/sun/star/drawing/OLE2Shape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service OLE2Shape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::OLE2Shape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/OutlineView.idl b/offapi/com/sun/star/presentation/OutlineView.idl
new file mode 100644
index 000000000000..4552b6777558
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OutlineView.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_OutlineView_idl__
+#define __com_sun_star_presentation_OutlineView_idl__
+
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This componend 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 presentet as a continous 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;
+
+ //-------------------------------------------------------------------------
+
+ /** provides the names of the services implemented by
+ this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/OutlinerShape.idl b/offapi/com/sun/star/presentation/OutlinerShape.idl
new file mode 100644
index 000000000000..bd1b825cd84e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/OutlinerShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_OutlinerShape_idl__
+#define __com_sun_star_presentation_OutlinerShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service OutlinerShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/PageShape.idl b/offapi/com/sun/star/presentation/PageShape.idl
new file mode 100644
index 000000000000..722d3e102298
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PageShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_PageShape_idl__
+#define __com_sun_star_presentation_PageShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PageShape_idl__
+#include <com/sun/star/drawing/PageShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service PageShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::PageShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/ParagraphTarget.idl b/offapi/com/sun/star/presentation/ParagraphTarget.idl
new file mode 100644
index 000000000000..755f10d835f0
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ParagraphTarget.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_ParagraphTarget_idl__
+#define __com_sun_star_presentation_ParagraphTarget_idl__
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/presentation/Presentation.idl b/offapi/com/sun/star/presentation/Presentation.idl
new file mode 100644
index 000000000000..e8c220b00ff7
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Presentation.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_Presentation_idl__
+#define __com_sun_star_presentation_Presentation_idl__
+
+#ifndef __com_sun_star_presentation_XPresentation_idl__
+#include <com/sun/star/presentation/XPresentation.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This service is a presentation that is available from a
+ <type>PresentationDocument</type> via the
+ <type>XPresentationSupplier</type> 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 <literal>0</literal>, 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
diff --git a/offapi/com/sun/star/presentation/Presentation2.idl b/offapi/com/sun/star/presentation/Presentation2.idl
new file mode 100644
index 000000000000..9ed9a9b0dd23
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Presentation2.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_Presentation2_idl__
+#define __com_sun_star_presentation_Presentation2_idl__
+
+#ifndef __com_sun_star_presentation_Presentation_idl__
+#include <com/sun/star/presentation/Presentation.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XPresentation2_idl__
+#include <com/sun/star/presentation/XPresentation2.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** enhances the Presentation service to give access to a <type>XPresentation2</type> interface.
+
+ @since OOo 3.0
+*/
+service Presentation2
+{
+ service Presentation;
+
+ /** enhances the XPresentation interface to give access to
+ a <type>XSlideShowController</type> and
+ to start a presentation with arguments.
+ */
+ interface com::sun::star::presentation::XPresentation2;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/PresentationDocument.idl b/offapi/com/sun/star/presentation/PresentationDocument.idl
new file mode 100644
index 000000000000..401090dd09c2
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationDocument.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_PresentationDocument_idl__
+#define __com_sun_star_presentation_PresentationDocument_idl__
+
+#ifndef __com_sun_star_drawing_GenericDrawingDocument_idl__
+#include <com/sun/star/drawing/GenericDrawingDocument.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XPresentationSupplier_idl__
+#include <com/sun/star/presentation/XPresentationSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XCustomPresentationSupplier_idl__
+#include <com/sun/star/presentation/XCustomPresentationSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ only in a presentation application
+
+ <ul>
+ <li><type>TitleTextShape</type></li>
+ <li><type>OutlinerShape</type></li>
+ <li><type>SubtitleShape</type></li>
+ <li><type>GraphicObjectShape</type></li>
+ <li><type>PageShape</type></li>
+ <li><type>OLE2Shape</type></li>
+ <li><type>ChartShape</type></li>
+ <li><type>NotesShape</type></li>
+ <li><type>HandoutShape</type></li>
+ <li><type>HeaderShape</type></li>
+ <li><type>FooterShape</type></li>
+ <li><type>SlideNumberShape</type></li>
+ <li><type>DateTimeShape</type></li>
+ <li><type>DocumentSettings</type></li>
+ <li><type scope="textfield">Header</type></li>
+ <li><type scope="textfield">Footer</type></li>
+ <li><type scope="textfield">DateTime</type></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
diff --git a/offapi/com/sun/star/presentation/PresentationRange.idl b/offapi/com/sun/star/presentation/PresentationRange.idl
new file mode 100644
index 000000000000..3df71eca5e30
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationRange.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/presentation/PresentationView.idl b/offapi/com/sun/star/presentation/PresentationView.idl
new file mode 100644
index 000000000000..e989b8b075de
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PresentationView.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_PresentationView_idl__
+#define __com_sun_star_presentation_PresentationView_idl__
+
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+
+//=============================================================================
+
+ 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;
+
+ //-------------------------------------------------------------------------
+
+ /** provides the names of the services implemented by
+ this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+
+ /** 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
diff --git a/offapi/com/sun/star/presentation/PreviewView.idl b/offapi/com/sun/star/presentation/PreviewView.idl
new file mode 100644
index 000000000000..943c260b71ae
--- /dev/null
+++ b/offapi/com/sun/star/presentation/PreviewView.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_PreviewView_idl__
+#define __com_sun_star_presentation_PreviewView_idl__
+
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This componend 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;
+
+ //-------------------------------------------------------------------------
+
+ /** provides the names of the services implemented by
+ this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+
+ /** 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
diff --git a/offapi/com/sun/star/presentation/Shape.idl b/offapi/com/sun/star/presentation/Shape.idl
new file mode 100644
index 000000000000..de88ce912445
--- /dev/null
+++ b/offapi/com/sun/star/presentation/Shape.idl
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_Shape_idl__
+#define __com_sun_star_presentation_Shape_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_AnimationEffect_idl__
+#include <com/sun/star/presentation/AnimationEffect.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_ClickAction_idl__
+#include <com/sun/star/presentation/ClickAction.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_AnimationSpeed_idl__
+#include <com/sun/star/presentation/AnimationSpeed.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** this service is supported from all shapes inside a <type>PresentationDocument</type>.
+
+
+ This usually enahnces objects of type <type scope="com::sun::star::drawing">Shape</type> 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 <member scope="com::sun::star::drawing">Shape::DimPrev</member>
+ is <TRUE/> and <member scope="com::sun::star::drawing">Shape::DimHide</member> is <FALSE/>.</p>
+ */
+ [property] com::sun::star::util::Color DimColor;
+
+ //-------------------------------------------------------------------------
+
+ /** If this property and the property <member scope="com::sun::star::drawing">Shape::DimPrev</member>
+ 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 <member scope="com::sun::star::drawing">Shape::DimColor</member> 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 soundfile 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 <member scope="com::sun::star::drawing">Shape::OnClick</member>.
+ */
+ [property] long Verb;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/ShapeAnimationSubType.idl b/offapi/com/sun/star/presentation/ShapeAnimationSubType.idl
new file mode 100644
index 000000000000..022f33f86b0e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/ShapeAnimationSubType.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/presentation/SlideNumberShape.idl b/offapi/com/sun/star/presentation/SlideNumberShape.idl
new file mode 100644
index 000000000000..05e9363318b6
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SlideNumberShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_SlideNumberShape_idl__
+#define __com_sun_star_presentation_SlideNumberShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+service SlideNumberShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/SlidesView.idl b/offapi/com/sun/star/presentation/SlidesView.idl
new file mode 100644
index 000000000000..915468c94bdb
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SlidesView.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_SlidesView_idl__
+#define __com_sun_star_presentation_SlidesView_idl__
+
+#ifndef __com_sun_star_drawing_XDrawView_idl__
+#include <com/sun/star/drawing/XDrawView.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** This componend 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;
+
+ //-------------------------------------------------------------------------
+
+ /** provides the names of the services implemented by
+ this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+
+ /** This is the area that is currently visible.
+ */
+ [readonly, property] com::sun::star::awt::Rectangle VisibleArea;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/SubtitleShape.idl b/offapi/com/sun/star/presentation/SubtitleShape.idl
new file mode 100644
index 000000000000..025800f0b205
--- /dev/null
+++ b/offapi/com/sun/star/presentation/SubtitleShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_SubtitleShape_idl__
+#define __com_sun_star_presentation_SubtitleShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service SubtitleShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/TextAnimationType.idl b/offapi/com/sun/star/presentation/TextAnimationType.idl
new file mode 100644
index 000000000000..e77cb9e70ed1
--- /dev/null
+++ b/offapi/com/sun/star/presentation/TextAnimationType.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope=::com::sun::star::text>XTextRange</type>
+ is animated inside an <type scope=::com::sun::star::animations>IterateContainer</type>.
+ <br>
+ This is stored inside the attribute
+ <member scope=::com::sun::star::animations>IterateContainer::IterateType</member>.
+ <br>
+ @see ::com::sun::star::animations::IterateContainer
+*/
+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
diff --git a/offapi/com/sun/star/presentation/TitleTextShape.idl b/offapi/com/sun/star/presentation/TitleTextShape.idl
new file mode 100644
index 000000000000..190bf5b38d1f
--- /dev/null
+++ b/offapi/com/sun/star/presentation/TitleTextShape.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_TitleTextShape_idl__
+#define __com_sun_star_presentation_TitleTextShape_idl__
+
+#ifndef __com_sun_star_presentation_Shape_idl__
+#include <com/sun/star/presentation/Shape.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_TextShape_idl__
+#include <com/sun/star/drawing/TextShape.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 theire position and size is by default set
+ by the presentation shapes on the <type scope="com::sun::star::drawing">MasterPage</type>.
+ */
+published service TitleTextShape
+{
+ service com::sun::star::presentation::Shape;
+
+ service com::sun::star::drawing::TextShape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl b/offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl
new file mode 100644
index 000000000000..3949c9157932
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XCustomPresentationSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XCustomPresentationSupplier_idl__
+#define __com_sun_star_presentation_XCustomPresentationSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>CustomPresentation</type>.
+ */
+ com::sun::star::container::XNameContainer getCustomPresentations();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl b/offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl
new file mode 100644
index 000000000000..c55af24981d3
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XHandoutMasterSupplier.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XHandoutMasterSupplier_idl__
+#define __com_sun_star_presentation_XHandoutMasterSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>DrawPage</type>.
+ */
+ com::sun::star::drawing::XDrawPage getHandoutMasterPage();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XPresentation.idl b/offapi/com/sun/star/presentation/XPresentation.idl
new file mode 100644
index 000000000000..16c5715edff9
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentation.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XPresentation_idl__
+#define __com_sun_star_presentation_XPresentation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** With this interface you can control any object that implements
+ a <type>Presentation</type>.
+*/
+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
diff --git a/offapi/com/sun/star/presentation/XPresentation2.idl b/offapi/com/sun/star/presentation/XPresentation2.idl
new file mode 100644
index 000000000000..c9609255d4df
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentation2.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XPresentation2_idl__
+#define __com_sun_star_presentation_XPresentation2_idl__
+
+#ifndef __com_sun_star_presentation_XPresentation_idl__
+#include <com/sun/star/presentation/XPresentation.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XSlideShowListener_idl__
+#include <com/sun/star/presentation/XSlideShowListener.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XSlideShowController_idl__
+#include <com/sun/star/presentation/XSlideShowController.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** enhances the XPresentation interface to give access to
+ a <type>XSlideShowController</type> 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 slideshow.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ /** start the slideshow with the given arguments.
+ All arguments overide the values from <service>Presentation</service>
+ */
+ void startWithArguments( [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments );
+
+ //-------------------------------------------------------------------------
+
+ /** returns true if the slideshow is currently running */
+ boolean isRunning();
+
+ //-------------------------------------------------------------------------
+
+ /** if the slideshow is running, this returns a controler object to
+ control the running slideshow. */
+ XSlideShowController getController();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XPresentationPage.idl b/offapi/com/sun/star/presentation/XPresentationPage.idl
new file mode 100644
index 000000000000..ca41ed35c220
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentationPage.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XPresentationPage_idl__
+#define __com_sun_star_presentation_XPresentationPage_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/presentation/XPresentationSupplier.idl b/offapi/com/sun/star/presentation/XPresentationSupplier.idl
new file mode 100644
index 000000000000..f014ad9b379e
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XPresentationSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XPresentationSupplier_idl__
+#define __com_sun_star_presentation_XPresentationSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XPresentation_idl__
+#include <com/sun/star/presentation/XPresentation.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/presentation/XShapeEventListener.idl b/offapi/com/sun/star/presentation/XShapeEventListener.idl
new file mode 100644
index 000000000000..d2578ea8dfbe
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XShapeEventListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XShapeEventListener_idl__
+#define __com_sun_star_presentation_XShapeEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XMouseListener_idl__
+#include <com/sun/star/awt/XMouseListener.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/presentation/XSlideShow.idl b/offapi/com/sun/star/presentation/XSlideShow.idl
new file mode 100644
index 000000000000..2bbce811c00f
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShow.idl
@@ -0,0 +1,378 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_presentation_XSlideShow_idl
+#define _com_sun_star_presentation_XSlideShow_idl
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#endif
+#ifndef __com_sun_star_animations_XAnimationNode_idl__
+#include <com/sun/star/animations/XAnimationNode.idl>
+#endif
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+#ifndef __com_sun_star_presentation_XSlideShowView_idl__
+#include <com/sun/star/presentation/XSlideShowView.idl>
+#endif
+#ifndef __com_sun_star_presentation_XSlideShowListener_idl__
+#include <com/sun/star/presentation/XSlideShowListener.idl>
+#endif
+#ifndef __com_sun_star_presentation_XShapeEventListener_idl__
+#include <com/sun/star/presentation/XShapeEventListener.idl>
+#endif
+
+module com { module sun { module star { module presentation {
+
+/** Slideshow interface to perform slideshow presentations.<p>
+
+ This interface provides the necessary methods to run and control a
+ slideshow from a given set of XDrawPage slides. The slideshow can
+ be displayed simultaneously on multiple targets.<p>
+
+ Note: To controll a running slideshow inside a presentation, please
+ use <type>XPresentation2</type> and <type>XSlideShowController</type>.
+
+ @since OOo 3.0
+ */
+interface XSlideShow : ::com::sun::star::uno::XInterface
+{
+ /** Trigger the next effect of the slideshow.<p>
+
+ This method triggers the next effect on the currently
+ displayed slide. If there is currently no slideshow 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 slideshow.<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 slideshow 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 xPage
+ The slide to display.
+
+ @param xDrawPages
+ For future use.
+ This parameter can be NULL when the ENABLE_PRESENTER_EXTRA_UI feature is disabled.
+
+ @param xAnimationNode
+ 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 prefatching. 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
+ travelling.
+ 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 aAnimationNode,
+ [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
+ slideshow 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 slideshow.<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 registerend 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 );
+
+};
+
+service SlideShow : XSlideShow;
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/presentation/XSlideShowController.idl b/offapi/com/sun/star/presentation/XSlideShowController.idl
new file mode 100644
index 000000000000..97a670c29486
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowController.idl
@@ -0,0 +1,308 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XSlideShowController_idl__
+#define __com_sun_star_presentation_XSlideShowController_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_presentation_XSlideShow_idl__
+#include <com/sun/star/presentation/XSlideShow.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module presentation {
+
+//=============================================================================
+
+/** interface to control a running slideshow.
+
+ @see XPresentation2
+ @since OOo 3.0
+*/
+interface XSlideShowController
+{
+ //-------------------------------------------------------------------------
+
+ /** returns true if the slideshow is still running.
+ If this returns false, this component is already disposed.
+ You can start a new slideshow and get a new instance
+ of <type>XSlideShowController</type> from <type>XPresentation2</type>
+ */
+ boolean isRunning();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the number of slides in this slideshow.
+
+ @see getSlideByIndex
+ */
+ long getSlideCount();
+
+ //-------------------------------------------------------------------------
+
+ /** gives access to the slides that will be shown in this slideshow.
+
+ <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 slideshow. The first index is 0.
+
+ @throws com::sun::star::lang::IndexOutOfBoundException
+ if the index is not valid.
+
+ */
+ ::com::sun::star::drawing::XDrawPage getSlideByIndex( [in] long Index )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+
+ /** addes a listener that recieves events while the slideshow 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 where 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 skiped.*/
+ void gotoNextSlide();
+
+ //-------------------------------------------------------------------------
+
+ /** goto and display previous slide.
+ <p>Remaining effects on the current slide will be skiped.*/
+ void gotoPreviousSlide();
+
+ //-------------------------------------------------------------------------
+
+ /** goto and display last slide.
+ <p>Remaining effects on the current slide will be skiped.*/
+ 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 normaly not be shown during
+ the current slideshow.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given page is not a valid slide of the document for
+ which this slideshow 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 slideshow. All effects are paused.
+ <p>The slideshow continues on next user input or if
+ <member>resume</member> is called.
+ */
+ void pause();
+
+ //-------------------------------------------------------------------------
+
+ /** resumes a paused slideshow.
+ */
+ void resume();
+
+ //-------------------------------------------------------------------------
+
+ /** returns <TRUE/> if the slideshow is currently paused.
+
+ @see <member>pause</member>
+ @see <member>resume</member>
+ */
+ boolean isPaused();
+
+ //-------------------------------------------------------------------------
+
+ /** pauses the slideshow and blanks the screen in the given color.
+ <p>Change attribute <member>Pause</member> to false to unpause
+ the slideshow.
+ */
+ void blankScreen( [in] long Color );
+
+ //-------------------------------------------------------------------------
+
+ /** activates the user interface of this slideshow.
+
+ @see <member>deactivate()</member>
+ @see <member>isActive()</member>
+ */
+ void activate();
+
+ //-------------------------------------------------------------------------
+ /** can be called to deactivate the user interface of this slideshow.
+
+ <p>A deactivated
+ @see <member>activate()</member>
+ @see <member>isActive()</member>
+ */
+ void deactivate();
+
+ //-------------------------------------------------------------------------
+
+ /** determines if the slideshow is active.
+
+ @return
+ <TRUE/> for UI active slideshow
+ <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 slideshow was started to run endlessly.
+ */
+ boolean isEndless();
+
+ //-------------------------------------------------------------------------
+
+ /** Returns <TRUE/> if the slideshow was started in full-screen mode.
+ */
+ boolean isFullScreen();
+
+ //-------------------------------------------------------------------------
+
+ /** If this attribute is set to <TRUE/>, the window of the slideshow is
+ always on top of all other windows.
+ */
+ [attribute] boolean AlwaysOnTop;
+
+ //-------------------------------------------------------------------------
+
+ /** If this attribute is <TRUE/>, the mouse is visible during the
+ slideshow.
+ */
+ [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;
+
+ //-------------------------------------------------------------------------
+
+ /** returns the actuall <type>XSlideShow</type> instance that runs the
+ slideshow.
+ <br>Normaly all navigation should be done using this controller and
+ not the <type>XSlideShow</type> itself. */
+ XSlideShow getSlideShow();
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XSlideShowListener.idl b/offapi/com/sun/star/presentation/XSlideShowListener.idl
new file mode 100644
index 000000000000..01127e66253f
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowListener.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XSlideShowListener_idl__
+#define __com_sun_star_presentation_XSlideShowListener_idl__
+
+#ifndef __com_sun_star_animations_XAnimationListener_idl__
+#include <com/sun/star/animations/XAnimationListener.idl>
+#endif
+
+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 transtion 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
diff --git a/offapi/com/sun/star/presentation/XSlideShowView.idl b/offapi/com/sun/star/presentation/XSlideShowView.idl
new file mode 100644
index 000000000000..7a78a9861f71
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XSlideShowView.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XSlideShowView_idl__
+#define __com_sun_star_presentation_XSlideShowView_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#include <com/sun/star/rendering/XSpriteCanvas.idl>
+#endif
+#ifndef __com_sun_star_util_XModifyListener_idl__
+#include <com/sun/star/util/XModifyListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XPaintListener_idl__
+#include <com/sun/star/awt/XPaintListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XMouseListener_idl__
+#include <com/sun/star/awt/XMouseListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XMouseMotionListener_idl__
+#include <com/sun/star/awt/XMouseMotionListener.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+module com { module sun { module star { module presentation {
+
+/** View interface to display slideshow presentations on.<p>
+
+ This interface provides the necessary methods to enable an
+ XSlideShow interface to display a presentation. The slideshow 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 slideshow uses this method to fully erase the view
+ content. Since the slideshow 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 anisotrophically).
+ */
+ ::com::sun::star::geometry::AffineMatrix2D getTransformation();
+
+ /** Add a listener to get notified when the transformation matrix changes.<p>
+
+ This method registers a listener with the view, which will get
+ called everytime 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 everytime 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 everytime 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 everytime 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 slideshow view uses.
+ */
+ ::com::sun::star::awt::Rectangle getCanvasArea();
+};
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/presentation/XTransition.idl b/offapi/com/sun/star/presentation/XTransition.idl
new file mode 100644
index 000000000000..ddd201b05e0b
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XTransition.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XTransition_idl__
+#define __com_sun_star_presentation_XTransition_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
+
diff --git a/offapi/com/sun/star/presentation/XTransitionFactory.idl b/offapi/com/sun/star/presentation/XTransitionFactory.idl
new file mode 100644
index 000000000000..44fc8b89aea4
--- /dev/null
+++ b/offapi/com/sun/star/presentation/XTransitionFactory.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_presentation_XTransitionFactory_idl__
+#define __com_sun_star_presentation_XTransitionFactory_idl__
+
+#ifndef __com_sun_star_presentation_XTransition_idl__
+#include <com/sun/star/presentation/XTransition.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+
+
+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 slideshow 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::animation::TransitionType)
+
+ @param transitionSubType
+ Subtype for the transition (@see ::com::sun::star::animation::TransitionSubType)
+
+ @param view
+ Slideshow 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
+
+ @param slideOffset
+ Offset in pixel from the top, left edge of the view, such that the
+ slide displays similar to normal slideshow
+ */
+ XTransition createTransition( [in] short transitionType,
+ [in] short transitionSubType,
+ [in] XSlideShowView view,
+ [in] com::sun::star::rendering::XBitmap leavingBitmap,
+ [in] com::sun::star::rendering::XBitmap enteringBitmap );
+};
+
+service TransitionFactory : XTransitionFactory;
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/presentation/makefile.mk b/offapi/com/sun/star/presentation/makefile.mk
new file mode 100644
index 000000000000..80689401852a
--- /dev/null
+++ b/offapi/com/sun/star/presentation/makefile.mk
@@ -0,0 +1,96 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csspresentation
+PACKAGE=com$/sun$/star$/presentation
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ HeaderShape.idl\
+ FooterShape.idl\
+ DateTimeShape.idl\
+ SlideNumberShape.idl\
+ AnimationEffect.idl\
+ AnimationSpeed.idl\
+ ChartShape.idl\
+ ClickAction.idl\
+ CustomPresentation.idl\
+ CustomPresentationAccess.idl\
+ DocumentSettings.idl\
+ DrawPage.idl\
+ FadeEffect.idl\
+ GraphicObjectShape.idl\
+ HandoutShape.idl\
+ HandoutView.idl\
+ NotesShape.idl\
+ NotesView.idl\
+ OLE2Shape.idl\
+ OutlinerShape.idl\
+ OutlineView.idl\
+ PageShape.idl\
+ Presentation.idl\
+ Presentation2.idl\
+ PresentationDocument.idl\
+ PresentationRange.idl\
+ PresentationView.idl\
+ PreviewView.idl\
+ Shape.idl\
+ SlidesView.idl\
+ SubtitleShape.idl\
+ TitleTextShape.idl\
+ XCustomPresentationSupplier.idl\
+ XHandoutMasterSupplier.idl\
+ XPresentation.idl\
+ XPresentationPage.idl\
+ XPresentationSupplier.idl\
+ EffectNodeType.idl\
+ EffectPresetClass.idl\
+ ParagraphTarget.idl\
+ ShapeAnimationSubType.idl\
+ TextAnimationType.idl\
+ EffectCommands.idl\
+ XShapeEventListener.idl\
+ XSlideShow.idl\
+ XSlideShowController.idl\
+ XSlideShowListener.idl\
+ XSlideShowView.idl\
+ XPresentation2.idl\
+ XTransition.idl\
+ XTransitionFactory.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..7c47e1b29d6d
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/DateTime.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..7638565653d2
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/Footer.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..9c2db2f64f79
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/Header.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/presentation/textfield/makefile.mk b/offapi/com/sun/star/presentation/textfield/makefile.mk
new file mode 100644
index 000000000000..49220f824fb4
--- /dev/null
+++ b/offapi/com/sun/star/presentation/textfield/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csspresentationtextfield
+PACKAGE=com$/sun$/star$/presentation$/textfield
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Header.idl\
+ Footer.idl\
+ DateTime.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/rdf/BlankNode.idl b/offapi/com/sun/star/rdf/BlankNode.idl
new file mode 100644
index 000000000000..5829a3f02e9f
--- /dev/null
+++ b/offapi/com/sun/star/rdf/BlankNode.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_BlankNode_idl__
+#define __com_sun_star_rdf_BlankNode_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XBlankNode_idl__
+#include <com/sun/star/rdf/XBlankNode.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>XRepository::createBlankNode</member> 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
diff --git a/offapi/com/sun/star/rdf/FileFormat.idl b/offapi/com/sun/star/rdf/FileFormat.idl
new file mode 100644
index 000000000000..e5814ca70828
--- /dev/null
+++ b/offapi/com/sun/star/rdf/FileFormat.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XRepository::importGraph</member>
+ and <member>XRepository::exportGraph</member>.
+ </p>
+
+ <p>
+ Note that these are integers because UNO IDL does not permit
+ <atom>string</atom> 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/rdf-testcases/#ntriples">N-Triples</a>
+ const short NTRIPLES = 2; // "text/plain";
+
+ /// <a href="http://www.wiwiss.fu-berlin.de/suhl/bizer/TriG/Spec/">TriG</a>
+ const short TRIG = 3; // "application/x-trig";
+
+ /// <a href="http://sw.nokia.com/trix/TriX.html">TriX</a>
+ const short TRIX = 4; // "if only the damn server were up i'd know";
+
+ /// <a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a>
+ const short TURTLE = 5; // "application/turtle";
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/Literal.idl b/offapi/com/sun/star/rdf/Literal.idl
new file mode 100644
index 000000000000..17a197534c65
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Literal.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_Literal_idl__
+#define __com_sun_star_rdf_Literal_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XLiteral_idl__
+#include <com/sun/star/rdf/XLiteral.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/ParseException.idl b/offapi/com/sun/star/rdf/ParseException.idl
new file mode 100644
index 000000000000..4c75afcadc98
--- /dev/null
+++ b/offapi/com/sun/star/rdf/ParseException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_ParseException_idl__
+#define __com_sun_star_rdf_ParseException_idl__
+
+#ifndef __com_sun_star_uno_Eception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** represents an error condition that is signalled on parsing an RDF file.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception ParseException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/QueryException.idl b/offapi/com/sun/star/rdf/QueryException.idl
new file mode 100644
index 000000000000..aa446de10012
--- /dev/null
+++ b/offapi/com/sun/star/rdf/QueryException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_QueryException_idl__
+#define __com_sun_star_rdf_QueryException_idl__
+
+#ifndef __com_sun_star_uno_Eception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** represents an error condition that is signalled on evaluating a query
+ against an RDF Repository.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception QueryException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/Repository.idl b/offapi/com/sun/star/rdf/Repository.idl
new file mode 100644
index 000000000000..5911d4dfe473
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Repository.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_Repository_idl__
+#define __com_sun_star_rdf_Repository_idl__
+
+#ifndef __com_sun_star_rdf_XRepository_idl__
+#include <com/sun/star/rdf/XRepository.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/RepositoryException.idl b/offapi/com/sun/star/rdf/RepositoryException.idl
new file mode 100644
index 000000000000..8d15b23c943b
--- /dev/null
+++ b/offapi/com/sun/star/rdf/RepositoryException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_RepositoryException_idl__
+#define __com_sun_star_rdf_RepositoryException_idl__
+
+#ifndef __com_sun_star_uno_Eception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** represents an error condition that is signalled on accessing an RDF
+ Repository.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+exception RepositoryException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/Statement.idl b/offapi/com/sun/star/rdf/Statement.idl
new file mode 100644
index 000000000000..3979103fd4df
--- /dev/null
+++ b/offapi/com/sun/star/rdf/Statement.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_Statement_idl__
+#define __com_sun_star_rdf_Statement_idl__
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/URI.idl b/offapi/com/sun/star/rdf/URI.idl
new file mode 100644
index 000000000000..a0a785c96a65
--- /dev/null
+++ b/offapi/com/sun/star/rdf/URI.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_URI_idl__
+#define __com_sun_star_rdf_URI_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** represents an URI node that may occur in a RDF graph.
+
+ @since OOo 3.0
+
+ @see XRepository
+ */
+service URI : XURI
+{
+
+ //-------------------------------------------------------------------------
+ /** creates an URI RDF node.
+
+ @param Value
+ the URI, represented as <atom>string</atom>.
+
+ @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 an URI RDF node from namespace prefix and local name.
+
+ @param Namespace
+ the namespace prefix of the URI, represented as
+ <atom>string</atom>.
+
+ @param LocalName
+ the local name of the URI, represented as <atom>string</atom>.
+
+ @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 an URI RDF node for a well-known URI.
+
+ @param Id
+ the URI, represented as a constant from <type>URIs</type>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the argument is not a valid constant from <type>URIs</type>
+
+ @see URIs
+ */
+ createKnown( [in] short Id )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/URIs.idl b/offapi/com/sun/star/rdf/URIs.idl
new file mode 100644
index 000000000000..ca12ba249377
--- /dev/null
+++ b/offapi/com/sun/star/rdf/URIs.idl
@@ -0,0 +1,333 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>URI::createKnown</member>.
+ </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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/XBlankNode.idl b/offapi/com/sun/star/rdf/XBlankNode.idl
new file mode 100644
index 000000000000..d63a4bd93a00
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XBlankNode.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XBlankNode_idl__
+#define __com_sun_star_rdf_XBlankNode_idl__
+
+#ifndef __com_sun_star_rdf_XResource_idl__
+#include <com/sun/star/rdf/XResource.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl
new file mode 100644
index 000000000000..f8bbade4ef74
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl
@@ -0,0 +1,452 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XDocumentMetadataAccess_idl__
+#define __com_sun_star_rdf_XDocumentMetadataAccess_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_FileFormat_idl__
+#include <com/sun/star/rdf/FileFormat.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_ParseException_idl__
+#include <com/sun/star/rdf/ParseException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XMetadatable_idl__
+#include <com/sun/star/rdf/XMetadatable.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XRepositorySupplier_idl__
+#include <com/sun/star/rdf/XRepositorySupplier.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>XURI</type>: 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 an URI.
+
+ @param URI
+ an 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:
+ <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>
+ </p>
+
+ @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:
+ <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>
+ </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 <type>com::sun::star::document::MediaDescriptor</type>
+ 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 <type>com::sun::star::document::MediaDescriptor</type>
+ 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
diff --git a/offapi/com/sun/star/rdf/XDocumentRepository.idl b/offapi/com/sun/star/rdf/XDocumentRepository.idl
new file mode 100644
index 000000000000..215fd89fa954
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XDocumentRepository.idl
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XDocumentRepository_idl__
+#define __com_sun_star_rdf_XDocumentRepository_idl__
+
+#ifndef __com_sun_star_beans_Pair_idl__
+#include <com/sun/star/beans/Pair.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XMetadatable_idl__
+#include <com/sun/star/rdf/XMetadatable.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XRepository_idl__
+#include <com/sun/star/rdf/XRepository.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** extends <type>XRepository</type> with document-specific functionality.
+
+ <p>
+ This subclass of <type>XRepository</type> 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 <atom>string</atom>,
+ 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 <atom>string</atom>,
+ 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 <member>XNamedGraph::addStatement</member> would be
+ ambiguous:
+ if the object is a <type>XMetadatable</type>, 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
+ <atom>string</atom>).
+
+ @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
+ <member>XNamedGraph::getStatements</member>.
+ </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 <type>Statement</type>
+
+ @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
diff --git a/offapi/com/sun/star/rdf/XLiteral.idl b/offapi/com/sun/star/rdf/XLiteral.idl
new file mode 100644
index 000000000000..148809107212
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XLiteral.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XLiteral_idl__
+#define __com_sun_star_rdf_XLiteral_idl__
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+
+//=============================================================================
+
+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 an 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 <atom>string</atom>
+ [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
diff --git a/offapi/com/sun/star/rdf/XMetadatable.idl b/offapi/com/sun/star/rdf/XMetadatable.idl
new file mode 100644
index 000000000000..e7f01d9c05ba
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XMetadatable.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XMetadatable_idl__
+#define __com_sun_star_rdf_XMetadatable_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>XURI</type>.
+ 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 <type>XURI</type> interface on an instance of
+ <type>XMetadatable</type> 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
diff --git a/offapi/com/sun/star/rdf/XNamedGraph.idl b/offapi/com/sun/star/rdf/XNamedGraph.idl
new file mode 100644
index 000000000000..d71c5a599e9e
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XNamedGraph.idl
@@ -0,0 +1,229 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XNamedGraph_idl__
+#define __com_sun_star_rdf_XNamedGraph_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_RepositoryException_idl__
+#include <com/sun/star/rdf/RepositoryException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>XResource</type>: 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
+ <member>XRepository::destroyGraph</member>.
+ If a graph is destroyed, subsequent calls to <member>addStatement</member>,
+ <member>removeStatements</member> will fail with an
+ <type scope="com::sun::star::container">NoSuchElementException</type>.
+ </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 <type>XMetadatable</type>, which inherits
+ from <type>XResource</type>, 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 <type>XMetadatable</type>, which inherits
+ from <type>XResource</type>, 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 <type>XMetadatable</type>, which inherits
+ from <type>XResource</type>, 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 <type>Statement</type>
+
+ @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
diff --git a/offapi/com/sun/star/rdf/XNode.idl b/offapi/com/sun/star/rdf/XNode.idl
new file mode 100644
index 000000000000..0c7f70d5e4f7
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XNode.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XNode_idl__
+#define __com_sun_star_rdf_XNode_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/XQuerySelectResult.idl b/offapi/com/sun/star/rdf/XQuerySelectResult.idl
new file mode 100644
index 000000000000..19ceecaf36d1
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XQuerySelectResult.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XQuerySelectResult_idl__
+#define __com_sun_star_rdf_XQuerySelectResult_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::container">XEnumeration::nextElement</member>
+ has the type <type dim="[]">XNode</type>,
+ 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
diff --git a/offapi/com/sun/star/rdf/XReifiedStatement.idl b/offapi/com/sun/star/rdf/XReifiedStatement.idl
new file mode 100644
index 000000000000..9f697552aa6e
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XReifiedStatement.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XReifiedStatement_idl__
+#define __com_sun_star_rdf_XReifiedStatement_idl__
+
+#ifndef __com_sun_star_rdf_Statement_idl__
+#include <com/sun/star/rdf/Statement.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/XRepository.idl b/offapi/com/sun/star/rdf/XRepository.idl
new file mode 100644
index 000000000000..1b76ff1158a7
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XRepository.idl
@@ -0,0 +1,465 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XRepository_idl__
+#define __com_sun_star_rdf_XRepository_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_FileFormat_idl__
+#include <com/sun/star/rdf/FileFormat.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_ParseException_idl__
+#include <com/sun/star/rdf/ParseException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_QueryException_idl__
+#include <com/sun/star/rdf/QueryException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_RepositoryException_idl__
+#include <com/sun/star/rdf/RepositoryException.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XBlankNode_idl__
+#include <com/sun/star/rdf/XBlankNode.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#include <com/sun/star/rdf/XURI.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_Statement_idl__
+#include <com/sun/star/rdf/Statement.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XQuerySelectResult_idl__
+#include <com/sun/star/rdf/XQuerySelectResult.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XNamedGraph_idl__
+#include <com/sun/star/rdf/XNamedGraph.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::datatransfer">UnsupportedFlavorException
+ </type> is raised.
+ If the format requires use of a BaseURI, but none is given, an
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
+ <type scope="com::sun::star::datatransfer">UnsupportedFlavorException
+ </type> 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 <type>XNamedGraph</type>
+ 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 <type>Statement</type>
+
+ @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 <atom>string</atom>
+
+ @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 <atom>string</atom>
+
+ @returns
+ an iterator over the query result graph, represented as an
+ enumeration of <type>Statement</type>
+
+ @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 <atom>string</atom>
+
+ @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
diff --git a/offapi/com/sun/star/rdf/XRepositorySupplier.idl b/offapi/com/sun/star/rdf/XRepositorySupplier.idl
new file mode 100644
index 000000000000..15984a9438d4
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XRepositorySupplier.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XRepositorySupplier_idl__
+#define __com_sun_star_rdf_XRepositorySupplier_idl__
+
+#ifndef __com_sun_star_rdf_XRepository_idl__
+#include <com/sun/star/rdf/XRepository.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>XRepository</type>
+ */
+ XRepository getRDFRepository();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rdf/XResource.idl b/offapi/com/sun/star/rdf/XResource.idl
new file mode 100644
index 000000000000..3c10b586fd78
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XResource.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XResource_idl__
+#define __com_sun_star_rdf_XResource_idl__
+
+#ifndef __com_sun_star_rdf_XNode_idl__
+#include <com/sun/star/rdf/XNode.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/rdf/XURI.idl b/offapi/com/sun/star/rdf/XURI.idl
new file mode 100644
index 000000000000..6ba59cec0dd6
--- /dev/null
+++ b/offapi/com/sun/star/rdf/XURI.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_rdf_XURI_idl__
+#define __com_sun_star_rdf_XURI_idl__
+
+#ifndef __com_sun_star_rdf_XResource_idl__
+#include <com/sun/star/rdf/XResource.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module rdf {
+
+//=============================================================================
+/** represents an 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>
+ An URI without a ":" is invalid.
+ This implies that the Namespace part of an 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
diff --git a/offapi/com/sun/star/rdf/makefile.mk b/offapi/com/sun/star/rdf/makefile.mk
new file mode 100644
index 000000000000..b27ea74e54cb
--- /dev/null
+++ b/offapi/com/sun/star/rdf/makefile.mk
@@ -0,0 +1,71 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssrdf
+PACKAGE=com$/sun$/star$/rdf
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES= \
+ FileFormat.idl \
+ URIs.idl \
+ ParseException.idl \
+ QueryException.idl \
+ RepositoryException.idl \
+ XNode.idl \
+ XResource.idl \
+ XBlankNode.idl \
+ XURI.idl \
+ XLiteral.idl \
+ BlankNode.idl \
+ URI.idl \
+ Literal.idl \
+ Statement.idl \
+ XReifiedStatement.idl \
+ XQuerySelectResult.idl \
+ XNamedGraph.idl \
+ XRepository.idl \
+ XDocumentRepository.idl \
+ Repository.idl \
+ XRepositorySupplier.idl \
+ XMetadatable.idl \
+ XDocumentMetadataAccess.idl \
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/rendering/AnimationAttributes.idl b/offapi/com/sun/star/rendering/AnimationAttributes.idl
new file mode 100644
index 000000000000..e1d2f1a1eeb5
--- /dev/null
+++ b/offapi/com/sun/star/rendering/AnimationAttributes.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_AnimationAttributes_idl__
+#define __com_sun_star_rendering_AnimationAttributes_idl__
+
+#ifndef __com_sun_star_geometry_RealSize2D_idl__
+#include <com/sun/star/geometry/RealSize2D.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+/** This structure contains attributes needed to run an animation.
+
+ @since OOo 2.0.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 sweeped through. Permissible values are given in
+ <type>AnimationRepeat</type>.<p>
+
+ @see AnimationRepeat.
+ */
+ byte RepeatMode;
+
+ //-------------------------------------------------------------------------
+
+ /** Size of the untrasnformed animation sequence.<p>
+
+ This value specifies the size of the animation when rendered
+ with the identity view transform. This permits
+ e.g. <type>XSprite</type> implementations to cache rendered
+ animation content in finite-sized bitmaps.<p>
+ */
+ ::com::sun::star::geometry::RealSize2D UntransformedSize;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/AnimationRepeat.idl b/offapi/com/sun/star/rendering/AnimationRepeat.idl
new file mode 100644
index 000000000000..8bde41c46b99
--- /dev/null
+++ b/offapi/com/sun/star/rendering/AnimationRepeat.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+constants AnimationRepeat
+{
+ /** The [0,1] parameter range is sweeped through exactly once.<p>
+
+ The [0,1] parameter range is sweeped through exactly once,
+ starting with 0 and ending with 1.<p>
+ */
+ const byte ONE_SHOT=0;
+
+ //-------------------------------------------------------------------------
+
+ /** The [0,1] parameter range is sweeped through exactly twice.<p>
+
+ The [0,1] parameter range is sweeped 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 sweeped through infinitely.<p>
+
+ The [0,1] parameter range is sweeped 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 sweeped through infinitely.<p>
+
+ The [0,1] parameter range is sweeped 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
diff --git a/offapi/com/sun/star/rendering/BlendMode.idl b/offapi/com/sun/star/rendering/BlendMode.idl
new file mode 100755
index 000000000000..05d53892877a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/BlendMode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>CompositeOperation</type>
+
+ 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
diff --git a/offapi/com/sun/star/rendering/CanvasFactory.idl b/offapi/com/sun/star/rendering/CanvasFactory.idl
new file mode 100644
index 000000000000..d735dc368855
--- /dev/null
+++ b/offapi/com/sun/star/rendering/CanvasFactory.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_rendering_CanvasFactory_idl
+#define INCLUDED_com_sun_star_rendering_CanvasFactory_idl
+
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+
+
+module com { module sun { module star { module rendering {
+
+/** The <type>CanvasFactory</type> is used to create the <type>Canvas</type>
+ 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
+ <type scope="com::sun::star::lang">XMultiComponentFactory</type>
+ interface to create <type>Canvas</type> 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.0
+*/
+service CanvasFactory : com::sun::star::lang::XMultiComponentFactory;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/Caret.idl b/offapi/com/sun/star/rendering/Caret.idl
new file mode 100644
index 000000000000..7d04213987ee
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Caret.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XTextLayout</type> interface
+ to transport information regarding a text caret.<p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/rendering/ColorComponentTag.idl b/offapi/com/sun/star/rendering/ColorComponentTag.idl
new file mode 100644
index 000000000000..7c49edab6d8c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorComponentTag.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 corrspond 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;
+
+ /// Arbitray 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
diff --git a/offapi/com/sun/star/rendering/ColorProfile.idl b/offapi/com/sun/star/rendering/ColorProfile.idl
new file mode 100644
index 000000000000..3dc533429ff8
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorProfile.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/ColorSpaceType.idl b/offapi/com/sun/star/rendering/ColorSpaceType.idl
new file mode 100644
index 000000000000..1f60100f7fc3
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ColorSpaceType.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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. Preferrable 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
diff --git a/offapi/com/sun/star/rendering/CompositeOperation.idl b/offapi/com/sun/star/rendering/CompositeOperation.idl
new file mode 100644
index 000000000000..0c1c4448ee05
--- /dev/null
+++ b/offapi/com/sun/star/rendering/CompositeOperation.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 this 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.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
diff --git a/offapi/com/sun/star/rendering/EmphasisMark.idl b/offapi/com/sun/star/rendering/EmphasisMark.idl
new file mode 100644
index 000000000000..be0847a0dcd2
--- /dev/null
+++ b/offapi/com/sun/star/rendering/EmphasisMark.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/FillRule.idl b/offapi/com/sun/star/rendering/FillRule.idl
new file mode 100644
index 000000000000..ff0aab58ab9a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FillRule.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+enum FillRule
+{
+ /** Fill every area, where, when travelling 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 travelling along a line, an
+ uneven number of intersections with polygon edges have
+ happened.<p>
+ */
+ EVEN_ODD
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
new file mode 100644
index 000000000000..7fd0a972f56f
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
new file mode 100644
index 000000000000..bef73dc7fc35
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#define __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+
+#ifndef __com_sun_star_rendering_FloatingPointBitmapFormat_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapFormat.idl>
+#endif
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+
+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.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 <type>Endianness</type> constants
+ */
+ byte Endianness;
+
+ /** Format type of this bitmap.<p>
+
+ This value must be one of the
+ <type>FloatingPointBitmapFormat</type> constants.<p>
+ */
+ byte Format;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/FontInfo.idl b/offapi/com/sun/star/rendering/FontInfo.idl
new file mode 100644
index 000000000000..1492168d45bc
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontInfo.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_FontInfo_idl__
+#define __com_sun_star_rendering_FontInfo_idl__
+
+#ifndef __com_sun_star_util_TriState_idl__
+#include <com/sun/star/util/TriState.idl>
+#endif
+
+#ifndef __com_sun_star_rendering_Panose_idl__
+#include <com/sun/star/rendering/Panose.idl>
+#endif
+
+
+module com { module sun { module star { module rendering {
+
+/** This structure provides information about a specific font.<p>
+
+ @since OOo 2.0.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 128bit 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
diff --git a/offapi/com/sun/star/rendering/FontMetrics.idl b/offapi/com/sun/star/rendering/FontMetrics.idl
new file mode 100644
index 000000000000..3339c17d9bdd
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontMetrics.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 explicitely
+ 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.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
diff --git a/offapi/com/sun/star/rendering/FontRequest.idl b/offapi/com/sun/star/rendering/FontRequest.idl
new file mode 100644
index 000000000000..a39871968297
--- /dev/null
+++ b/offapi/com/sun/star/rendering/FontRequest.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_FontRequest_idl__
+#define __com_sun_star_rendering_FontRequest_idl__
+
+#ifndef __com_sun_star_rendering_FontInfo_idl__
+#include <com/sun/star/rendering/FontInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+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
+ <member>FontInfo::FamilyName</member> appropriately. Emboss/relief
+ must be emulated by upper layers.<p>
+
+ Leave the <member>FontInfo::FamilyName</member> and
+ <member>FontInfo::StyleName</member> empty, if font selection
+ should only happen via the PANOSE description.
+
+ @since OOo 2.0.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
+ <member>FontRequest::IsVertical</member> 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 <type>XCanvasFont</type> and
+ <type>XTextLayout</type>.<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
+ <member>FontInfo::UnicodeRange0</member> 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
diff --git a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
new file mode 100644
index 000000000000..45787bc206e7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_IntegerBitmapLayout_idl__
+#define __com_sun_star_rendering_IntegerBitmapLayout_idl__
+
+#ifndef __com_sun_star_rendering_XIntegerBitmapColorSpace_idl__
+#include <com/sun/star/rendering/XIntegerBitmapColorSpace.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmapPalette_idl__
+#include <com/sun/star/rendering/XBitmapPalette.idl>
+#endif
+
+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.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 <member>ColorSpace</member> is
+ required to be of type
+ <member>ColorComponentTag::INDEX</member>. 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
diff --git a/offapi/com/sun/star/rendering/InterpolationMode.idl b/offapi/com/sun/star/rendering/InterpolationMode.idl
new file mode 100644
index 000000000000..01dc1e14c9a2
--- /dev/null
+++ b/offapi/com/sun/star/rendering/InterpolationMode.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/Panose.idl b/offapi/com/sun/star/rendering/Panose.idl
new file mode 100644
index 000000000000..aaf3d3f8da4e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Panose.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_Panose_idl__
+#define __com_sun_star_rendering_Panose_idl__
+
+module com { module sun { module star { module rendering {
+
+struct Panose
+{
+ /// <type>PanoseFamilyTypes</type>
+ byte FamilyType;
+
+ /// <type>PanoseSerifStyle</type>
+ byte SerifStyle;
+
+ /// <type>PanoseWeight</type>
+ byte Weight;
+
+ /// <type>PanoseProportion</type>
+ byte Proportion;
+
+ /// <type>PanoseContrast</type>
+ byte Contrast;
+
+ /// <type>PanoseStrokeVariation</type>
+ byte StrokeVariation;
+
+ /// <type>PanoseArmStyle</type>
+ byte ArmStyle;
+
+ /// <type>PanoseLetterForm</type>
+ byte Letterform;
+
+ /// <type>PanoseMidline</type>
+ byte Midline;
+
+ /// <type>PanoseXHeight</type>
+ byte XHeight;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/PanoseArmStyle.idl b/offapi/com/sun/star/rendering/PanoseArmStyle.idl
new file mode 100644
index 000000000000..2840a73dc9e3
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseArmStyle.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseContrast.idl b/offapi/com/sun/star/rendering/PanoseContrast.idl
new file mode 100644
index 000000000000..6c24ad74d53e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseContrast.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseFamilyTypes.idl b/offapi/com/sun/star/rendering/PanoseFamilyTypes.idl
new file mode 100644
index 000000000000..a25a2d7f9e71
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseFamilyTypes.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseLetterForm.idl b/offapi/com/sun/star/rendering/PanoseLetterForm.idl
new file mode 100644
index 000000000000..a439a769cf9b
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseLetterForm.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseMidline.idl b/offapi/com/sun/star/rendering/PanoseMidline.idl
new file mode 100644
index 000000000000..32516682f1eb
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseMidline.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseProportion.idl b/offapi/com/sun/star/rendering/PanoseProportion.idl
new file mode 100644
index 000000000000..a28ce68c6149
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseProportion.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseSerifStyle.idl b/offapi/com/sun/star/rendering/PanoseSerifStyle.idl
new file mode 100644
index 000000000000..82b5042be2a6
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseSerifStyle.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl b/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl
new file mode 100644
index 000000000000..ef66607fdb94
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseStrokeVariation.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseWeight.idl b/offapi/com/sun/star/rendering/PanoseWeight.idl
new file mode 100644
index 000000000000..715ca666545e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseWeight.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PanoseXHeight.idl b/offapi/com/sun/star/rendering/PanoseXHeight.idl
new file mode 100644
index 000000000000..7ae262aec841
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PanoseXHeight.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/rendering/PathCapType.idl b/offapi/com/sun/star/rendering/PathCapType.idl
new file mode 100644
index 000000000000..e436eaa738db
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PathCapType.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/PathJoinType.idl b/offapi/com/sun/star/rendering/PathJoinType.idl
new file mode 100644
index 000000000000..b2fc8d31d747
--- /dev/null
+++ b/offapi/com/sun/star/rendering/PathJoinType.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/RenderState.idl b/offapi/com/sun/star/rendering/RenderState.idl
new file mode 100644
index 000000000000..7ba8d8e35536
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RenderState.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#define __com_sun_star_rendering_RenderState_idl__
+
+#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+interface XPolyPolygon2D;
+
+/** This structure contains information passed to each
+ <type>XCanvas</type> render operation.<p>
+
+ This structure contains information considered as the render
+ state, i.e. the common setup required to render each individual
+ <type>XCanvas</type> primitive.<p>
+
+ @since OOo 2.0.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 <type>CompositeOperation</type>
+ constants.<p>
+ */
+ byte CompositeOperation;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/RenderingIntent.idl b/offapi/com/sun/star/rendering/RenderingIntent.idl
new file mode 100644
index 000000000000..51ed8a96767b
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RenderingIntent.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/RepaintResult.idl b/offapi/com/sun/star/rendering/RepaintResult.idl
new file mode 100644
index 000000000000..9e221b3ff504
--- /dev/null
+++ b/offapi/com/sun/star/rendering/RepaintResult.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XCachedPrimitive</type> render operation.<p>
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/rendering/StringContext.idl b/offapi/com/sun/star/rendering/StringContext.idl
new file mode 100644
index 000000000000..54c4b5868e98
--- /dev/null
+++ b/offapi/com/sun/star/rendering/StringContext.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/StrokeAttributes.idl b/offapi/com/sun/star/rendering/StrokeAttributes.idl
new file mode 100644
index 000000000000..e02d4cf6c89e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/StrokeAttributes.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_StrokeAttributes_idl__
+#define __com_sun_star_rendering_StrokeAttributes_idl__
+
+#ifndef __com_sun_star_rendering_PathCapType_idl__
+#include <com/sun/star/rendering/PathCapType.idl>
+#endif
+#ifndef __com_sun_star_rendering_PathJoinType_idl__
+#include <com/sun/star/rendering/PathJoinType.idl>
+#endif
+
+
+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>
+
+ @single #110496#
+ */
+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
+ <member>StrokeAttributes::JoinType</member> is set to
+ <member>PathJoinType::MITER</member>. Should the length of a
+ corner's diagonal exceed this limit, a bevelled join is used
+ instead. This value must be positive (or 0.0, which is
+ equivalent to setting
+ <member>StrokeAttributes::JoinType</member> to
+ <member>PathJoinType::BEVEL</member>.<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
+ <member>StrokeAttributes::StrokeWidth</member> attribute
+ above, i.e. the total width of all lines and spacings will
+ always equal
+ <member>StrokeAttributes::StrokeWidth</member>. The first
+ element specifies the width of the rightmost line, when
+ travelling 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 <type>PathCapType</type>
+ */
+ 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 <type>PathCapType</type>
+ */
+ 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 <type>PathJoinType</type>
+ */
+ byte JoinType;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/TextDirection.idl b/offapi/com/sun/star/rendering/TextDirection.idl
new file mode 100644
index 000000000000..33eea1fd4036
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TextDirection.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/rendering/TextHit.idl b/offapi/com/sun/star/rendering/TextHit.idl
new file mode 100644
index 000000000000..7451086d57a3
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TextHit.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XTextLayout</type>.<p>
+
+ This structure is used from the <type>XTextLayout</type> interface
+ to transport information regarding hit tests.<p>
+
+ @since OOo 2.0.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 on
+ encounteres 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
diff --git a/offapi/com/sun/star/rendering/Texture.idl b/offapi/com/sun/star/rendering/Texture.idl
new file mode 100644
index 000000000000..a8eacf515c76
--- /dev/null
+++ b/offapi/com/sun/star/rendering/Texture.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_Texture_idl__
+#define __com_sun_star_rendering_Texture_idl__
+
+#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_StrokeAttributes_idl__
+#include <com/sun/star/rendering/StrokeAttributes.idl>
+#endif
+
+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.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
+ <type>TexturingMode</type> 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
+ <type>TexturingMode</type> constants.<p>
+ */
+ byte RepeatModeY;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/TexturingMode.idl b/offapi/com/sun/star/rendering/TexturingMode.idl
new file mode 100644
index 000000000000..b44a78eae6ce
--- /dev/null
+++ b/offapi/com/sun/star/rendering/TexturingMode.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_Texture_idl__
+#define __com_sun_star_rendering_Texture_idl__
+
+module com { module sun { module star { module rendering {
+
+/** Enumeration of possible values to spread a texture across a
+ primitive.
+
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/rendering/ViewState.idl b/offapi/com/sun/star/rendering/ViewState.idl
new file mode 100644
index 000000000000..b0ed7b62d3b5
--- /dev/null
+++ b/offapi/com/sun/star/rendering/ViewState.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#define __com_sun_star_rendering_ViewState_idl__
+
+#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#endif
+
+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.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
diff --git a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
new file mode 100644
index 000000000000..23e0531f876f
--- /dev/null
+++ b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#define __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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.0
+ */
+ exception VolatileContentDestroyedException : ::com::sun::star::uno::Exception
+ {
+ };
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XAnimatedSprite.idl b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
new file mode 100644
index 000000000000..6824b36e4f07
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XAnimatedSprite.idl
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XAnimatedSprite_idl__
+#define __com_sun_star_rendering_XAnimatedSprite_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSprite_idl__
+#include <com/sun/star/rendering/XSprite.idl>
+#endif
+
+
+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.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 <member>XAnimation::render</member>'s
+ t parameter, or a full sequence of sprite bitmaps drawn). Once
+ an animation is running, the associated
+ <type>XSpriteCanvas</type> 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 <member>XAnimation::render</member>'s t
+ parameter, or a full sequence of sprite bitmaps drawn).
+ */
+ void startAnimation( [in] double nSpeed );
+
+ //-------------------------------------------------------------------------
+
+ /** Stop the animation sequence.<p>
+
+ A subsequent <member>XAnimatedSprite::startAnimation</member>
+ will commence the sequence at the point where it was stopped
+ with here. Once an animation is stopped, the associated
+ <type>XSpriteCanvas</type> 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 <type>XSpriteCanvas</type> 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 <type>XSpriteCanvas</type> does not update changed
+ sprites automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<p>
+ */
+ void updateAnimation();
+
+ //-------------------------------------------------------------------------
+
+ /** Changes the view state in place for this sprite's
+ animation.<p>
+
+ The state given here is used when calling the
+ <member>XAnimation::render()</member> method, or when drawing
+ the sprite's bitmaps, respectively. There's no need to call
+ <member>XSpriteCanvas::updateAnimation()</member> after this
+ method, as it automatically rerenders, if necessary. Please
+ note that if an animation is not started, the associated
+ <type>XSpriteCanvas</type> does not update changed sprites
+ automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<p>
+
+ @param aViewState
+ The state given here is used when calling the
+ <member>XAnimation::render()</member> method, or when drawing
+ the sprite's bitmaps, respectively.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>XSpriteCanvas</type> does not update changed
+ sprites automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<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 implicitely call
+ <member>XSpriteCanvas::updateAnimation</member> or not.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XAnimation.idl b/offapi/com/sun/star/rendering/XAnimation.idl
new file mode 100644
index 000000000000..004f350ef564
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XAnimation.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XAnimation_idl__
+#define __com_sun_star_rendering_XAnimation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_AnimationAttributes_idl__
+#include <com/sun/star/rendering/AnimationAttributes.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+
+
+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 <type>XCanvas</type> interface to render generic
+ animations.<p>
+
+ @since OOo 2.0.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 decceleration 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 everytime.<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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>AnimationAttributes</type>
+ structure, which defines more closely how to play this
+ animation.<p>
+
+ @returns the requested <type>AnimationAttributes</type>
+ structure.
+ */
+ AnimationAttributes getAnimationAttributes();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
new file mode 100644
index 000000000000..973d33e8dfd1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XBezierPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XBezierPolyPolygon2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealBezierSegment2D_idl__
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+#endif
+
+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 <type>RealBezierSegment2D</type>s.<p>
+
+ By convention, a <type>RealBezierSegment2D</type> is a straight
+ line segment, if all three contained points are strictly equal.<p>
+
+ @since OOo 2.0.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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 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
+ <member>XBezierPolyPolygon2D::getNumberOfPolygons()</member>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
+ <member>XBezierPolyPolygon2D::getNumberOfPolygons()</member>
+ or
+ <member>XBezierPolyPolygon2D::getNumberOfPolygonPoints()</member>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XBitmap.idl b/offapi/com/sun/star/rendering/XBitmap.idl
new file mode 100644
index 000000000000..3eedd46357e2
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmap.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#define __com_sun_star_rendering_XBitmap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerSize2D_idl__
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealSize2D_idl__
+#include <com/sun/star/geometry/RealSize2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+interface XBitmapCanvas;
+
+/** This is a generic interface to a bitmap.<p>
+
+ This interface contains the generic functionality to be used on
+ every <type>XCanvas</type> bitmap object. More format-specific
+ methods can be found at the <type>XIntegerBitmap</type>,
+ <type>XIeeeDoubleBitmap</type>, <type>XIeeeFloatBitmap</type> and
+ <type>XHalfFloatBitmap</type> interfaces.<p>
+
+ @since OOo 2.0.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
+ <type>XColorSpace</type> associated with this bitmap, though
+ much easier to access here (the color space then has a
+ component flagged
+ <member>ColorComponentTag::ALPHA</member>).<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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if the size components are outside the specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XBitmapCanvas.idl b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
new file mode 100644
index 000000000000..b87be2ae8394
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmapCanvas.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XBitmapCanvas_idl__
+#define __com_sun_star_rendering_XBitmapCanvas_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#include <com/sun/star/rendering/XCanvas.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+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.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
+ <type scope="::com::sun::star::geometry">RealRectangle2D</type>
+ 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
+ <type>CompositingOperation</type> 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
+ <type scope="::com::sun::star::geometry">RealRectangle2D</type>
+ 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
+ <type>CompositingOperation</type> values.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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);
+
+};
+
+//=============================================================================
+
+// TODO: Multiple-inheritance interfaces
+
+/** This service provides the interfaces for a <type>XBitmapCanvas</type>
+ */
+service BitmapCanvas
+{
+ /** Canvas interface, to issue rendering operations.
+ */
+ interface XBitmapCanvas;
+
+ /** Bitmap interface, to directly manipulate the pixel.
+ */
+ interface XBitmap;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XBitmapPalette.idl b/offapi/com/sun/star/rendering/XBitmapPalette.idl
new file mode 100644
index 000000000000..b89bc8221cd0
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBitmapPalette.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XBitmapPalette_idl__
+#define __com_sun_star_rendering_XBitmapPalette_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+
+
+module com { module sun { module star { module rendering {
+
+/** Interface to access the palette of a color-indexed bitmap.
+
+ @since OOo 2.0.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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if the index is smaller than zero or larger than
+ <member>XBitmapPalette::getNumberOfEntries()</member>-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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if the index is smaller than zero or larger than
+ <member>XBitmapPalette::getNumberOfEntries()</member>-1.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XBufferController.idl b/offapi/com/sun/star/rendering/XBufferController.idl
new file mode 100644
index 000000000000..d4222e263aac
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XBufferController.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XBufferController_idl__
+#define __com_sun_star_rendering_XBufferController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+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.0
+ */
+interface XBufferController : ::com::sun::star::uno::XInterface
+{
+ /** Create the given number of background buffers.<p>
+
+ There's one buffer implicitely 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XCachedPrimitive.idl b/offapi/com/sun/star/rendering/XCachedPrimitive.idl
new file mode 100644
index 000000000000..c24a74df3135
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCachedPrimitive.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XCachedPrimitive_idl__
+#define __com_sun_star_rendering_XCachedPrimitive_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+/** Interface for cached repaint of already drawn <type>XCanvas</type>
+ primitives.<p>
+
+ This interface provides a method to quickly redraw some
+ <type>XCanvas</type> primitives, using cached data.<p>
+
+ @since OOo 2.0.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 <type>RepaintResult</type>, denoting
+ the result of this operation.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if the view transformation matrix is singular.
+ */
+ byte redraw( [in] ViewState aState )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XCanvas.idl b/offapi/com/sun/star/rendering/XCanvas.idl
new file mode 100644
index 000000000000..e88de735ce7c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCanvas.idl
@@ -0,0 +1,744 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XCanvas_idl__
+#define __com_sun_star_rendering_XCanvas_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealBezierSegment2D_idl__
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_Matrix2D_idl__
+#include <com/sun/star/geometry/Matrix2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_FontRequest_idl__
+#include <com/sun/star/rendering/FontRequest.idl>
+#endif
+#ifndef __com_sun_star_rendering_FontInfo_idl__
+#include <com/sun/star/rendering/FontInfo.idl>
+#endif
+#ifndef __com_sun_star_rendering_Texture_idl__
+#include <com/sun/star/rendering/Texture.idl>
+#endif
+#ifndef __com_sun_star_rendering_StringContext_idl__
+#include <com/sun/star/rendering/StringContext.idl>
+#endif
+#ifndef __com_sun_star_rendering_StrokeAttributes_idl__
+#include <com/sun/star/rendering/StrokeAttributes.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+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
+ <type>XCanvas</type> 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 <type>ViewState</type> and
+ <type>RenderState</type> 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 <type>ViewState</type> and
+ <type>RenderState</type> have a complex clip polygon set, which
+ have to be intersected before rendering. It is therefore
+ recommended to combine <type>ViewState</type> and
+ <type>RenderState</type> 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 <type>ViewState</type> and
+ the <type>RenderState</type> it is called with into a new
+ <type>ViewState</type>, and call its siblings with a
+ <type>RenderState</type> containing only the local offset (and no
+ extra clipping).<p>
+
+ Furtheron, this stateless nature provides easy ways for
+ caching. Every non-trivial operation on <type>XCanvas</type> 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
+ <type
+ scope="::com::sun::star::drawing">::com::sun::star::drawing::XGraphics</type>
+ interface). Please note, though, that deciding whether to return
+ an <type>XCachedPrimitive</type> 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 <type>XCanvas</type> would need to convert for
+ each render call. It is therefore recommended to create such
+ objects via the <type>XGraphicDevice</type> factory (to be
+ retrieved from every canvas object via the
+ <member>getDevice()</member> call) - they will then internally
+ optimize to the underlying graphics subsystem.<p>
+
+ @since OOo 2.0.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
+ <type>XCustomSprite</type>).
+ */
+ void clear();
+
+ /** Draw a point in device resolution on the device.
+
+ @param aPoint
+ The point to draw.
+
+ @param aViewState
+ The viewstate to be used when drawing this point.
+
+ @param aRenderState
+ The renderstate to be used when drawing this point.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 viewstate to be used when drawing this line.
+
+ @param aRenderState
+ The renderstate to be used when drawing this line.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 viewstate to be used when drawing this curve.
+
+ @param aRenderState
+ The renderstate to be used when drawing this curve.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 viewstate to be used when drawing this polygon.
+
+ @param aRenderState
+ The renderstate to be used when drawing this polygon.
+
+ @return a handle to the cached rendering output.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 <type>RenderState</type>'s
+ <type>CompositeOperationy</type> 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 viewstate to be used when stroking this polygon.
+
+ @param aRenderState
+ The renderstate 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 <type>RenderState</type>'s
+ <type>CompositeOp</type> 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 viewstate to be used when strokes this polygon.
+
+ @param aRenderState
+ The renderstate 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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 <type>RenderState</type>'s
+ <type>CompositeOp</type> 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 viewstate to be used when stroking this polygon.
+
+ @param aRenderState
+ The renderstate 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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 viewstate to be used when generating the outline.
+
+ @param aRenderState
+ The renderstate 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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
+ <type>RenderState</type>'s color and the poly-polygon's fill
+ rule.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The viewstate to be used when filling this polygon.
+
+ @param aRenderState
+ The renderstate to be used when filling this polygon.
+
+ @return a handle to the cached rendering output.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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
+ <type>RenderState</type>'s color, the given textures and
+ poly-polygon's fill rule.<p>
+
+ @param xPolyPolygon
+ The poly-polygon to render.
+
+ @param aViewState
+ The viewstate to be used when filling this polygon.
+
+ @param aRenderState
+ The renderstate to be used when filling this polygon.
+
+ @param aTextures
+ A sequence of texture definitions, with which to fill the
+ polygonal area.
+
+ @return a handle to the cached rendering output.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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
+ <type>RenderState</type>'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 viewstate to be used when filling this polygon.
+
+ @param aRenderState
+ The renderstate to be used when filling this polygon.
+
+ @param aTextures
+ 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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 properties are recognized:
+ <ul>
+
+ <il>Kerning: a <type>double</type> between 0 and 1, where
+ 0 completely disables kerning. Whether kerning is on or
+ off by default is font-dependent.</il>
+
+ <il>IsEmphasisMarks: a <type>boolean</type>, where <TRUE/>
+ enables automatic placements of emphasis marks, e.g. for
+ Hebrew. The default value, if this property is not
+ specified, is <FALSE/>.</il>
+
+ <il>ExpandedSpacing: a <type>double</type> value which is added
+ between all cell distances for this font. The default value for
+ this property is zero. Use negative values for condensed output,
+ and positive values for expanded output.</il>
+
+ <il>OptionalLayoutFeatures: a sequence of <type
+ scope=::com::sun::star::beans>PropertyValue</type> listing
+ font-specific optional layout features, like glyph
+ variants.</il>
+
+ </ul>
+
+ @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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>FontInfo</type> 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 xFontProperties
+ 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the font properties are invalid or not recognized,
+ or if one of the <type>FontInfo</type> 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 viewstate to be used when drawing this text.
+
+ @param aRenderState
+ The renderstate to be used when drawing this text.
+
+ @param nTextDirection
+ A value from the <type>TextDirection</type> 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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
+ <type>XCanvasFont</type> created at this canvas. The text
+ layout already carries intrinsic font information.
+
+ @param aViewState
+ The viewstate to be used when drawing this text.
+
+ @param aRenderState
+ The renderstate to be used when drawing this text.
+
+ @return a handle to the cached rendering output.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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 <type>XGraphicDevice</type>'s
+ <member>XGraphicDevice::createCompatibleBitmap()</member>
+ method.<p>
+
+ @param xBitmap
+ The bitmap to render.
+
+ @param aViewState
+ The viewstate to be used when drawing this text.
+
+ @param aRenderState
+ The renderstate to be used when drawing this text.
+
+ @return a handle to the cached rendering output.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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 <type>XGraphicDevice</type>'s
+ <member>XGraphicDevice::createCompatibleBitmap()</member>
+ 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 viewstate to be used when drawing this text.
+
+ @param aRenderState
+ The renderstate to be used when drawing this text. The device
+ color entry in the renderstate 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate parameters are outside the
+ specified range.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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 <type>XGraphicDevice</type>.
+ */
+ XGraphicDevice getDevice();
+};
+
+//=============================================================================
+
+/// Service providing an <type>XCanvas</type> interface
+service Canvas: XCanvas;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XCanvasFont.idl b/offapi/com/sun/star/rendering/XCanvasFont.idl
new file mode 100644
index 000000000000..face4c16cee9
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCanvasFont.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XCanvasFont_idl__
+#define __com_sun_star_rendering_XCanvasFont_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_FontRequest_idl__
+#include <com/sun/star/rendering/FontRequest.idl>
+#endif
+#ifndef __com_sun_star_rendering_FontMetrics_idl__
+#include <com/sun/star/rendering/FontMetrics.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_StringContext_idl__
+#include <com/sun/star/rendering/StringContext.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+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
+ <member>FontRequest::CellSize</member> 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
+
diff --git a/offapi/com/sun/star/rendering/XColorSpace.idl b/offapi/com/sun/star/rendering/XColorSpace.idl
new file mode 100644
index 000000000000..a08295d9565d
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XColorSpace.idl
@@ -0,0 +1,292 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#define __com_sun_star_rendering_XColorSpace_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_rendering_ColorProfile_idl__
+#include <com/sun/star/rendering/ColorProfile.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+/// Shorthand for the device-dependent color components, and easier to read
+typedef double ColorComponent;
+typedef sequence<ColorComponent> Color;
+
+//=============================================================================
+
+/// 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;
+};
+
+//=============================================================================
+
+/// 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;
+};
+
+//=============================================================================
+
+/** 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 colorspace, 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. <type>XIntegerBitmapColorSpace</type>, which use sequences of
+ integers for color representation.<p>
+ */
+interface XColorSpace
+{
+ /** Query type of this color space.<p>
+
+ @return a value from the <type>ColorSpaceType</type> 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 <type>ColorComponentTag</type> 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>
+
+ @example 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 <type>RenderingIntent</type> 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.
+
+ @return the corresponding sequence of device colors in the
+ target color space (e.g. <type>sequence<double></type> or
+ <type>sequence<byte></type>).
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 <type>RGBColor</type>
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the input sequence does not match the device color format.
+
+ @see <member>convertToARGB</member>
+ */
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 deviceColor 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
diff --git a/offapi/com/sun/star/rendering/XCustomSprite.idl b/offapi/com/sun/star/rendering/XCustomSprite.idl
new file mode 100644
index 000000000000..e02f3c62df84
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XCustomSprite.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XCustomSprite_idl__
+#define __com_sun_star_rendering_XCustomSprite_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_XSprite_idl__
+#include <com/sun/star/rendering/XSprite.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/rendering/XGraphicDevice.idl b/offapi/com/sun/star/rendering/XGraphicDevice.idl
new file mode 100644
index 000000000000..a9caaefede7e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XGraphicDevice.idl
@@ -0,0 +1,303 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XGraphicDevice_idl__
+#define __com_sun_star_rendering_XGraphicDevice_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerSize2D_idl__
+#include <com/sun/star/geometry/IntegerSize2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealSize2D_idl__
+#include <com/sun/star/geometry/RealSize2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XLinePolyPolygon2D_idl__
+#include <com/sun/star/rendering/XLinePolyPolygon2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBezierPolyPolygon2D_idl__
+#include <com/sun/star/rendering/XBezierPolyPolygon2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+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 it's 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
+ <type>VolatileContentDestroyedException</type>). 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
+ <type>VolatileContentDestroyedException</type>). 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.
+
+ <pre>
+ 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 <type>sequence<Color></type>
+ and "Stops" being a <type>sequence<double></type>. 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 <type>double</type>
+ (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 <type>double</type>
+ (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.
+ </pre>
+ */
+ 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 a enterFullScreenMode(
+ false ) call.
+ */
+ boolean enterFullScreenMode( [in] boolean bEnter );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/rendering/XHalfFloatBitmap.idl b/offapi/com/sun/star/rendering/XHalfFloatBitmap.idl
new file mode 100644
index 000000000000..e23ec8420388
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XHalfFloatBitmap.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XHalfFloatBitmap_idl__
+#define __com_sun_star_rendering_XHalfFloatBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XHalfFloatReadOnlyBitmap_idl__
+#include <com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl
new file mode 100644
index 000000000000..166f38425d5c
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XHalfFloatReadOnlyBitmap.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XHalfFloatReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XHalfFloatReadOnlyBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+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 <type>XHalfFloatBitmap</type>, 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
+ <type>XHalfFloatReadOnlyBitmap</type> that also supports the
+ <type>XVolatileBitmap</type> interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ <type>VolatileContentDestroyedException</type> and mismatching
+ <type>FloatingPointBitmapLayout</type> 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 <type>VolatileContentDestroyedException</type>
+ 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 <type>VolatileContentDestroyedException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl b/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl
new file mode 100644
index 000000000000..bdb8b657e625
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeDoubleBitmap.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIeeeDoubleBitmap_idl__
+#define __com_sun_star_rendering_XIeeeDoubleBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XIeeeDoubleReadOnlyBitmap_idl__
+#include <com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if the given point is outside the permissible bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl
new file mode 100644
index 000000000000..80103467ad1d
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeDoubleReadOnlyBitmap.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIeeeDoubleReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIeeeDoubleReadOnlyBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+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
+ <type>XIeeeDoubleBitmap</type>, 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
+ <type>XHalfFloatReadOnlyBitmap</type> that also supports the
+ <type>XVolatileBitmap</type> interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ <type>VolatileContentDestroyedException</type> and mismatching
+ <type>FloatingPointBitmapLayout</type> 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
+ contens from.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl b/offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl
new file mode 100644
index 000000000000..6fd9f9552e9b
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeFloatBitmap.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIeeeFloatBitmap_idl__
+#define __com_sun_star_rendering_XIeeeFloatBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__
+#include <com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if the given point is outside the permissible bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl
new file mode 100644
index 000000000000..04e5cf0e8865
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__
+#include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for bitmaps containing IEEE floats as their
+ color components. In contrast to <type>XIeeeFloatBitmap</type>,
+ 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
+ <type>XHalfFloatReadOnlyBitmap</type> that also supports the
+ <type>XVolatileBitmap</type> interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ <type>VolatileContentDestroyedException</type> and mismatching
+ <type>FloatingPointBitmapLayout</type> 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
+ contens from.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIntegerBitmap.idl b/offapi/com/sun/star/rendering/XIntegerBitmap.idl
new file mode 100644
index 000000000000..c56d46d948c1
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerBitmap.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIntegerBitmap_idl__
+#define __com_sun_star_rendering_XIntegerBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_IntegerBitmapLayout_idl__
+#include <com/sun/star/rendering/IntegerBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_rendering_XIntegerReadOnlyBitmap_idl__
+#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.idl>
+#endif
+
+
+module com { module sun { module star { module rendering {
+
+/** This is a specialized interface for bitmaps having integer color
+ channels.<p>
+
+ @since OOo 2.0.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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if parts of the given rectangle are outside the permissible
+ bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ if the given point is outside the permissible bitmap area.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
new file mode 100644
index 000000000000..f05c7a4b1303
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
@@ -0,0 +1,276 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIntegerBitmapColorSpace_idl__
+#define __com_sun_star_rendering_XIntegerBitmapColorSpace_idl__
+
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+
+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 <type>XIntegerBitmap</type>, the
+ <member>XIntegerBitmap::setPixel()</member> method will expect
+ a sequence of ceil(BitsPerPixel/8) bytes, and the
+ <member>XIntegerReadOnlyBitmap::getPixel()</member> 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 returnes 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 <member>getBitsPerPixel()</member>. 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 <type>XIntegerBitmap</type> methods in the
+ order defined here, with the first element starting from the
+ least significant bits of the pixel, etc.<p>
+
+ @example 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 endiannes of the color
+ data. The value is one of the <type>Endianness</type>
+ 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>
+
+ @example 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>
+
+ @return the corresponding sequence of device colors in the
+ target color space
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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>
+
+ @return the corresponding sequence of device colors in the
+ target color space
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 <type>RGBColor</type>
+ 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 <member>XIntegerBitmapColorSpace::convertIntegerToARGB</member>
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 deviceColor 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 deviceColor 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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 deviceColor 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ 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
diff --git a/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl
new file mode 100644
index 000000000000..a7385aa9973a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XIntegerReadOnlyBitmap.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XIntegerReadOnlyBitmap_idl__
+#define __com_sun_star_rendering_XIntegerReadOnlyBitmap_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__
+#include <com/sun/star/geometry/IntegerPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__
+#include <com/sun/star/geometry/IntegerRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_IntegerBitmapLayout_idl__
+#include <com/sun/star/rendering/IntegerBitmapLayout.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+
+module com { module sun { module star { module rendering {
+
+interface XBitmapPalette;
+
+/** This is a specialized interface for bitmaps having integer color
+ channels. In contrast to <type>XIntegerBitmap</type>, 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
+ <type>XIntegerReadOnlyBitmap</type> that also supports the
+ <type>XVolatileBitmap</type> interface, things become a bit more
+ complicated. When reading data, one has to check for both
+ <type>VolatileContentDestroyedException</type> and mismatching
+ <type>IntegerBitmapLayout</type> 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
+ <type>XVolatileBitmap</type>.
+
+ @param rect
+ A rectangle, within the bounds of the bitmap, to retrieve the
+ contens from.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
+ <type>XVolatileBitmap</type>.
+
+ @param pos
+ A position, within the bounds of the bitmap, to retrieve the
+ color from.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ if the bitmap is volatile, and the content has been destroyed by the system.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
new file mode 100644
index 000000000000..a44e1d4fa7dd
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XLinePolyPolygon2D_idl__
+#define __com_sun_star_rendering_XLinePolyPolygon2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+/** Specialized interface for a 2D poly-polygon containing only straight line segments.
+
+ @since OOo 2.0.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 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
+ <member>XLinePolyPolygon2D::getNumberOfPolygons()</member>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
diff --git a/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl
new file mode 100644
index 000000000000..2102422147d7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XParametricPolyPolygon2D.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
+#include <com/sun/star/rendering/XPolyPolygon2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_XColorSpace_idl__
+#include <com/sun/star/rendering/XColorSpace.idl>
+#endif
+
+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. <type>Texture</type>.
+ */
+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 sweeped through starting from 0. When using such a
+ parametric polypolygon 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
diff --git a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
new file mode 100644
index 000000000000..47b61210d3fd
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
+#define __com_sun_star_rendering_XPolyPolygon2D_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_rendering_FillRule_idl__
+#include <com/sun/star/rendering/FillRule.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+/** Generic interface for poly-polygons in 2D.
+
+ @since OOo 2.0.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
+ constituing 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
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the XPolyPolygon2D parameter does not support one of the
+ data-providing derivative interfaces
+ (<type>XBezierPolyPolygon2D</type>,
+ <type>XLinePolyPolygon2D</type>).
+ */
+ 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
diff --git a/offapi/com/sun/star/rendering/XSimpleCanvas.idl b/offapi/com/sun/star/rendering/XSimpleCanvas.idl
new file mode 100644
index 000000000000..33626853e80a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSimpleCanvas.idl
@@ -0,0 +1,291 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XSimpleCanvas_idl__
+#define __com_sun_star_rendering_XSimpleCanvas_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_StringContext_idl__
+#include <com/sun/star/rendering/StringContext.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_FontMetrics_idl__
+#include <com/sun/star/rendering/FontMetrics.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XCanvas</type>
+ 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 <type>XCanvas</type> 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 <type>TextDirection</type> 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 <type>XGraphicDevice</type>.
+ */
+ XGraphicDevice getDevice();
+
+ //-------------------------------------------------------------------------
+
+ /** Query the underlying <type>XCanvas</type>.<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
diff --git a/offapi/com/sun/star/rendering/XSprite.idl b/offapi/com/sun/star/rendering/XSprite.idl
new file mode 100644
index 000000000000..5ee4eb6dacd7
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSprite.idl
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XSprite_idl__
+#define __com_sun_star_rendering_XSprite_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__
+#include <com/sun/star/geometry/AffineMatrix2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+
+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
+ <type>XSpriteCanvas</type>. 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 <type>XSpriteCanvas</type> does not update changed
+ sprites automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<p>
+
+ @param nAlpha
+ New global alpha value to composite this sprite with the
+ background. Valid range is [0,1].
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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 <type>XSpriteCanva</type> does not update changed sprites
+ automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<p>
+
+ @param aNewPos
+ The new position, in user coordinate space, to move the sprite to.
+
+ @param aViewState
+ The viewstate to be used when interpreting aNewPos.
+
+ @param aRenderState
+ The renderstate to be used when interpreting aNewPos.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ if one of the view and renderstate 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
+ <member>XSprite::move</member> 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 <type>XCustomSprite</type>
+ interface, since it typically has no other cached pictorial
+ information at hand.<p>
+
+ Please note that if this sprite is not animated, the
+ associated <type>XSpriteCanvas</type> does not update changed
+ sprites automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<p>
+
+ @param aTransformation
+ The transformation to apply to the sprite shape.
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
+ <type>XCustomSprite</type> interface, since it typically has
+ no other cached pictorial information at hand.<p>
+
+ Please note that if this sprite is not animated, the
+ associated <type>XSpriteCanvas</type> does not update changed
+ sprites automatically, but has to be told to do so via
+ <member>XSpriteCanvas::updateScreen()</member>.<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
diff --git a/offapi/com/sun/star/rendering/XSpriteCanvas.idl b/offapi/com/sun/star/rendering/XSpriteCanvas.idl
new file mode 100644
index 000000000000..cc534013861a
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XSpriteCanvas.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
+#define __com_sun_star_rendering_XSpriteCanvas_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_rendering_XBitmapCanvas_idl__
+#include <com/sun/star/rendering/XBitmapCanvas.idl>
+#endif
+#ifndef __com_sun_star_rendering_XAnimation_idl__
+#include <com/sun/star/rendering/XAnimation.idl>
+#endif
+#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
+#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
+#endif
+
+module com { module sun { module star { module rendering {
+
+interface XSprite;
+interface XAnimatedSprite;
+interface XCustomSprite;
+
+/** Specialization of a XBitmapCanvas, 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 XBitmapCanvas.
+ */
+interface XSpriteCanvas : XBitmapCanvas
+{
+ /** 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 <type>InterpolationMode</type>, to determine whether
+ and how to interpolate between the provided bitmaps, if
+ animation runs fast enough.
+
+ @throws <type>VolatileContentDestroyedException</type>
+ 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. Furthermore, cloned copies of a hidden original are
+ never visible, although cloned copies of a visible original
+ can of course be invisible.
+
+ @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
diff --git a/offapi/com/sun/star/rendering/XTextLayout.idl b/offapi/com/sun/star/rendering/XTextLayout.idl
new file mode 100644
index 000000000000..e4e2d2e76eca
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XTextLayout.idl
@@ -0,0 +1,432 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XTextLayout_idl__
+#define __com_sun_star_rendering_XTextLayout_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealPoint2D_idl__
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealBezierSegment2D_idl__
+#include <com/sun/star/geometry/RealBezierSegment2D.idl>
+#endif
+#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
+#include <com/sun/star/geometry/RealRectangle2D.idl>
+#endif
+#ifndef __com_sun_star_rendering_ViewState_idl__
+#include <com/sun/star/rendering/ViewState.idl>
+#endif
+#ifndef __com_sun_star_rendering_RenderState_idl__
+#include <com/sun/star/rendering/RenderState.idl>
+#endif
+#ifndef __com_sun_star_rendering_StringContext_idl__
+#include <com/sun/star/rendering/StringContext.idl>
+#endif
+#ifndef __com_sun_star_rendering_TextHit_idl__
+#include <com/sun/star/rendering/TextHit.idl>
+#endif
+#ifndef __com_sun_star_rendering_Caret_idl__
+#include <com/sun/star/rendering/Caret.idl>
+#endif
+
+
+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 <member>XTextLayout::justify()</member>
+ or <member>XTextLayout::applyLogicalAdvancements()</member> are
+ likely to change subsequent output of those query methods.<p>
+
+ Similar to <type>XCanvasFont</type>, 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.0
+ */
+interface XTextLayout : ::com::sun::star::uno::XInterface
+{
+ /** Extract the polygonal shapes of the layouted text.<p>
+
+ Each glyph is represented by a separate
+ <type>XPolyPolygon2D</type> in the returned sequence.<p>
+
+ @returns a sequence of <type>XPolyPolygon2D</type> 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
+ <type>XPolyPolygon2D</type> 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 <member>XTextLayout::queryMeasures()</member>
+ */
+ 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
+ <member>XTextLayout::queryInkMeasures()</member>.
+
+ @returns a sequence of rectangles specifying the bounds in
+ font coordinate space, one for every glyph.
+
+ @see <member>XTextLayout::queryInkMeasures()</member>
+ */
+ 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). Adding up all
+ advancements yields the total advancement of this layout. To
+ manipulate the layout of a string on the level of characters,
+ this method can be used to query for the layout's default
+ advancements, which can subsequently be changed and applied to
+ the layout via
+ <member>XTextLayout::applyLogicalAdvancements()</member>.<p>
+
+ @returns a sequence of <type>double</type> specifying the
+ advancements per character in font coordinate space.
+
+ @see <member>XTextLayout::applyLogicalAdvancements()</member>
+ */
+ 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
+ explicitely 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 <member>XTextLayout::queryLogicalAdvancements()</member>
+
+ @throws <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
+ <member>XTextLayout::queryTextMeasures</member>, 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 <type>XTextLayout</type>
+ 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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>
+ <type>XTextLayout</type>s 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 <type>com::sun::star::lang::IllegalArgumentException</type>
+ 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
+ <member>XTextLayout::getTextHit()</member>. 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. That means, on cannot e.g. set the
+ caret between the 'f' and the 'i' in a 'fi' ligature.
+
+ @returns the generated Caret structure.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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.
+
+ @returns the new insertion index.
+
+ @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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 <type>com::sun::star::lang::IndexOutOfBoundsException</type>
+ 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
+ <member>XCanvas::drawTextLayout()</member> 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
diff --git a/offapi/com/sun/star/rendering/XVolatileBitmap.idl b/offapi/com/sun/star/rendering/XVolatileBitmap.idl
new file mode 100644
index 000000000000..2597243f5505
--- /dev/null
+++ b/offapi/com/sun/star/rendering/XVolatileBitmap.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_rendering_XVolatileBitmap_idl__
+#define __com_sun_star_rendering_XVolatileBitmap_idl__
+
+#ifndef __com_sun_star_rendering_XBitmap_idl__
+#include <com/sun/star/rendering/XBitmap.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/rendering/makefile.mk b/offapi/com/sun/star/rendering/makefile.mk
new file mode 100644
index 000000000000..6b59d156d35e
--- /dev/null
+++ b/offapi/com/sun/star/rendering/makefile.mk
@@ -0,0 +1,117 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssrendering
+PACKAGE=com$/sun$/star$/rendering
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AnimationAttributes.idl \
+ AnimationRepeat.idl \
+ BlendMode.idl \
+ CanvasFactory.idl \
+ Caret.idl \
+ ColorComponentTag.idl \
+ ColorProfile.idl \
+ ColorSpaceType.idl \
+ CompositeOperation.idl \
+ EmphasisMark.idl \
+ FillRule.idl \
+ FloatingPointBitmapFormat.idl \
+ FloatingPointBitmapLayout.idl \
+ FontInfo.idl \
+ FontMetrics.idl \
+ FontRequest.idl \
+ IntegerBitmapLayout.idl \
+ InterpolationMode.idl \
+ Panose.idl \
+ PanoseArmStyle.idl \
+ PanoseContrast.idl \
+ PanoseFamilyTypes.idl \
+ PanoseLetterForm.idl \
+ PanoseMidline.idl \
+ PanoseProportion.idl \
+ PanoseSerifStyle.idl \
+ PanoseStrokeVariation.idl \
+ PanoseWeight.idl \
+ PanoseXHeight.idl \
+ PathCapType.idl \
+ PathJoinType.idl \
+ RenderState.idl \
+ RenderingIntent.idl \
+ RepaintResult.idl \
+ StringContext.idl \
+ StrokeAttributes.idl \
+ TextDirection.idl \
+ TextHit.idl \
+ Texture.idl \
+ TexturingMode.idl \
+ ViewState.idl \
+ VolatileContentDestroyedException.idl \
+ XAnimatedSprite.idl \
+ XAnimation.idl \
+ XBezierPolyPolygon2D.idl \
+ XBitmap.idl \
+ XBitmapCanvas.idl \
+ XBitmapPalette.idl \
+ XBufferController.idl \
+ XCachedPrimitive.idl \
+ XCanvas.idl \
+ XCanvasFont.idl \
+ XColorSpace.idl \
+ XCustomSprite.idl \
+ XGraphicDevice.idl \
+ XHalfFloatBitmap.idl \
+ XHalfFloatReadOnlyBitmap.idl \
+ XIeeeDoubleBitmap.idl \
+ XIeeeDoubleReadOnlyBitmap.idl \
+ XIeeeFloatBitmap.idl \
+ XIeeeFloatReadOnlyBitmap.idl \
+ XIntegerBitmap.idl \
+ XIntegerBitmapColorSpace.idl \
+ XIntegerReadOnlyBitmap.idl \
+ XLinePolyPolygon2D.idl \
+ XParametricPolyPolygon2D.idl \
+ XPolyPolygon2D.idl \
+ XSimpleCanvas.idl \
+ XSprite.idl \
+ XSpriteCanvas.idl \
+ XTextLayout.idl \
+ XVolatileBitmap.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/report/Calculation.idl b/offapi/com/sun/star/report/Calculation.idl
new file mode 100644
index 000000000000..228f7291c086
--- /dev/null
+++ b/offapi/com/sun/star/report/Calculation.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/report/ForceNewPage.idl b/offapi/com/sun/star/report/ForceNewPage.idl
new file mode 100644
index 000000000000..38a15a56df9c
--- /dev/null
+++ b/offapi/com/sun/star/report/ForceNewPage.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 an separte 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
diff --git a/offapi/com/sun/star/report/GroupKeepTogether.idl b/offapi/com/sun/star/report/GroupKeepTogether.idl
new file mode 100644
index 000000000000..8c3a7110c2e4
--- /dev/null
+++ b/offapi/com/sun/star/report/GroupKeepTogether.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member scope="XGroup">KeepTogether</member> 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
diff --git a/offapi/com/sun/star/report/GroupOn.idl b/offapi/com/sun/star/report/GroupOn.idl
new file mode 100644
index 000000000000..e3959e8885c7
--- /dev/null
+++ b/offapi/com/sun/star/report/GroupOn.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/report/KeepTogether.idl b/offapi/com/sun/star/report/KeepTogether.idl
new file mode 100644
index 000000000000..0a5ccbc70d26
--- /dev/null
+++ b/offapi/com/sun/star/report/KeepTogether.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/report/ReportPrintOption.idl b/offapi/com/sun/star/report/ReportPrintOption.idl
new file mode 100644
index 000000000000..218944d2b513
--- /dev/null
+++ b/offapi/com/sun/star/report/ReportPrintOption.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_ReportPrintOption_idl__
+#define __com_sun_star_report_ReportPrintOption_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+
+/** Specifies wether 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
diff --git a/offapi/com/sun/star/report/SectionPageBreak.idl b/offapi/com/sun/star/report/SectionPageBreak.idl
new file mode 100644
index 000000000000..04af47ae1609
--- /dev/null
+++ b/offapi/com/sun/star/report/SectionPageBreak.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/report/XFixedLine.idl b/offapi/com/sun/star/report/XFixedLine.idl
new file mode 100644
index 000000000000..f1f44f5fcf1a
--- /dev/null
+++ b/offapi/com/sun/star/report/XFixedLine.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFixedLine_idl__
+#define __com_sun_star_report_XFixedLine_idl__
+
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#include <com/sun/star/report/XReportControlModel.idl>
+#endif
+#ifndef __com_sun_star_drawing_CircleKind_idl__
+#include <com/sun/star/drawing/CircleKind.idl>
+#endif
+#ifndef __com_sun_star_drawing_LineStyle_idl__
+#include <com/sun/star/drawing/LineStyle.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_LineDash_idl__
+#include <com/sun/star/drawing/LineDash.idl>
+#endif
+//=============================================================================
+
+ 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;
+
+ //-------------------------------------------------------------------------
+};
+
+service FixedLine : XFixedLine;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XFixedText.idl b/offapi/com/sun/star/report/XFixedText.idl
new file mode 100644
index 000000000000..8c10e1935548
--- /dev/null
+++ b/offapi/com/sun/star/report/XFixedText.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFixedText_idl__
+#define __com_sun_star_report_XFixedText_idl__
+
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#include <com/sun/star/report/XReportControlModel.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+interface XFixedText
+{
+ interface XReportControlModel;
+
+ /** specifies the label of the control.
+ */
+ [attribute,bound] string Label;
+};
+
+service FixedText : XFixedText;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XFormatCondition.idl b/offapi/com/sun/star/report/XFormatCondition.idl
new file mode 100644
index 000000000000..187c1b524af2
--- /dev/null
+++ b/offapi/com/sun/star/report/XFormatCondition.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFormatCondition_idl__
+#define __com_sun_star_report_XFormatCondition_idl__
+
+#ifndef __com_sun_star_report_XReportControlFormat_idl__
+#include <com/sun/star/report/XReportControlFormat.idl>
+#endif
+
+//=============================================================================
+ 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;
+};
+
+service FormatCondition : XFormatCondition;
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/report/XFormattedField.idl b/offapi/com/sun/star/report/XFormattedField.idl
new file mode 100644
index 000000000000..5de71ec50b64
--- /dev/null
+++ b/offapi/com/sun/star/report/XFormattedField.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFormattedField_idl__
+#define __com_sun_star_report_XFormattedField_idl__
+
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#include <com/sun/star/report/XReportControlModel.idl>
+#endif
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+/** describes a control which can be used for displaying values with a 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;
+};
+
+service FormattedField : XFormattedField;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XFunction.idl b/offapi/com/sun/star/report/XFunction.idl
new file mode 100644
index 000000000000..7f3ac1a136e3
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunction.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFunction_idl__
+#define __com_sun_star_report_XFunction_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_Optional_idl__
+#include <com/sun/star/beans/Optional.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+//=============================================================================
+ 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 <type>XChild</type> 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 formular of this function
+ */
+ [attribute,bound] string Formula;
+
+ /** defines the formular for the intial value
+ */
+ [attribute,bound] com::sun::star::beans::Optional<string> InitialFormula;
+};
+
+service Function : XFunction
+{
+ create();
+};
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/report/XFunctions.idl b/offapi/com/sun/star/report/XFunctions.idl
new file mode 100644
index 000000000000..5a6ab1e8930f
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunctions.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFunctions_idl__
+#define __com_sun_star_report_XFunctions_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module report {
+interface XReportDefinition;
+interface XFunction;
+//=============================================================================
+
+/** 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 <type>XFunction</type>.
+ */
+ interface com::sun::star::container::XIndexContainer;
+
+ /** allows the navigation to the report or group object.
+ The method setParent from <type>XChild</type> 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 <type>XFunction</type>.
+ */
+ com::sun::star::report::XFunction createFunction();
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/report/XFunctionsSupplier.idl b/offapi/com/sun/star/report/XFunctionsSupplier.idl
new file mode 100644
index 000000000000..d28c13f4dbdb
--- /dev/null
+++ b/offapi/com/sun/star/report/XFunctionsSupplier.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XFunctionsSupplier_idl__
+#define __com_sun_star_report_XFunctionsSupplier_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+//=============================================================================
+ module com { module sun { module star { module report {
+//=============================================================================
+ interface XFunctions;
+/** specifies the functions supplier which are located in a report defintion or a group.
+*/
+interface XFunctionsSupplier
+{
+ /** access to the functions
+ */
+ [attribute,readonly] com::sun::star::report::XFunctions Functions;
+};
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/report/XGroup.idl b/offapi/com/sun/star/report/XGroup.idl
new file mode 100644
index 000000000000..469889ff6c7a
--- /dev/null
+++ b/offapi/com/sun/star/report/XGroup.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XGroup_idl__
+#define __com_sun_star_report_XGroup_idl__
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+#ifndef __com_sun_star_report_XSection_idl__
+#include <com/sun/star/report/XSection.idl>
+#endif
+#ifndef __com_sun_star_report_XGroups_idl__
+#include <com/sun/star/report/XGroups.idl>
+#endif
+#include <com/sun/star/report/XFunctions.idl>
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+
+/** identifies a <type>XGroup</type>.
+ 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 <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 a 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;
+};
+
+service Group : XGroup;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XGroups.idl b/offapi/com/sun/star/report/XGroups.idl
new file mode 100644
index 000000000000..ee2324f10855
--- /dev/null
+++ b/offapi/com/sun/star/report/XGroups.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XGroups_idl__
+#define __com_sun_star_report_XGroups_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+//=============================================================================
+
+ 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 <type>XGroup</type>.
+ */
+ 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 <type>XGroup</type>.
+ */
+ com::sun::star::report::XGroup createGroup();
+
+ [attribute,readonly] com::sun::star::report::XReportDefinition ReportDefinition;
+};
+
+service Groups : XGroups;
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/report/XImageControl.idl b/offapi/com/sun/star/report/XImageControl.idl
new file mode 100644
index 000000000000..48c18cb0b864
--- /dev/null
+++ b/offapi/com/sun/star/report/XImageControl.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XImageControl_idl__
+#define __com_sun_star_report_XImageControl_idl__
+
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#include <com/sun/star/report/XReportControlModel.idl>
+#endif
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+interface XImageControl
+{
+ interface XReportControlModel;
+
+ /** supplies the caller with an <type scope="com::sun::star::awt">XImageProducer</type>.
+
+ <p>Other components can register as <type scope="com::sun::star::awt">XImageConsumer</type>
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+
+ <p>Whenever the <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ property is changed, the model loads the specified image, and sets it as image source
+ at its <type scope="com::sun::star::awt">XImageProducer</type>. Then, all
+ <type scope="com::sun::star::awt">XImageConsumer</type>s are notified and supplied with
+ the binary data of the image.<br/>
+ Usually, controls acting for an <type>ImageControl</type> model are consumers, and use the
+ data stream to display the image</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ /** specifies an 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 <member>ScaleImage</member> property.</p>
+
+ <p>The value of this property is one of the <type scope="com::sun::star::awt">ImageScaleMode</type> 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;
+};
+
+service ImageControl : XImageControl;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XReportComponent.idl b/offapi/com/sun/star/report/XReportComponent.idl
new file mode 100644
index 000000000000..e3098a2246e8
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportComponent.idl
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XReportComponent_idl__
+#define __com_sun_star_report_XReportComponent_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+//=============================================================================
+
+ 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;
+
+ /** 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;
+
+ /** 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 <member>Border</member>) 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 theses columns are used to identify the data for the subreport.
+ Each time the parent report changes it's 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. it's 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 paramater 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 paramter 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. it's 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 hierachy up.
+ This value is <NULL/> when the control was not inserted in any section.
+ */
+ [attribute,readonly] com::sun::star::report::XSection Section;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XReportControlFormat.idl b/offapi/com/sun/star/report/XReportControlFormat.idl
new file mode 100644
index 000000000000..608b1e7aa5f4
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportControlFormat.idl
@@ -0,0 +1,613 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 back ground 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 <type scope="com::sun::star::text">FontEmphasis</type>
+ 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 <type scope="com::sun::star::text">FontEmphasis</type>.
+ */
+ [attribute,bound] short CharEmphasis
+ {
+ set raises ( com::sun::star::beans::UnknownPropertyException );
+ get raises ( com::sun::star::beans::UnknownPropertyException );
+ };
+
+ /** determins 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.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 of raisement/lowerment of 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 <type scope="com::sun::star::text">FontRelief</type>
+ 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 );
+ };
+
+ //-------------------------------------------------------------------------
+ /** determins 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 );
+ };
+
+ /** determins 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 );
+ };
+ //-------------------------------------------------------------------------
+
+ /** determins 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 );
+ };
+};
+
+service ReportControlFormat : XReportControlFormat;
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/report/XReportControlModel.idl b/offapi/com/sun/star/report/XReportControlModel.idl
new file mode 100644
index 000000000000..2c28f5fcc570
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportControlModel.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#define __com_sun_star_report_XReportControlModel_idl__
+
+#ifndef __com_sun_star_report_XReportComponent_idl__
+#include <com/sun/star/report/XReportComponent.idl>
+#endif
+#ifndef __com_sun_star_report_XReportControlFormat_idl__
+#include <com/sun/star/report/XReportControlFormat.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_report_XFormatCondition_idl__
+#include <com/sun/star/report/XFormatCondition.idl>
+#endif
+//=============================================================================
+
+ 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 <type scope="com::sun::star::report">XFormatCondition</type> 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 <br/>
+ <li>the name of a database column. The format to use is field:[name] </li>
+ <li>the name of a function defined in the report or a group. The format to use is rpt:[functionName]</li>
+ <li>an expression like rpt:24+24-47</li>
+ @see http://wiki.services.openoffice.org/wiki/SUN_Report_Builder
+ @see http://wiki.services.openoffice.org/wiki/SUN_Report_Builder#Syntax
+ @see http://wiki.services.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 <FALSE/>.
+ */
+ [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 );
+ };
+};
+
+service ReportControlModel : XReportControlModel;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XReportDefinition.idl b/offapi/com/sun/star/report/XReportDefinition.idl
new file mode 100644
index 000000000000..9af58a8d702e
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportDefinition.idl
@@ -0,0 +1,362 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XReportDefinition_idl__
+#define __com_sun_star_report_XReportDefinition_idl__
+
+#ifndef __com_sun_star_report_XReportComponent_idl__
+#include <com/sun/star/report/XReportComponent.idl>
+#endif
+#ifndef __com_sun_star_report_XFunctionsSupplier_idl__
+#include <com/sun/star/report/XFunctionsSupplier.idl>
+#endif
+#ifndef __com_sun_star_view_PaperOrientation_idl__
+#include <com/sun/star/view/PaperOrientation.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_view_PaperFormat_idl__
+#include <com/sun/star/view/PaperFormat.idl>
+#endif
+#ifndef __com_sun_star_util_XClosable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+#ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+#include <com/sun/star/ui/XUIConfigurationManagerSupplier.idl>
+#endif
+#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
+#endif
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+#ifndef __com_sun_star_document_XViewDataSupplier_idl__
+#include <com/sun/star/document/XViewDataSupplier.idl>
+#endif
+#ifndef __com_sun_star_frame_XLoadable_idl__
+#include <com/sun/star/frame/XLoadable.idl>
+#endif
+#ifndef __com_sun_star_embed_XVisualObject_idl__
+#include <com/sun/star/embed/XVisualObject.idl>
+#endif
+#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_util_XModifiable2_idl__
+#include <com/sun/star/util/XModifiable2.idl>
+#endif
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_lang_DisposedException_idl__
+#include <com/sun/star/lang/DisposedException.idl>
+#endif
+#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#endif
+
+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 <type>XReportComponent</type> 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 visualisation 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 neccessary 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 <type scope="com::sun::star::document">XEventBroadcaster</type>
+ because the methods addEventListener and removeEventListener are already defined in <type scope="com::sun::star::lang">XComponent</type>.
+ A queryInterface call is still supported to the <type scope="com::sun::star::document">XEventBroadcaster</type> 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 <member>CommandType</member> of <member>CommandType::COMMAND</member>,
+ means in case the <member>Command</member> specifies an SQL statement, the inherited
+ <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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 <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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><member>Command</member> needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningfull together with the <member>Command</member>
+ 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 addtional filter to optinally use.
+
+ <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
+
+ <p>If a <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
+ are specified, a <type>RowSet</type> 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 <member>ResultSet</member> has been specified
+ in the DataAccessDescriptor.</p>
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [attribute,bound] string Filter;
+
+ /** specifies if the <member>Command</member> 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 <member>Command</member> and
+ <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
+ equals <member>CommandType::COMMAND</member>.</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 <member>ReportHeaderOn</member>is <TRUE/>.
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <member>PageHeaderOn</member>is <TRUE/>.
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <member>PageFooterOn</member>is <TRUE/>.
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <member>ReportFooterOn</member>is <TRUE/>.
+ @throws <type scope="com::sun::star::container">NullPointerException</type>
+ 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);
+ };
+};
+
+service ReportDefinition : XReportDefinition;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XReportEngine.idl b/offapi/com/sun/star/report/XReportEngine.idl
new file mode 100644
index 000000000000..7a154483ff20
--- /dev/null
+++ b/offapi/com/sun/star/report/XReportEngine.idl
@@ -0,0 +1,169 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XReportEngine_idl__
+#define __com_sun_star_report_XReportEngine_idl__
+
+#ifndef __com_sun_star_report_XReportDefinition_idl__
+#include <com/sun/star/report/XReportDefinition.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XConnection_idl__
+#include <com/sun/star/sdbc/XConnection.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_DisposedException_idl__
+#include <com/sun/star/lang/DisposedException.idl>
+#endif
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module report {
+/** identifies a <type>XReportEngine</type> 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 <type scope="com::sun::star::lang">DisposedException</type>
+ If the report engine is already disposed.
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type scope="com::sun::star::lang">DisposedException</type>
+ If the report engine is already disposed.
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ If the report definition was not set or is <NULL/>.
+
+ OJ: Has to be discussed if this method is usefull.
+ */
+ 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 <type scope="com::sun::star::lang">DisposedException</type>
+ If the report engine is already disposed.
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type scope="com::sun::star::lang">DisposedException</type>
+ 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
diff --git a/offapi/com/sun/star/report/XSection.idl b/offapi/com/sun/star/report/XSection.idl
new file mode 100644
index 000000000000..294bd449c6cc
--- /dev/null
+++ b/offapi/com/sun/star/report/XSection.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XSection_idl__
+#define __com_sun_star_report_XSection_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShapes_idl__
+#include <com/sun/star/drawing/XShapes.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_report_XReportDefinition_idl__
+#include <com/sun/star/report/XReportDefinition.idl>
+#endif
+#ifndef __com_sun_star_report_XReportComponent_idl__
+#include <com/sun/star/report/XReportComponent.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module report {
+ interface XGroup;
+//=============================================================================
+
+/** identifies a <type>XSection</type> 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 back ground color of the section.
+ */
+ [attribute,bound] com::sun::star::util::Color BackColor;
+
+ /** determines if the back ground 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 wether 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 wether 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 it's 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;
+};
+
+service Section : XSection;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/report/XShape.idl b/offapi/com/sun/star/report/XShape.idl
new file mode 100644
index 000000000000..50e366fc2a79
--- /dev/null
+++ b/offapi/com/sun/star/report/XShape.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_XShape_idl__
+#define __com_sun_star_report_XShape_idl__
+
+#ifndef __com_sun_star_report_XReportControlModel_idl__
+#include <com/sun/star/report/XReportControlModel.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+#ifndef __com_sun_star_drawing_HomogenMatrix3_idl__
+#include <com/sun/star/drawing/HomogenMatrix3.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module report {
+
+//=============================================================================
+interface XShape
+{
+ interface XReportControlModel;
+
+ /** is used to query or change the ZOrder of this <type>Shape</type>. */
+ [attribute,bound] long ZOrder;
+
+ /** this property lets you get and set the transformation matrix
+ for this shape.
+
+ The transformation is a 3x3 homogen 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;
+};
+
+service Shape : XShape;
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
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 000000000000..a7348b5aca9d
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/DataProviderHandler.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_report_inspection_DataProviderHandler_idl__
+#define __com_sun_star_report_inspection_DataProviderHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module report { module inspection {
+
+//=============================================================================
+
+/** implements the default property handler for all known types of <type scope="com::sun::star::chart2::data">XDataProvider</type>s.
+
+ @see com::sun::star::inspection::XPropertyHandler
+*/
+service DataProviderHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..842dd8d3b047
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/DefaultComponentInspectorModel.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_report_inspection__DefaultComponentInspectorModel_idl__
+#define __com_sun_star_report_inspection_DefaultComponentInspectorModel_idl__
+
+#ifndef __com_sun_star_inspection_XObjectInspectorModel_idl__
+#include <com/sun/star/inspection/XObjectInspectorModel.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module report { module inspection {
+
+//=============================================================================
+
+/** implements a <type scope="com::sun::star::inspection">XObjectInspectorModel</type> for
+ inspecting form components, in particular all components implementing the <type>ReportComponent</type>
+ service.
+
+ <p>A <type>DefaultComponentInspectorModel</type> provides the following handlers by default:
+ <ul><li><type>GeometryHandler</type></li>
+ <li><type>ReportComponentHandler</type></li>
+ <li><typescope="com::sun::star::form::inspection">EditPropertyHandler</type></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 <arg>minHelpTextLines</arg> or <arg>maxHelpTextLines</arg> are negative,
+ or if <arg>minHelpTextLines</arg> is greater than <arg>maxHelpTextLines</arg>.
+
+ @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
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 000000000000..132cbab1eccb
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/ReportComponentHandler.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_report_inspection_ReportComponentHandler_idl__
+#define __com_sun_star_report_inspection_ReportComponentHandler_idl__
+
+#ifndef __com_sun_star_inspection_XPropertyHandler_idl__
+#include <com/sun/star/inspection/XPropertyHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module report { module inspection {
+
+//=============================================================================
+
+/** implements the default property handler for all known types of <type scope="com::sun::star::report">XReportComponent</type>s.
+
+ @see com::sun::star::inspection::XPropertyHandler
+*/
+service ReportComponentHandler
+{
+ interface com::sun::star::inspection::XPropertyHandler;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/report/inspection/makefile.mk b/offapi/com/sun/star/report/inspection/makefile.mk
new file mode 100644
index 000000000000..a123a2a42957
--- /dev/null
+++ b/offapi/com/sun/star/report/inspection/makefile.mk
@@ -0,0 +1,49 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssrptins
+PACKAGE=com$/sun$/star$/report$/inspection
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DefaultComponentInspectorModel.idl \
+ ReportComponentHandler.idl \
+ DataProviderHandler.idl
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/report/makefile.mk b/offapi/com/sun/star/report/makefile.mk
new file mode 100644
index 000000000000..c2fa45637555
--- /dev/null
+++ b/offapi/com/sun/star/report/makefile.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssreport
+PACKAGE=com$/sun$/star$/report
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ modules.idl\
+ XReportDefinition.idl \
+ XReportComponent.idl \
+ XReportControlModel.idl \
+ XGroups.idl \
+ XGroup.idl \
+ XFormattedField.idl \
+ XFixedText.idl \
+ XImageControl.idl \
+ XSection.idl \
+ ReportPrintOption.idl \
+ GroupKeepTogether.idl \
+ ForceNewPage.idl \
+ KeepTogether.idl \
+ XReportEngine.idl \
+ XFormatCondition.idl \
+ XReportControlFormat.idl \
+ XFunction.idl \
+ XFunctions.idl \
+ XFunctionsSupplier.idl \
+ GroupOn.idl \
+ XShape.idl \
+ XFixedLine.idl
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..96ae63f4c5e8
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFormulaParser.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XFormulaParser</type> 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< sheet::FormulaOpCodeMapEntry > OpCodeMap;
+
+ /** return the mapper for op codes.
+ */
+ [attribute,readonly] com::sun::star::sheet::XFormulaOpCodeMapper FormulaOpCodeMapper;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+
+#endif
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 000000000000..9cb669c84573
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionCategory.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XFunctionCategory</type> 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.ssun.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
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 000000000000..9ed060bcaa85
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionDescription.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XFunctionDescription</type> 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
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 000000000000..a862ad07dd59
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/XFunctionManager.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XFunctionManager</type> 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 postion.
+ @see com.ssun.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
diff --git a/offapi/com/sun/star/report/meta/makefile.mk b/offapi/com/sun/star/report/meta/makefile.mk
new file mode 100644
index 000000000000..2a6a6e7e79e1
--- /dev/null
+++ b/offapi/com/sun/star/report/meta/makefile.mk
@@ -0,0 +1,49 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssrptmeta
+PACKAGE=com$/sun$/star$/report$/meta
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XFunctionManager.idl \
+ XFunctionCategory.idl \
+ XFunctionDescription.idl \
+ XFormulaParser.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/report/modules.idl b/offapi/com/sun/star/report/modules.idl
new file mode 100644
index 000000000000..b9c4c7f0c03d
--- /dev/null
+++ b/offapi/com/sun/star/report/modules.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/resource/MissingResourceException.idl b/offapi/com/sun/star/resource/MissingResourceException.idl
new file mode 100644
index 000000000000..7453f89c8e96
--- /dev/null
+++ b/offapi/com/sun/star/resource/MissingResourceException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_MissingResourceException_idl__
+#define __com_sun_star_resource_MissingResourceException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/** is used to signal that a resource is missing.
+
+ @see XResourceBundle
+ */
+published exception MissingResourceException: com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/OfficeResourceLoader.idl b/offapi/com/sun/star/resource/OfficeResourceLoader.idl
new file mode 100644
index 000000000000..7930a34e5571
--- /dev/null
+++ b/offapi/com/sun/star/resource/OfficeResourceLoader.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_resource_OfficeResourceLoader_idl__
+#define __com_sun_star_resource_OfficeResourceLoader_idl__
+
+#ifndef __com_sun_star_resource_XResourceBundleLoader_idl__
+#include <com/sun/star/resource/XResourceBundleLoader.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module resource {
+//=============================================================================
+
+/** describes a <type>XResourceBundleLoader</type> which provides access to the OpenOffice.org
+ resource files.
+
+ <p>An OpenOffice.org installation comes with a number of resource files in an proprietary
+ format, located insisde the installation's program/resource directory. The <type>OfficeResoureLoader</type>
+ singleton (available at a component context as value with the key
+ <code>/singletons/com.sun.star.resource.OfficeResourceLoader</code>), provides access to some
+ types of resources within those files.</p>
+
+ <p>Clients have to specifiy the resource file base name in the call to
+ <member>XResourceBundleLoader::loadBundle</member> resp. <member>XResourceBundleLoader::loadBundle_Default</member>
+ method. The loader will extent this base name so that the resulting name conforms to the OpenOffice.org
+ resource file naming conventions, and look up the respective resource file, for the requested locale,
+ in OpenOffice.org's installation.</p>
+
+ <p>The lookup process uses the fallback mechanism as described at the <type>XResourceBundle</type> interface,
+ except that <code>Locale.getDefault()</code> is not used.</p>
+
+ <p>Resource keys, as passed to the <member>XResourceBundle::getDirectElement</member> or
+ <member scope="com::sun::star::container">XNameAccess::getByName</member>, have the following format:
+ <code>&lt;resource_type&gt;:&lt;numeric_identifier&gt;</code>, where <code>&lt;resource_type&gt; specifies
+ the type of the requested resource (see below) and <code>&lt;numeric_identifier&gt;</code> is the numeric
+ identifier of the resource.</p>
+
+ <p>The following resource types are currently supported:
+ <ul>
+ <li><em>string</em>: denotes a string resource</li>
+ </ul>
+ </p>
+
+ <p>Since the numeric resource identifiers are highly build-dependent (e.g. can change with any next
+ OpenOffice.org build), you are <strong>strongly</strong> discouraged from using the <type>OfficeResoureLoader</type>
+ service in a component which targets more than one particular OpenOffice.org build.</p>
+
+ @since OpenOffice.org 2.0.3
+*/
+singleton OfficeResourceLoader : XResourceBundleLoader;
+
+//=============================================================================
+}; }; }; };
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/resource/StringResource.idl b/offapi/com/sun/star/resource/StringResource.idl
new file mode 100644
index 000000000000..2c53e6a3cdc2
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResource.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_resource_StringResourceManager_idl__
+#define __com_sun_star_resource_StringResourceManager_idl__
+
+#ifndef __com_sun_star_resource_XStringResourcePersistence_idl__
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/** specifies a service providing access to a resource string table implementing the
+ <type scope="com::sun::star::awt">XDialog</type> interface.
+ */
+service StringResource : com::sun::star::resource::XStringResourcePersistence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/StringResourceWithLocation.idl b/offapi/com/sun/star/resource/StringResourceWithLocation.idl
new file mode 100644
index 000000000000..9115d9e22758
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResourceWithLocation.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_resource_StringResourceWithLocation_idl__
+#define __com_sun_star_resource_StringResourceWithLocation_idl__
+
+#ifndef __com_sun_star_resource_XStringResourceWithLocation_idl__
+#include <com/sun/star/resource/XStringResourceWithLocation.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/** specifies a service providing access to a resource string table implementing the
+ <type scope="com::sun::star::resource">XStringResourceWithLocation</type> 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 sceme. 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 re-
+ sponsible 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 <type scope="com::sun::star::task">XInteractionHandler</type>
+ to be passed to ucb. This may be a null interface.
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/resource/StringResourceWithStorage.idl b/offapi/com/sun/star/resource/StringResourceWithStorage.idl
new file mode 100644
index 000000000000..0d8c0678a97a
--- /dev/null
+++ b/offapi/com/sun/star/resource/StringResourceWithStorage.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_resource_StringResourceWithStorage_idl__
+#define __com_sun_star_resource_StringResourceWithStorage_idl__
+
+#ifndef __com_sun_star_resource_XStringResourceWithStorage_idl__
+#include <com/sun/star/resource/XStringResourceWithStorage.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/** specifies a service providing access to a resource string table implementing the
+ <type scope="com::sun::star::resource">XStringResourceWithStorage</type> 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 sceme. 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 re-
+ sponsible that the passed string is a valid comment in a Java
+ properties file, e.g. "# My strings". The string may be empty.
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/resource/XLocale.idl b/offapi/com/sun/star/resource/XLocale.idl
new file mode 100644
index 000000000000..9ae947b1c474
--- /dev/null
+++ b/offapi/com/sun/star/resource/XLocale.idl
@@ -0,0 +1,275 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XLocale_idl__
+#define __com_sun_star_resource_XLocale_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_resource_MissingResourceException_idl__
+#include <com/sun/star/resource/MissingResourceException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module resource {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::resource::XLocale
+/** offers some operations on <type scope="com::sun::star::lang">Locale</type>
+ structures.@see XResourceBundle
+ @see Locale
+ */
+published interface XLocale: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::resource::XLocale::create
+ /** creates a locale from language, country, and variant.
+
+ <p>NOTE: ISO 639 is not a stable standard; some of the
+ language codes it defines (specifically iw, ji, and in) have
+ changed. This constructor accepts both the old codes (iw, ji,
+ and in) and the new codes (he, yi, and id), but all other API
+ on XLocale will return only the <b>NEW</b> codes.
+ </p>
+ <p>Note: The Java class <code>Locale</code> returns the <strong>old</strong> codes.
+
+ </p>
+ */
+ com::sun::star::lang::Locale create( [in] string aLanguage,
+ [in] string aCountry,
+ [in] string aVariant );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::resource::XLocale::getDefault
+ /** the common method of getting the current default locale.
+
+ <p>It is used for the presentation (for menus, dialogs, etc.).
+ It is, generally, set once when your applet or application is
+ initialized, then never reset. (If you do reset the default
+ locale, you probably want to reload your GUI, so that the
+ change is reflected in your interface.)
+ </p>
+ <p>More advanced programs allow users to use different locales
+ for different fields, for example, in a spreadsheet.
+
+ <br>Note that the initial setting will match the host system.</p>
+ */
+ com::sun::star::lang::Locale getDefault();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::resource::XLocale::setDefault
+ /** sets the default locale for the whole environment.
+
+ <p>It is normally set once at the beginning of an application,
+ then never reset. <code>setDefault</code> does not reset the host
+ locale.
+
+ </p>
+ */
+ void setDefault( [in] com::sun::star::lang::Locale newLocale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getAvailableLocales
+ /** @returns
+ a sequence of all locales which are available in the system.
+ */
+ sequence<com::sun::star::lang::Locale> getAvailableLocales();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getISOCountries
+ /** @returns
+ a sequence of all ISO country codes known to the component.
+ */
+ sequence<string> getISOCountries();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getISOLanguages
+ /** @returns
+ a sequence of all ISO language codes known to the component.
+ */
+ sequence<string> getISOLanguages();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getLanguagesForCountry
+ /** @returns
+ a sequence for language codes which are valid within the
+ given country.
+ */
+ sequence<string> getLanguagesForCountry( [in] string country );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getISO3Language
+ /** @returns
+ the ISO language code for the specified locale.
+ */
+ string getISO3Language( [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::resource::MissingResourceException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getISO3Country
+ /** @returns
+ the ISO country code for the specified locale.
+ */
+ string getISO3Country( [in] com::sun::star::lang::Locale locale )
+ raises( com::sun::star::resource::MissingResourceException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayLanguage_Default
+ /** @returns
+ language code for display of field to user. If the localized
+ name is not found, returns the ISO code. The desired user language
+ is from the default locale.
+ */
+ string getDisplayLanguage_Default( [in] com::sun::star::lang::Locale locale );
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayLanguage
+ /** @return
+ language code for display of field to user. If the localized
+ name is not found, returns the ISO codes.
+
+ @param inLocale
+ specifies the desired user language.
+
+ @example
+ "English (UK)", "Deutch", "Germany"
+ */
+ string getDisplayLanguage( [in] com::sun::star::lang::Locale locale,
+ [in] com::sun::star::lang::Locale inLocale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayCountry_Default
+ /** @returns
+ country code for display of field to user. If the localized
+ name is not found, returns the ISO code. The desired user country
+ is from the default locale.
+ */
+ string getDisplayCountry_Default( [in] com::sun::star::lang::Locale locale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayCountry
+ /** @returns
+ country code for display of field to user. If the localized
+ name is not found, returns the ISO codes.
+
+ @param inLocale
+ specifies the desired user country.
+ */
+ string getDisplayCountry( [in] com::sun::star::lang::Locale locale,
+ [in] com::sun::star::lang::Locale inLocale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayVariant_Default
+ /** @returns
+ variant code for display of field to user. The desired user variant
+ is from the default locale.
+ */
+ string getDisplayVariant_Default( [in] com::sun::star::lang::Locale locale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayVariant
+ /** @returns
+ variant code for display of field to user. If the localized
+ name is not found, returns the ISO codes.
+
+ @param inLocale
+ specifies the desired user variant.
+ */
+ string getDisplayVariant( [in] com::sun::star::lang::Locale locale,
+ [in] com::sun::star::lang::Locale inLocale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayName_Default
+ /** @returns
+ a string to display the entire locale to user. If the localized
+ name is not found, uses the ISO codes. The default locale is used
+ for the presentation language.
+ */
+ string getDisplayName_Default( [in] com::sun::star::lang::Locale locale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::getDisplayName
+ /** @returns
+ a string to display the entire locale to user. If the localized
+ name is not found, uses the ISO codes.
+
+ @param inLocale
+ specifies the desired user locale.
+ */
+ string getDisplayName( [in] com::sun::star::lang::Locale locale,
+ [in] com::sun::star::lang::Locale inLocale );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::resource::XLocale::equals
+ /** @returns
+ <TRUE/> if the <type scope="com::sun::star::lang">Locale</type> <var>l1</var> is equal to the
+ other one.
+
+ <p>A locale is deemed equal to another locale with identical
+ language, country, and variant, and unequal to all other
+ objects.
+ */
+ boolean equals( [in] com::sun::star::lang::Locale l1,
+ [in] com::sun::star::lang::Locale l2 );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/resource/XResourceBundle.idl b/offapi/com/sun/star/resource/XResourceBundle.idl
new file mode 100644
index 000000000000..15ff639663c3
--- /dev/null
+++ b/offapi/com/sun/star/resource/XResourceBundle.idl
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XResourceBundle_idl__
+#define __com_sun_star_resource_XResourceBundle_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+/** Resource bundles contain locale-specific objects.
+
+ <p>When your program needs a locale-specific resource, such as
+ <code>String</code> for example, your program can load it from the
+ resource bundle that is appropriate for the current user's locale. In
+ this way, you can write program code that is largely independent of
+ the user's locale, which isolates most, if not all, of the
+ locale-specific information in resource bundles.
+
+ <p>This allows you to write programs that can:
+
+ <UL type=SQUARE>
+
+ <LI> be easily localized, or translated, into different
+ languages.
+
+ <LI> handle multiple locales at once.
+
+ <LI> be easily modified, later, to support even more locales.
+
+ </UL>
+
+ <P> One resource bundle is, conceptually, a set of related services
+ that supports <code>XResourceBundle</code>. Each related service of
+ <code>XResourceBundle</code> has the same base name plus an
+ additional component that identifies its locale. For example, suppose
+ your resource bundle is named <code>MyResources</code>. The first
+ service you are likely to implement is the default resource bundle,
+ which has the same name as its family--<code>MyResources</code>. You
+ can also provide as many related locale-specific services as you need.
+
+ For example, perhaps you would provide a German one named
+ <code>MyResources_de</code>.
+
+ <P>
+ Each related implementation of <code>XResourceBundle</code> contains
+ the same items, but the items have been translated for the locale
+ represented by that <code>XResourceBundle</code> implementation. For
+ example, both <code>MyResources</code> and <code>MyResources_de</code>
+ may have a <code>String</code> that is used on a button for
+ confirming operations. In <code>MyResources</code> the
+ <code>String</code> may contain <code>OK</code> and in
+ <code>MyResources_de</code> it may contain <code>Gut</code>.
+
+ <P>
+ If there are different resources for different countries, you
+ can make specializations: for example, <code>MyResources_de_CH</code>
+ is the German language (de) in Switzerland (CH). If you only want to
+ modify some of the resources in the specialization, you can do so.
+
+ <P>
+ When your program needs a locale-specific object, it loads
+
+ the <code>XResourceBundle</code> implementation using the
+ <type>XResourceBundleLoader</type> service:
+
+ <listing>
+ XResourceBundle myResources = xLoader.getBundle("MyResources", currentLocale);
+ </listing>
+
+ <p>The first argument specifies the family name of the resource
+ bundle that contains the object in question. The second argument
+ indicates the desired locale. <code>getBundle</code> uses these two
+ arguments to construct the name of the <code>ResourceBundle</code>
+ subclass it should load according to the following specifications.
+
+ <P>The resource bundle lookup searches for services with various
+ suffixes on the basis of (1) the desired locale and (2) the current
+ default locale as returned by Locale.getDefault(), and (3) the root
+ resource bundle (baseclass), in the following order from lower-level
+ (more specific) to parent-level (less specific):
+ <p> baseclass + "_" + language1 + "_" + country1 + "_" + variant1
+ <BR> baseclass + "_" + language1 + "_" + country1
+ <BR> baseclass + "_" + language1
+ <BR> baseclass + "_" + language2 + "_" + country2 + "_" + variant2
+ <BR> baseclass + "_" + language2 + "_" + country2
+ <BR> baseclass + "_" + language2
+ <BR> baseclass
+
+ <P> For example, if the current default locale is <TT>en_US</TT>, the
+ locale that the caller is interested in is <TT>fr_CH</TT>, and the
+ resource bundle name is <TT>MyResources</TT>; resource bundle lookup
+ will search for the following services, in order:
+ <BR> <TT>MyResources_fr_CH
+ <BR> MyResources_fr
+ <BR> MyResources_en_US
+ <BR> MyResources_en
+ <BR> MyResources</TT>
+
+ <P> The result of the lookup is a service, but that service may be
+ backed by a property file on disk. If a lookup fails,
+ <code>getBundle()</code> throws a
+ <code>MissingResourceException</code>.
+
+ <P> The base service <strong>must</strong> be fully qualified (for
+ example, <code>myPackage::MyResources</code>, not just
+ <code>MyResources</code>).
+
+ <P> Resource bundles contain key/value pairs. The keys uniquely
+ identify a locale-specific object in the bundle. Here is an
+ example of a <code>XResourceBundle</code> implementation that contains
+ two key/value pairs:
+
+ <listing>
+ class MyResource extends com.sun.star.resource.XResourceBundle
+ {
+ // some queryInterface stuff
+ // ...
+ public final Object getDirectElement(String key)
+ {
+ if (key.equals("okKey")) return "Ok";
+ if (key.equals("cancelKey")) return "Cancel";
+ return null;
+ }
+ }
+ </listing>
+
+ <p>Keys are always <code>String</code>s. In this example, the keys
+ are <code>OkKey</code> and <code>CancelKey</code>. In the above
+ example, the values are also <code>String</code>s--<code>OK</code>
+ and <code>Cancel</code>--but they do not have to be. The values can
+ be any type of object.
+
+ <P> You retrieve an object from resource bundle using the appropriate
+ get method. Because <code>OkKey</code> and <code>CancelKey</code>
+ are both strings, you use <code>getByName</code> to retrieve them:
+
+ <listing>
+ button1 = new Button(myResourceBundle.getByName("OkKey").getString());
+ button2 = new Button(myResourceBundle.getByName("CancelKey").getString());
+ </listing>
+
+ <p>The get methods all require the key as an argument and return
+ the object if found. If the object is not found, the get methods
+ throw a <type scope="com::sun::star::container">NoSuchElementException</type>.
+
+ <P> <STRONG>NOTE:</STRONG> You should always supply a base service
+ with no suffixes. This will be the class of "last resort" if a
+ locale is requested that does not exist. In fact, you must provide
+ <I>all</I> of the services in any given inheritance chain for which
+ you provide a resource. For example, if you provide
+ <TT>MyResources_fr_BE</TT>, you must provide <I>both</I>
+ <TT>MyResources</TT> <I>and</I> <TT>MyResources_fr</TT>, or the
+ resource bundle lookup will not work right.
+
+ <P>You do not have to restrict yourself to using a single family of
+ <code>ResourceBundle</code>s. For example, you could have a set of
+ bundles for exception messages, <code>ExceptionResources</code>
+ (<code>ExceptionResources_fr</code>, <code>ExceptionResources_de</code>, ...),
+ and one for widgets, <code>WidgetResource</code> (<code>WidgetResources_fr</code>,
+ <code>WidgetResources_de</code>, ...); breaking up the resources however you like.
+
+ @see MissingResourceException
+ @see Locale
+ @version 0.1 26 May 1999
+ @author Mark Davis
+ @author Markus Meyer
+ @deprecated draft
+*/
+published interface XResourceBundle: com::sun::star::container::XNameAccess
+{
+ //-------------------------------------------------------------------------
+ /** contains the parent bundle of this bundle.
+
+ <p>The parent bundle is searched by the method
+ <method scope="com::sun::star::container">XNameAccess::getByName</method>
+ when this bundle does not contain a particular resource.
+ */
+ [attribute] XResourceBundle Parent;
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the locale for this resource bundle.
+
+ <p>This function can be used to determine whether the
+ resource bundle that is returned really corresponds to the
+ requested locale or is a fallback.
+
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ an object from a resource bundle or NULL if no resource
+ exists.
+
+ <p>It does not look in the parents.
+
+ @param key
+ specifies the element.
+ */
+ any getDirectElement( [in] string key );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/XResourceBundleLoader.idl b/offapi/com/sun/star/resource/XResourceBundleLoader.idl
new file mode 100644
index 000000000000..4440dbfdbdb7
--- /dev/null
+++ b/offapi/com/sun/star/resource/XResourceBundleLoader.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XResourceBundleLoader_idl__
+#define __com_sun_star_resource_XResourceBundleLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_resource_XResourceBundle_idl__
+#include <com/sun/star/resource/XResourceBundle.idl>
+#endif
+
+#ifndef __com_sun_star_resource_MissingResourceException_idl__
+#include <com/sun/star/resource/MissingResourceException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/** makes it possible to load resource bundles.
+
+ <p>The search algorithm is specified in the documentation of
+ <type>XResourceBundle</type>. The implementations must follow
+ the name scheme, but it is allowed to search in several locations.
+
+ @see MissingResourceException
+ @see XResourceBundle
+ @see Locale
+ */
+published interface XResourceBundleLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** loads the appropriate resource bundle.
+ */
+ com::sun::star::resource::XResourceBundle loadBundle_Default( [in] string aBaseName )
+ raises( com::sun::star::resource::MissingResourceException );
+
+ //-------------------------------------------------------------------------
+
+ /** loads the appropriate resource bundle subclass.
+ */
+ com::sun::star::resource::XResourceBundle loadBundle( [in] string abaseName,
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::resource::MissingResourceException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/XStringResourceManager.idl b/offapi/com/sun/star/resource/XStringResourceManager.idl
new file mode 100644
index 000000000000..140c6e832a59
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceManager.idl
@@ -0,0 +1,317 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XStringResourceManager_idl__
+#define __com_sun_star_resource_XStringResourceManager_idl__
+
+#ifndef __com_sun_star_resource_MissingResourceException_idl__
+#include <com/sun/star/resource/MissingResourceException.idl>
+#endif
+
+#ifndef __com_sun_star_resource_XStringResourceResolver_idl__
+#include <com/sun/star/resource/XStringResourceResolver.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::resource">XStringResourceResolver</type>
+ 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 aLocale
+ 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 <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+
+ <p>If false: If the exact locale that should be set is not available
+ a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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 aLocale
+ Specifies the default locale to be used.
+ If this locale is not available a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+
+ @throws <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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 <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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
+ <member>getLocales</member>. A closest match search is not supported.
+
+ @throws <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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
+ <type scope="com::sun::star::resource">MissingResourceException</type>
+ if the Resource ID is not valid.
+
+ @throws
+ <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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
+ <member>getLocales</member>. A closest match search is not supported.
+
+ @throws
+ <type scope="com::sun::star::resource">MissingResourceException</type>
+ if the Resource ID is not valid.
+
+ @throws
+ <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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
+ <type scope="com::sun::star::container">ElementExistException</type>
+ if the Locale already has been created.
+
+ @throws
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the Locale is not valid.
+
+ @throws
+ <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the Locale to be removed is not supported.
+
+ @throws
+ <type scope="com::sun::star::lang">NoSupportException</type>
+ if the resource is read only, see <member>isReadOnly</member>
+ */
+ 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 <member>setString</member> or
+ <member>setStringForLocale</member>.
+
+ 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
+ <type scope="com::sun::star::lang">NoSupportException</type>
+ 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
diff --git a/offapi/com/sun/star/resource/XStringResourcePersistence.idl b/offapi/com/sun/star/resource/XStringResourcePersistence.idl
new file mode 100644
index 000000000000..880ff903e8b5
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourcePersistence.idl
@@ -0,0 +1,247 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XStringResourcePersistence_idl__
+#define __com_sun_star_resource_XStringResourcePersistence_idl__
+
+#ifndef __com_sun_star_resource_XStringResourceManager_idl__
+#include <com/sun/star/resource/XStringResourceManager.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+/**
+ Interface derived from XStringResourceManager containing
+ basic persistence functionality limited to operations that
+ are independend from a associated location or storage.
+
+ @see <type>XStringResourceManager</type>.
+*/
+interface XStringResourcePersistence: com::sun::star::resource::XStringResourceManager
+{
+ /**
+ Stores all string table data respectively all data modified since
+ the last call to <member>store</member> 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
+ <type>StringResourceWithLocation</type> and
+ <type>StringResourceWithStorage</type>
+
+ The StringResourceWithLocation is initialised with an URL
+ specifying a location used to load data from and store data to,
+ see <type>StringResourceWithLocation</type>.
+
+ The StringResourceWithStorage is initialised with an in-
+ stance of <type scope="com::sun::star::embed">XStorage</type>
+ used to load data from and store data to,
+ see <type>StringResourceWithStorage</type>.
+
+ If the string table isn't modified (see <member>isModified</member>)
+ this method does nothing.
+
+ This method can throw all exceptions thrown by the methods of
+ <type scope="com::sun::star::embed">XStorage</type> respectively
+ a <type scope="com::sun::star::ucb">CommandAbortedException in
+ case of a StringResourceWithLocation for all exceptions that are
+ not handled by a previously specified
+ <type scope="com::sun::star::task">XInteractionHandler</type>.
+ The handler to be used for the store operation can be specified
+ during initialisation of <type>StringResourceWithLocation</type>.
+
+ @throws <type scope="com::sun::star::lang">NoSupportException</type>
+ 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
+ <member>store</member> 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 initialisation of the services
+ <type>StringResourceWithLocation</type> or
+ <type>StringResourceWithStorage</type>
+
+ @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 re-
+ sponsible 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 <type>StringResourceWithLocation</type> instance)
+ repectively with a storage (in case of a
+ <type>StringResourceWithStorage</type> 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 <type scope="com::sun::star::embed">XStorage</type>
+
+ @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 sceme. 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 <member>setComment</member>.
+
+ This method can throw all exceptions thrown by the methods of
+ <type scope="com::sun::star::embed">XStorage</type>
+ */
+ 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 <type>StringResourceWithLocation</type> instance)
+ repectively with a storage (in case of a
+ <type>StringResourceWithStorage</type> 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 sceme. 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 <member>setComment</member>.
+
+ @param Handler
+ a <type scope="com::sun::star::task">XInteractionHandler</type>.
+ 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 <type scope="com::sun::star::datatransfer">XTransferable</type> and
+ related interfaces.
+
+ See <member>importBinary</member>).
+
+ @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 <member>exportBinary</member>.
+
+ 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 <type scope="com::sun::star::datatransfer">XTransferable</type> and
+ related interfaces.
+
+ See <member>importBinary</member>).
+
+ @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 <member>exportBinary</member>).
+ */
+ void importBinary( [in] sequence<byte> Data )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/XStringResourceResolver.idl b/offapi/com/sun/star/resource/XStringResourceResolver.idl
new file mode 100644
index 000000000000..f386c73abd08
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceResolver.idl
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XStringResourceResolver_idl__
+#define __com_sun_star_resource_XStringResourceResolver_idl__
+
+#ifndef __com_sun_star_resource_MissingResourceException_idl__
+#include <com/sun/star/resource/MissingResourceException.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+/**
+ Interface to access strings in a resource.
+
+ The interface is derived from
+ <type scope="com::sun::star::util">XModifyBroadcaster</type>
+
+ All registered <type scope="com::sun::star::util">XModifyListener</type>
+ 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
+ <type scope="com::sun::star::resource">XStringResourceManager</type>
+ 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 ResoureID for the current locale. This
+ locale is set during initalisation of the object implementing
+ this interface or - in case that also the interface
+ <type scope="com::sun::star::resource">XStringResourceManager</type>
+ 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 ResoureID 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
+ <member>getLocales</member>. A closest match search is not supported.
+
+ @return the localized string for the specified ID and Locale
+
+ @throws <type scope="com::sun::star::resource">MissingResourceException</type>
+ 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
+ <member>getLocales</member>. 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
+ <member>getLocales</member>. 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
diff --git a/offapi/com/sun/star/resource/XStringResourceSupplier.idl b/offapi/com/sun/star/resource/XStringResourceSupplier.idl
new file mode 100644
index 000000000000..1c56010b8ca2
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceSupplier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_resource_XStringResourceSupplier_idl__
+#define __com_sun_star_resource_XStringResourceSupplier_idl__
+
+#ifndef __com_sun_star_resource_XStringResourceResolver_idl__
+#include <com/sun/star/resource/XStringResourceResolver.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+
+/**
+ Provides access to a string resource represented by a
+ <type scope="com::sun::star::resource">XStringResourceResolver</type>.
+ */
+interface XStringResourceSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ Provides access to a string resource.
+ Depending on the context the returned object may also support
+ <type scope="com::sun::star::resource">XStringResourceManager</type> or
+ <type scope="com::sun::star::resource">XStringResourcePersistence</type> or
+ <type scope="com::sun::star::resource">XStringResourceWithStorage</type>
+
+ @returns an interface
+ <type scope="com::sun::star::resource">XStringResourceResolver</type>
+ */
+ com::sun::star::resource::XStringResourceResolver getStringResource();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/resource/XStringResourceWithLocation.idl b/offapi/com/sun/star/resource/XStringResourceWithLocation.idl
new file mode 100644
index 000000000000..642187897ed3
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceWithLocation.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XStringResourceWithLocation_idl__
+#define __com_sun_star_resource_XStringResourceWithLocation_idl__
+
+#ifndef __com_sun_star_resource_XStringResourcePersistence_idl__
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+/**
+ Extends <type>XStringResourcePersistence</type> by methods to handle an
+ associated location.
+
+ @see <type>XStringResourcePersistence</type>.
+*/
+interface XStringResourceWithLocation: com::sun::star::resource::XStringResourcePersistence
+{
+ /**
+ Stores all string table data to a location and associates this location
+ to this instance as if <member>setLocation</member> 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 <member>store</member>.
+
+ @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. <member>storeAsURL</member> should
+ be prefered as it directly stores the data to the new location
+ and afterwards this location is in sync with the resource data.
+ </p>
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if an empty string is passed as URL
+ */
+ void setURL( [in] string URL )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/XStringResourceWithStorage.idl b/offapi/com/sun/star/resource/XStringResourceWithStorage.idl
new file mode 100644
index 000000000000..b4e5dd803efa
--- /dev/null
+++ b/offapi/com/sun/star/resource/XStringResourceWithStorage.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_resource_XStringResourceWithStorage_idl__
+#define __com_sun_star_resource_XStringResourceWithStorage_idl__
+
+#ifndef __com_sun_star_resource_XStringResourcePersistence_idl__
+#include <com/sun/star/resource/XStringResourcePersistence.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module resource {
+
+//=============================================================================
+/**
+ Extends <type>XStringResourcePersistence</type> by methods to handle an
+ associated <type scope="com::sun::star::embed">XStorage</type> instance.
+
+ @see <type>XStringResourcePersistence</type>.
+*/
+interface XStringResourceWithStorage: com::sun::star::resource::XStringResourcePersistence
+{
+ /**
+ Stores all string table data to a storage and associates this storage
+ to this instance as if <member>setStorage</member> 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
+ <type scope="com::sun::star::embed">XStorage</type>
+ */
+ 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 <member>store</member>.
+
+ @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. <member>storeAsStorage</member> should be prefered
+ as it directly stores the data to the new storage and afterwards
+ this storage is in sync with the resource data.
+ </p>
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if a null interface is passed as Storage
+ */
+ void setStorage( [in] ::com::sun::star::embed::XStorage Storage )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/resource/makefile.mk b/offapi/com/sun/star/resource/makefile.mk
new file mode 100644
index 000000000000..b255b2f2efb3
--- /dev/null
+++ b/offapi/com/sun/star/resource/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssresource
+PACKAGE=com$/sun$/star$/resource
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ MissingResourceException.idl\
+ OfficeResourceLoader.idl\
+ XLocale.idl\
+ XResourceBundle.idl\
+ XResourceBundleLoader.idl\
+ XStringResourceResolver.idl\
+ XStringResourceManager.idl\
+ XStringResourcePersistence.idl\
+ XStringResourceWithStorage.idl\
+ XStringResourceWithLocation.idl\
+ XStringResourceSupplier.idl\
+ StringResource.idl\
+ StringResourceWithLocation.idl\
+ StringResourceWithStorage.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/scanner/ScanError.idl b/offapi/com/sun/star/scanner/ScanError.idl
new file mode 100644
index 000000000000..ecb9544df3a4
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScanError.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 occured
+ */
+ ScanErrorNone,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR ScanError:: ScannerNotAvailable,
+ /** ScannerNotAvailable: the requested device could not be opened
+ */
+ ScannerNotAvailable,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR ScanError:: ScanFailed,
+ /** ScanFailed: an error occured 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
diff --git a/offapi/com/sun/star/scanner/ScannerContext.idl b/offapi/com/sun/star/scanner/ScannerContext.idl
new file mode 100644
index 000000000000..41f1c8e1aacb
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerContext.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/scanner/ScannerException.idl b/offapi/com/sun/star/scanner/ScannerException.idl
new file mode 100644
index 000000000000..a3b78111ca8d
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerException.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_scanner_ScannerException_idl__
+#define __com_sun_star_scanner_ScannerException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_scanner_ScanError_idl__
+#include <com/sun/star/scanner/ScanError.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/scanner/ScannerManager.idl b/offapi/com/sun/star/scanner/ScannerManager.idl
new file mode 100644
index 000000000000..950b0c8dcb0d
--- /dev/null
+++ b/offapi/com/sun/star/scanner/ScannerManager.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_scanner_ScannerManager_idl__
+#define __com_sun_star_scanner_ScannerManager_idl__
+
+#ifndef __com_sun_star_scanner_XScannerManager_idl__
+#include <com/sun/star/scanner/XScannerManager.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module scanner {
+
+//=============================================================================
+// DOCUMENTATION CHANGED FOR ScannerManager
+/** ScannerManager provides a simple method to access scanner devices
+ (or other image producing devices)
+*/
+published service ScannerManager
+{
+ interface com::sun::star::scanner::XScannerManager;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/scanner/XScannerManager.idl b/offapi/com/sun/star/scanner/XScannerManager.idl
new file mode 100644
index 000000000000..ac933dd3cbb5
--- /dev/null
+++ b/offapi/com/sun/star/scanner/XScannerManager.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_scanner_XScannerManager_idl__
+#define __com_sun_star_scanner_XScannerManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_scanner_ScannerContext_idl__
+#include <com/sun/star/scanner/ScannerContext.idl>
+#endif
+
+#ifndef __com_sun_star_scanner_ScannerException_idl__
+#include <com/sun/star/scanner/ScannerException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_scanner_ScanError_idl__
+#include <com/sun/star/scanner/ScanError.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module scanner {
+
+//=============================================================================
+/**
+*/
+published interface XScannerManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XScannerManager::getAvailableScanners
+ /** returns all avilable 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 scanner_context )
+ 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 successfull,
+ an empty interface otherwise
+ */
+ void startScan( [in] com::sun::star::scanner::ScannerContext scanner_context,
+ [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 scanner_context )
+ 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 scanner_context )
+ raises( com::sun::star::scanner::ScannerException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/scanner/makefile.mk b/offapi/com/sun/star/scanner/makefile.mk
new file mode 100644
index 000000000000..b4214c20563d
--- /dev/null
+++ b/offapi/com/sun/star/scanner/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssscanner
+PACKAGE=com$/sun$/star$/scanner
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ScanError.idl\
+ ScannerContext.idl\
+ ScannerException.idl\
+ ScannerManager.idl\
+ XScannerManager.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl
new file mode 100644
index 000000000000..7dcb64bbdc0c
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_DocumentDialogLibraryContainer_idl__
+#define __com_sun_star_script_DocumentDialogLibraryContainer_idl__
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#endif
+#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>XPersistentLibraryContainer::RootStorage</member>) 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
+ <type scope="com::sun::star::document">OfficeDocument</type>.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl
new file mode 100644
index 000000000000..4bb6838af681
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_DocumentScriptLibraryContainer_idl__
+#define __com_sun_star_script_DocumentScriptLibraryContainer_idl__
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#endif
+#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>XPersistentLibraryContainer::RootStorage</member>) 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
+ <type scope="com::sun::star::document">OfficeDocument</type>.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/script/LibraryNotLoadedException.idl b/offapi/com/sun/star/script/LibraryNotLoadedException.idl
new file mode 100644
index 000000000000..8a825fe7ce09
--- /dev/null
+++ b/offapi/com/sun/star/script/LibraryNotLoadedException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_script_LibraryNotLoadedException_idl__
+#define __com_sun_star_script_LibraryNotLoadedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/script/ModuleInfo.idl b/offapi/com/sun/star/script/ModuleInfo.idl
new file mode 100644
index 000000000000..f9f3b3639c14
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleInfo.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_ModuleInfo_idl__
+#define __com_sun_star_script_ModuleInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module script {
+struct ModuleInfo
+{
+ com::sun::star::uno::XInterface ModuleObject;
+ long ModuleType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
new file mode 100644
index 000000000000..44c0702b74d5
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_ModuleSizeExceededRequest_idl__
+#define __com_sun_star_document_ModuleSizeExceededRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/script/ModuleType.idl b/offapi/com/sun/star/script/ModuleType.idl
new file mode 100644
index 000000000000..fb0b08692219
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/NativeObjectWrapper.idl b/offapi/com/sun/star/script/NativeObjectWrapper.idl
new file mode 100755
index 000000000000..93281a061d6e
--- /dev/null
+++ b/offapi/com/sun/star/script/NativeObjectWrapper.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/XLibraryContainer.idl b/offapi/com/sun/star/script/XLibraryContainer.idl
new file mode 100644
index 000000000000..3974aaa436da
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainer_idl__
+#define __com_sun_star_script_XLibraryContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::container">XNameContainer</type>.
+ */
+ 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
diff --git a/offapi/com/sun/star/script/XLibraryContainer2.idl b/offapi/com/sun/star/script/XLibraryContainer2.idl
new file mode 100644
index 000000000000..2d315ca3a88f
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer2.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#define __com_sun_star_script_XLibraryContainer2_idl__
+
+#ifndef __com_sun_star_script_XLibraryContainer_idl__
+#include <com/sun/star/script/XLibraryContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Extension of <type>XLibraryContainer</type> 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, a 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
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
new file mode 100644
index 000000000000..1045fc7a295c
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer3.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainer3_idl__
+#define __com_sun_star_script_XLibraryContainer3_idl__
+
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Extension of <type>XLibraryContainer2</type>.
+ */
+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
+ <member>XLibraryContainer::createLibraryLink</member>. Otherwise the behavior
+ is the same as <member>XLibraryContainer2::getLibraryLinkURL</member>
+ */
+ string getOriginalLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+
+};
+
+//=============================================================================
+
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/XLibraryContainerExport.idl b/offapi/com/sun/star/script/XLibraryContainerExport.idl
new file mode 100644
index 000000000000..cdaa975f8d5e
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerExport.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainerExport_idl__
+#define __com_sun_star_script_XLibraryContainerExport_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/script/XLibraryContainerPassword.idl b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
new file mode 100644
index 000000000000..26cb1d211993
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainerPassword_idl__
+#define __com_sun_star_script_XLibraryContainerPassword_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/script/XPersistentLibraryContainer.idl b/offapi/com/sun/star/script/XPersistentLibraryContainer.idl
new file mode 100644
index 000000000000..200bd1d164ca
--- /dev/null
+++ b/offapi/com/sun/star/script/XPersistentLibraryContainer.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_XPersistentLibraryContainer_idl__
+#define __com_sun_star_script_XPersistentLibraryContainer_idl__
+
+#ifndef __com_sun_star_util_XModifiable_idl__
+#include <com/sun/star/util/XModifiable.idl>
+#endif
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+//=============================================================================
+
+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 <member>ContainerLocationName</member>.</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
+
diff --git a/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
new file mode 100644
index 000000000000..13c9ab990d44
--- /dev/null
+++ b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#define __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+#ifndef __com_sun_star_script_XPersistentLibraryContainer_idl__
+#include <com/sun/star/script/XPersistentLibraryContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+//=============================================================================
+
+/** is the interface for an <type>XLibraryContainer</type> which can be made
+ persistent in an <type scope="com::sun::star::embed">XStorage</type>.
+
+ <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
+ <member>XPersistentLibraryContainer::RootLocation</member>, 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 behaviour.</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 continer is not automatically associated with the
+ new root storage. Instead, you need to manually set the <type>RootStroage</type>
+ 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
+ <member>RootStorage</member>.
+
+ @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
diff --git a/offapi/com/sun/star/script/browse/BrowseNode.idl b/offapi/com/sun/star/script/browse/BrowseNode.idl
new file mode 100755
index 000000000000..fa209b84efa1
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_browse_BrowseNode_idl__
+#define __com_sun_star_script_browse_BrowseNode_idl__
+
+#ifndef __com_sun_star_script_browse_XBrowseNode_idl__
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#endif
+#ifndef __com_sun_star_script_XInvocation_idl__
+#include <com/sun/star/script/XInvocation.idl>
+#endif
+
+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.0
+*/
+service BrowseNode
+{
+ interface ::com::sun::star::script::browse::XBrowseNode;
+ [ optional ] interface ::com::sun::star::script::XInvocation;
+};
+
+ };
+ };
+ };
+ };
+};
+#endif
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
new file mode 100755
index 000000000000..b54d8e7e6137
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_browse_BrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_BrowseNodeFactory_idl__
+
+#ifndef __com_sun_star_script_browse_XBrowseNodeFactory_idl__
+#include <com/sun/star/script/browse/XBrowseNodeFactory.idl>
+#endif
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ This service is used to create Root XBrowseNodes.
+
+ @since OOo 2.0.0
+*/
+service BrowseNodeFactory
+{
+ interface XBrowseNodeFactory;
+};
+
+/**
+ 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.0
+*/
+singleton theBrowseNodeFactory
+{
+ service BrowseNodeFactory;
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl
new file mode 100755
index 000000000000..84ef8e8e1733
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl
new file mode 100755
index 000000000000..f790541cb8a7
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/browse/XBrowseNode.idl b/offapi/com/sun/star/script/browse/XBrowseNode.idl
new file mode 100755
index 000000000000..da493f604abb
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNode.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_browse_XBrowseNode_idl__
+#define __com_sun_star_script_browse_XBrowseNode_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 Developers' Guide for
+ more details).
+*/
+interface XBrowseNode : ::com::sun::star::uno::XInterface
+{
+ //-----------------------------------------------------------------------
+ /**
+ Get the name of the node
+
+ @return
+ The <atom>string</atom> name of this node
+ */
+ string getName();
+
+ //----------------------------------------------------------------------
+ /**
+ Get the children of this node
+
+ @returns
+ <type scope="::com::sun::star::script::browse">XBrowseNode</type> sequence of child nodes
+ */
+ sequence < XBrowseNode > getChildNodes();
+
+ //----------------------------------------------------------------------
+ /**
+ Indicates if this node contains any children
+
+ @returns
+ <atom> boolean </atom> true if there are child nodes.
+ */
+ boolean hasChildNodes();
+
+ //-------------------------------------------------------------------
+ /** the type of the node.
+ @returns A <atom>short</atom> reresenting the type of this node.
+ */
+ short getType();
+
+};
+
+}; }; }; }; };
+#endif
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 000000000000..41ef7e038bde
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XBrowseNodeFactory_idl__
+#define __com_sun_star_script_provider_XBrowseNodeFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_script_browse_XBrowseNode_idl__
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#endif
+#ifndef __com_sun_star_script_browse_BrowseNodeFactoryViewTypes_idl__
+#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl>
+#endif
+
+//===========================================================================
+
+module com { module sun { module star { module script { module browse {
+
+//===========================================================================
+/**
+ This interface provides a factory for obtaining objects implmenting the
+ XBrowseNode interface.
+*/
+interface XBrowseNodeFactory : ::com::sun::star::uno::XInterface {
+
+ //----------------------------------------------------------------------
+ /** a factory method for the creation of XBrowseNodes
+ ( view ) <type scope="::com::sun::star::script::browse">BrowseNodeFactoryViewTypes</type> specifies the type of view to be returned
+
+ @returns
+ an object implementing <type scope="::com::sun::star::script::browse">XBrowseNode</type>
+
+ */
+ com::sun::star::script::browse::XBrowseNode createView( [in] short viewType );
+};
+
+//===========================================================================
+}; }; }; }; }; // com::sun::star::script::provider
+
+#endif
diff --git a/offapi/com/sun/star/script/browse/makefile.mk b/offapi/com/sun/star/script/browse/makefile.mk
new file mode 100644
index 000000000000..4a2fdfddf185
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/makefile.mk
@@ -0,0 +1,52 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssbrowse
+PACKAGE=com$/sun$/star$/script$/browse
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XBrowseNode.idl\
+ XBrowseNodeFactory.idl\
+ BrowseNodeFactoryViewTypes.idl\
+ BrowseNodeFactory.idl\
+ BrowseNode.idl\
+ BrowseNodeTypes.idl
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk
new file mode 100644
index 000000000000..9c0a38fa44c2
--- /dev/null
+++ b/offapi/com/sun/star/script/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssscript
+PACKAGE=com$/sun$/star$/script
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DocumentDialogLibraryContainer.idl\
+ DocumentScriptLibraryContainer.idl\
+ LibraryNotLoadedException.idl\
+ XLibraryContainer.idl\
+ XLibraryContainer2.idl\
+ XLibraryContainer3.idl\
+ XLibraryContainerPassword.idl\
+ XLibraryContainerExport.idl\
+ XPersistentLibraryContainer.idl\
+ XStorageBasedLibraryContainer.idl\
+ ModuleSizeExceededRequest.idl\
+ ModuleInfo.idl\
+ ModuleType.idl\
+ NativeObjectWrapper.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl
new file mode 100755
index 000000000000..8072416c62f1
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#define __com_sun_star_script_provider_LanguageScriptProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_ScriptProvider_idl__
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/MasterScriptProvider.idl b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl
new file mode 100755
index 000000000000..7a2bb02a194c
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_MasterScriptProvider_idl__
+#define __com_sun_star_script_provider_MasterScriptProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_ScriptProvider_idl__
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl
new file mode 100755
index 000000000000..bbc5f74ff011
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+
+
+#ifndef __com_sun_star_script_provider_XScriptProviderFactory_idl__
+#include <com/sun/star/script/provider/XScriptProviderFactory.idl>
+#endif
+
+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.
+*/
+service MasterScriptProviderFactory
+{
+ interface XScriptProviderFactory;
+};
+
+/**
+ 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
+{
+ service MasterScriptProviderFactory;
+};
+
+}; }; }; }; };
+
+#endif
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 000000000000..72fac1b09749
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptErrorRaisedException_idl__
+#define __com_sun_star_script_provider_ScriptErrorRaisedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//===========================================================================
+
+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 occured
+ */
+ string scriptName;
+ /** Scripting language of script that generated exception
+ */
+ string language;
+ /** line number where error occured.
+ */
+ long lineNum;
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
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 000000000000..c7cc7b6f88f3
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptExceptionRaisedException_idlR__
+#define __com_sun_star_script_provider_ScriptExceptionRaisedException_idl__
+
+#ifndef __com_sun_star_script_provider_ScriptErrorRaisedException_idlR__
+#include <com/sun/star/script/provider/ScriptErrorRaisedException.idl>
+#endif
+
+//===========================================================================
+
+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 occured
+ */
+ string exceptionType;
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
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 000000000000..6444e1f92b62
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+#define __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//===========================================================================
+
+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 occured
+ */
+ string scriptName;
+ /** Scripting language of script that generated exception
+ */
+ string language;
+ /** error type <type scope="::com::sun::star::script::provider">ScriptFrameworkErrorType</type>
+ */
+ long errorType;
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
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 000000000000..a80f1f36c318
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/provider/ScriptProvider.idl b/offapi/com/sun/star/script/provider/ScriptProvider.idl
new file mode 100755
index 000000000000..a133301e392a
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProvider.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptProvider_idl__
+#define __com_sun_star_script_provider_ScriptProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_XScriptProvider_idl__
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#endif
+
+#ifndef __com_sun_star_script_browse_BrowseNode_idl__
+#include <com/sun/star/script/browse/BrowseNode.idl>
+#endif
+
+//===========================================================================
+
+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
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 000000000000..97541eb0e863
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForBasic_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBasic_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl
new file mode 100755
index 000000000000..e9c2d7dd8241
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForBeanShell_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBeanShell_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl
new file mode 100755
index 000000000000..6d171c305dac
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForJava_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJava_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl
new file mode 100755
index 000000000000..e64067084beb
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForJavaScript_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJavaScript_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+#endif
+
+//===========================================================================
+
+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
diff --git a/offapi/com/sun/star/script/provider/ScriptURIHelper.idl b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl
new file mode 100755
index 000000000000..111a65cb4a26
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_ScriptURIHelper_idl__
+#define __com_sun_star_script_provider_ScriptURIHelper_idl__
+
+#ifndef __com_sun_star_script_provider_XScriptURIHelper_idl__
+#include <com/sun/star/script/provider/XScriptURIHelper.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//===========================================================================
+
+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
+ <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ */
+ create( [in] string language, [in] string location )
+ raises ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
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 000000000000..a96629fe9c68
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScript.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScript_idl__
+#define __com_sun_star_script_provider_XScript_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_script_CannotConvertException_idl__
+#include <com/sun/star/script/CannotConvertException.idl>
+#endif
+
+#ifndef __com_sun_star_reflection_InvocationTargetException_idl__
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+#endif
+
+//===========================================================================
+
+module com { module sun { module star { module script { module provider {
+
+//===========================================================================
+/**
+ This interface represents an invokable 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 params 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>
+ <listing>
+ aOutParamIndex={0,2};
+ aOutParam={"string from a", "string from c"};
+ </listing>
+
+ @returns
+ the value returned from the function being invoked
+
+ @throws ::com::sun::star::reflection::InvocationTargetException
+ if and 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 ScriptingFrameworkErrorException 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
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 000000000000..f673b18716d7
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptContext.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScriptContext_idl__
+#define __com_sun_star_script_provider_XScriptContext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#include <com/sun/star/frame/XDesktop.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XComponentContext_idl__
+#include <com/sun/star/uno/XComponentContext.idl>
+#endif
+
+
+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
+ <type scope="com::sun::star::frame">XModel</type> 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
+ <type scope="com::sun::star::frame">XDesktop</type> interface
+ */
+ ::com::sun::star::frame::XDesktop getDesktop();
+
+ /**
+ Obtain the component context which the script can use to create
+ other uno components
+
+ @returns
+ <type scope="com::sun::star::uno">XComponentContext</type> interface
+ */
+ ::com::sun::star::uno::XComponentContext getComponentContext();
+
+
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
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 000000000000..944a37532251
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProvider.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScriptProvider_idl__
+#define __com_sun_star_script_provider_XScriptProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_script_provider_XScript_idl__
+#include <com/sun/star/script/provider/XScript.idl>
+#endif
+#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//===========================================================================
+
+module com { module sun { module star { module script { module provider {
+
+//===========================================================================
+/**
+ This interface provides a factory for obtaining objects implmenting 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 <type scope="::com::sun::star::script::provider">XScript</type> representing the script
+
+ @throws ::com::sun::star::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
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 000000000000..3663d6188420
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_XScriptProviderFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_script_provider_XScriptProvider_idl__
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//===========================================================================
+
+module com { module sun { module star { module script { module provider {
+
+//===========================================================================
+/**
+ This interface provides a factory for obtaining objects implmenting the
+ XScriptProvider interface.
+*/
+interface XScriptProviderFactory : ::com::sun::star::uno::XInterface {
+
+ //----------------------------------------------------------------------
+ /** a factory method for the creation of XScriptProviders
+ implementations.
+
+ @param sContext
+ is context for which the ScriptProvider is to be created for
+
+ @returns
+ an object implementing <type scope="::com::sun::star::script::provider">XScriptProvider</type>
+
+ @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
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 000000000000..6fa088c85a32
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+#define __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_script_provider_XScriptProvider_idl__
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//===========================================================================
+
+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 <type scope="::com::sun::star::script::provider">XScriptProvider</type> representing the script provider
+ */
+ XScriptProvider getScriptProvider();
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
+
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 000000000000..1790df0a4a08
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptURIHelper.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_provider_XScriptURIHelper_idl__
+#define __com_sun_star_script_provider_XScriptURIHelper_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//===========================================================================
+
+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 <atom>string</atom>
+ */
+ string getRootStorageURI();
+
+ /**
+ Obtain the storage URI for a specific Scripting Framework
+ script URI.
+
+ @returns a URI to the storage as a <atom>string</atom>
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ 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 <atom>string</atom>
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ if the storageURI is not a valid
+ */
+ string getScriptURI( [in] string storageURI ) raises
+ ( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+//===========================================================================
+}; }; }; }; }; // ::com::sun::star::script::provider
+
+#endif
diff --git a/offapi/com/sun/star/script/provider/makefile.mk b/offapi/com/sun/star/script/provider/makefile.mk
new file mode 100755
index 000000000000..488944ff7e62
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/makefile.mk
@@ -0,0 +1,68 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssprovider
+PACKAGE=com$/sun$/star$/script$/provider
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XScript.idl\
+ XScriptContext.idl\
+ XScriptProvider.idl\
+ XScriptProviderSupplier.idl\
+ ScriptProvider.idl\
+ MasterScriptProvider.idl\
+ XScriptProviderFactory.idl\
+ LanguageScriptProvider.idl\
+ ScriptProviderForJava.idl\
+ ScriptProviderForJavaScript.idl\
+ ScriptProviderForBeanShell.idl\
+ MasterScriptProviderFactory.idl\
+ ScriptErrorRaisedException.idl\
+ ScriptExceptionRaisedException.idl\
+ ScriptFrameworkErrorException.idl\
+ ScriptFrameworkErrorType.idl\
+ ScriptURIHelper.idl\
+ XScriptURIHelper.idl\
+ ScriptProviderForBasic.idl
+
+# ------------------------------------------------------------------
+
+# ------------------------------------------------------------------
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/script/vba/VBAEventId.idl b/offapi/com/sun/star/script/vba/VBAEventId.idl
new file mode 100755
index 000000000000..fda83a18d495
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventId.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XVBAEventProcessor::processVbaEvent</member>.</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. No arguments. */
+ const long WORKBOOK_WINDOWACTIVATE = 2009;
+ /** Document window has been deactivated. No arguments. */
+ const long WORKBOOK_WINDOWDEACTIVATE = 2010;
+ /** Document window has been resized. No arguments. */
+ 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
diff --git a/offapi/com/sun/star/script/vba/VBAEventProcessor.idl b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
new file mode 100755
index 000000000000..d993b37ae250
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100755
index 000000000000..62f6e8ce0c2a
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
new file mode 100755
index 000000000000..ce202da4f54c
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+#define __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+
+#include <com/sun/star/script/vba/VBAEventProcessor.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+service VBASpreadsheetEventProcessor
+{
+ service VBAEventProcessor;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
new file mode 100755
index 000000000000..fd3c7f895d8d
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_vba_VBATextEventProcessor_idl__
+#define __com_sun_star_script_vba_VBATextEventProcessor_idl__
+
+#include <com/sun/star/script/vba/VBAEventProcessor.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+service VBATextEventProcessor
+{
+ service VBAEventProcessor;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..bfa9d01655fa
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_vba_XVBACompatibility_idl__
+#define __com_sun_star_script_vba_XVBACompatibility_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBACompatibility
+{
+ //-------------------------------------------------------------------------
+
+ [attribute] boolean VBACompatibilityMode;
+
+ //-------------------------------------------------------------------------
+};
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
new file mode 100755
index 000000000000..4a3534de8412
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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/script/provider/ScriptFrameworkErrorException.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 <type>VBAEventId</type>.
+
+ @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.
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ if the passed event identifier is not supported, or if the passed
+ specifier is required but invalid.
+ **/
+ 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 <type>VBAEventId</type>.
+
+ @param aArgs
+ The input arguments needed to create the argument list of the VBA
+ event handler.
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type scope="::com::sun::star::script::provider">ScriptFrameworkErrorException</type>
+ if the VBA event handler could not be invoked. Reasons may be, that
+ handling of VBA events is not enabled, that the VBA event handler
+ macro has not been found, or that the execution of the macro has
+ been aborted with an error.
+
+ @throws <type scope="::com::sun::star::util">VetoException</type>
+ if the VBA event handler has indicated to veto the event.
+ **/
+ void processVbaEvent( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::script::provider::ScriptFrameworkErrorException,
+ ::com::sun::star::util::VetoException);
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100755
index 000000000000..378219268010
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..9954281a5a71
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/script/vba/makefile.mk b/offapi/com/sun/star/script/vba/makefile.mk
new file mode 100755
index 000000000000..336be1b5e7a6
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/makefile.mk
@@ -0,0 +1,54 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssscriptvba
+PACKAGE=com$/sun$/star$/script$/vba
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ VBAEventId.idl \
+ VBAEventProcessor.idl \
+ VBAMacroResolver.idl \
+ VBASpreadsheetEventProcessor.idl \
+ VBATextEventProcessor.idl \
+ XVBACompatibility.idl \
+ XVBAEventProcessor.idl \
+ XVBAMacroResolver.idl \
+ XVBAModuleInfo.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/sdb/BooleanComparisonMode.idl b/offapi/com/sun/star/sdb/BooleanComparisonMode.idl
new file mode 100644
index 000000000000..018658dc47e7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/BooleanComparisonMode.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_BooleanComparisonMode_idl__
+#define __com_sun_star_sdb_BooleanComparisonMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sdb {
+
+//=============================================================================
+
+/** specifies different modi how boolean comparison predicates are to be generated
+ by a <type>SingleSelectQueryComposer</type>.
+ */
+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
diff --git a/offapi/com/sun/star/sdb/CallableStatement.idl b/offapi/com/sun/star/sdb/CallableStatement.idl
new file mode 100644
index 000000000000..151ada30313f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CallableStatement.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_CallableStatement_idl__
+#define __com_sun_star_sdb_CallableStatement_idl__
+
+#ifndef __com_sun_star_sdbc_CallableStatement_idl__
+#include <com/sun/star/sdbc/CallableStatement.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_PreparedStatement_idl__
+#include <com/sun/star/sdb/PreparedStatement.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">CallableStatement</type>
+ .
+*/
+published service CallableStatement
+{
+ service com::sun::star::sdbc::CallableStatement;
+
+ service com::sun::star::sdb::PreparedStatement;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/Column.idl b/offapi/com/sun/star/sdb/Column.idl
new file mode 100644
index 000000000000..982dfccbab49
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Column.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Column_idl__
+#define __com_sun_star_sdb_Column_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_ColumnSettings_idl__
+#include <com/sun/star/sdb/ColumnSettings.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
new file mode 100644
index 000000000000..c28c615b2284
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ColumnDescriptorControl_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module sdb {
+
+//=============================================================================
+
+/** specifies a column descriptor control.
+ */
+service ColumnDescriptorControl
+{
+ service com::sun::star::awt::UnoControl;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl
new file mode 100644
index 000000000000..a1ba82c14b55
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ColumnDescriptorControlModel_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControlModel_idl__
+
+#ifndef __com_sun_star_awt_UnoControlModel_idl__
+#include <com/sun/star/awt/UnoControlModel.idl>
+#endif
+
+
+//=============================================================================
+ 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 an <type>ColumnDescriptorControl</type>.
+ */
+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
+
diff --git a/offapi/com/sun/star/sdb/ColumnSettings.idl b/offapi/com/sun/star/sdb/ColumnSettings.idl
new file mode 100644
index 000000000000..196373e3ede1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnSettings.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ColumnSettings_idl__
+#define __com_sun_star_sdb_ColumnSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::util">XNumberFormatter</type>
+ interface.
+ </p>
+ <p>
+ If the value is
+ <void/>
+ , a default numberformat 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 whichs 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
diff --git a/offapi/com/sun/star/sdb/CommandType.idl b/offapi/com/sun/star/sdb/CommandType.idl
new file mode 100644
index 000000000000..065fe9105157
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CommandType.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdb/Connection.idl b/offapi/com/sun/star/sdb/Connection.idl
new file mode 100644
index 000000000000..66edbbf01b9d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Connection.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Connection_idl__
+#define __com_sun_star_sdb_Connection_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_Connection_idl__
+#include <com/sun/star/sdbc/Connection.idl>
+#endif
+
+#ifndef __com_sun_star_sdbcx_DatabaseDefinition_idl__
+#include <com/sun/star/sdbcx/DatabaseDefinition.idl>
+#endif
+
+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
+ <type scope="com::sun::star::sdbc">Connection</type>
+ 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
diff --git a/offapi/com/sun/star/sdb/ContentLoader.idl b/offapi/com/sun/star/sdb/ContentLoader.idl
new file mode 100644
index 000000000000..1322c6ba3197
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ContentLoader.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_sdb_ContentLoader_idl__
+#define __com_sun_star_sdb_ContentLoader_idl__
+
+#ifndef __com_sun_star_frame_Frame_idl__
+#include <com/sun/star/frame/FrameLoader.idl>
+#endif
+
+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 <type scope="com::sun::star::frame">XComponentLoader</type> 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
+ <type scope="com::sun::star::sdb">DataSourceBrowser</type>
+ 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
+ <type scope="com::sun::star::sdb">ExternalSourceBrowser</type>
+ 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
+ <type scope="com::sun::star::sdb">QueryDesign</type>
+ 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
+ <type scope="com::sun::star::sdb">TableDesign</type>
+ 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
+ <type scope="com::sun::star::sdb">RelationDesign</type>
+ service and plugs it into the frame passed to the loader.
+ </li>
+ </ul>
+
+ The parameters passed to the
+ <member scope="com::sun::star::frame">XFrameLoader::load()</member>
+ are forwarded to the object beeing created,
+ in particular to it's
+ <type scope="com::sun::star::lang">XInitialization</type>
+ interface.
+ **/
+ service com::sun::star::frame::FrameLoader;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptor.idl b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
new file mode 100644
index 000000000000..10f9432b498b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
@@ -0,0 +1,270 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_DataAccessDescriptor_idl__
+#define __com_sun_star_sdb_DataAccessDescriptor_idl__
+
+#ifndef __com_sun_star_sdbc_Connection_idl__
+#include <com/sun/star/sdbc/Connection.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#include <com/sun/star/sdbc/ResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+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 themself) 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 <type>DataAccessDescriptor</type> 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 <type>Connection</type>. If no DataSourceName is given
+ and the <member>DatabaseLocation</member> and the <member>ConnectionResource</member> are emtpy, then an <member>ActiveConnection</member>
+ 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 <type>Connection</type>. If no DatabaseLocation is given
+ and the <member>ConnectionResource</member> is emtpy, then an <member>ActiveConnection</member> is reuqired.</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 <type>Connection</type>. If no ConnectionResource is given,
+ then an <member>ActiveConnection</member> is reuqired.</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,
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo</member> is used
+ to create a connection for the given connection resource, instead of
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnection</member>.</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 <type scope="com::sun::star::sdbc">Connection</type>, but usually
+ it will be a <type>Connection</type> from the module com::sun::star::sdb.<br/>
+ Especially in the case where no <member>DataSourceName</member> is given, but
+ <member>CommandType</member> is <member>CommandType::QUERY</member>, the ActiveConnection needs
+ to fully support the <type>Connection</type> service, to actually retrieve the query specified by
+ <member>Command</member></p>
+
+ <p>If no ActiveConnection is given, then a <member>DataSourceName</member> 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 <member>CommandType</member>
+ 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><member>Command</member> needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningfull together with the <member>Command</member>
+ 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 addtional 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 <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
+ are specified, a <type>RowSet</type> 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 <member>ResultSet</member> 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 <member>Command</member>.
+
+ <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 <member>Command</member>.
+
+ <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 <member>Command</member>.
+
+ <p>The keyword <code>GROUP BY</code> itself is not part of this property.</p>
+ */
+ [optional, property] string GroupBy;
+
+ /** specifies if the <member>Command</member> 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 <member>Command</member> and
+ <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
+ equals <member>CommandType::COMMAND</member>.</p>
+ */
+ [optional, property] boolean EscapeProcessing;
+
+ /** specifies an already existent result set to use.
+
+ <p>Usually, you use the properties <member>DataSourceName</member> (alternatively
+ <member>ActiveConnection</member>), <member>Command</member> and <member>CommandType</member> to specify
+ how to <em>obtain</em> a result set. However, in scenarious 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 <type scope="com::sun::star::sdbc">ResultSet</type> service.</p>
+
+ <p>Note that any superservices of <type scope="com::sun::star::sdbc">ResultSet</type>
+ are also allowed. Especially, this member can denote an instance of the
+ <type scope="com::sun::star::sdb">RowSet</type>, or an instance obtained
+ by calling <member scope="com::sun::star::sdb">XResultSetAccess::createResultSet</member>
+ on such a <type scope="com::sun::star::sdb">RowSet</type>. This becomes important in
+ conjunction with the <member>Selection</member> 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 (<member>DataSourceName</member>, <member>Command</member>,
+ <member>CommandType</member>) or explicitly (<member>ResultSet</member>), the set of results can be
+ additionally refined with this property.</p>
+
+ <p>The single elements of the <member>Selection</member> are either record numbers (see
+ <member scope="com::sun::star::sdbc">XResultSet::getRow</member>), or bookmarks (see
+ <member scope="com::sun::star::sdbcx">XRowLocate::getBookmark</member>).<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
+ <member>BookmarkSelection</member> becomes mandatory.</p>
+
+ <p>If the elements specify bookmarks, and a <member>ResultSet</member> has been specified, then
+ this result set is required to support the <type scope="com::sun::star::sdbcx">XRowLocate</type> interface.</p>
+ */
+ [optional, property] sequence< any > Selection;
+
+ /** specifies how to interpret <member>Selection</member>
+
+ <p>If present, <member>BookmarkSelection</member> specifies the semantics of <member>Selection</member>. 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 <member>Selection</member> 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 <member>Command</member> and
+ <member>CommandType</member> 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 <member>ColumnName</member> property.</p>
+
+ <p>The object will at least support the <type scope="com::sun::star::sdbcx">Column</type> service, but more
+ often it will even be a <type>Column</type> from the com::sun::star::sdb module.</p>
+ */
+ [optional, property] com::sun::star::beans::XPropertySet Column;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
new file mode 100644
index 000000000000..bc4e141f133e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/sdb/DataColumn.idl b/offapi/com/sun/star/sdb/DataColumn.idl
new file mode 100644
index 000000000000..8e5bc34924a1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataColumn.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DataColumn_idl__
+#define __com_sun_star_sdb_DataColumn_idl__
+
+#ifndef __com_sun_star_sdb_ResultColumn_idl__
+#include <com/sun/star/sdb/ResultColumn.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/DataSettings.idl b/offapi/com/sun/star/sdb/DataSettings.idl
new file mode 100644
index 000000000000..978a2cd9a5d9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSettings.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DataSettings_idl__
+#define __com_sun_star_sdb_DataSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ <type scope="com::sun::star::sdbcx">Table</type>
+ with additional display information, sorting and filtering criterias.
+
+ */
+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
diff --git a/offapi/com/sun/star/sdb/DataSource.idl b/offapi/com/sun/star/sdb/DataSource.idl
new file mode 100644
index 000000000000..3b4594715532
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSource.idl
@@ -0,0 +1,255 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DataSource_idl__
+#define __com_sun_star_sdb_DataSource_idl__
+
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+
+ 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 <type scope="com::sun::star::uno">NamingService</type>.
+ @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 <type>XCompletedConnection</type> or <type scope="com::sun::star::sdbc">XDataSource</type>.
+ @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
+ <method scope="com::sun::star::sdb">XQueryDefinitionsSupplier::getQueryDefinitions()</method>
+ supports the
+ <type scope="com::sun::star::sdb">DefinitionContainer</type>
+ 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
+ <method scope="com::sun::star::sdb">XBookmarksSupplier::getBookmarks()</method>
+ supports the
+ <type scope="com::sun::star::sdb">DefinitionContainer</type>
+ 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 <type>DataSource</type> 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 <type scope="com::sun::star::sdbc">XDriver</type> which is to provide
+ the connection supports a setting with the respective name, using its
+ <member scope="com::sun::star::sdbc">XDriver::getPropertyInfo<member> method.br/>
+ If so, the settings is passed to the drivers's
+ <member scope="com::sun::star::sdbc">XDriver::connect<member> 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 behaviour of components
+ working with the data source.</li>
+ </ul>
+ */
+ [property] sequence<com::sun::star::beans::PropertyValue> Info;
+
+ /** is a convenience wrapper around the <member>Info</member> 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 <member>Settings</member> property wraps the <member>Info</member>
+ property for easier single-value access.</p>
+
+ <p>You should use the <member>Setting</member> property if you need to access a few properties only,
+ and the <member>Info</member> property if you need access to all existent settings at once.</p>
+
+ <p>The object represented by this property supports the <type scope="com::sun::star::beans">PropertyBag</type>
+ 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
+ <type scope="com::sun::star::beans">XPropertyState</type> interface. If you add an own property to
+ the bag using <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member>, you need
+ to specifiy 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 removeable from the bag, that is, their
+ <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member> attribute is <em>not</em> set.<br/>
+ Usually, you'll find that all of this properties have the
+ <member scope="com::sun::star::beans::">PropertyState::PropertyState_DEFAULT_VALUE</member> 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 removeable, this depends on whether or not the code adding them specifies the
+ <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member> attribute. Also, they might
+ or might not have a default value, determined by the
+ <member scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</member> attribute at the time they're added
+ to the bag.</p>
+
+ <p>When a data source is made persistent, then properties which are not removeable (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
+ <member scope="com::sun::star::beans">PropertyAttribute::TRANSIENT</member> attribute prohibits this.</p>
+
+ <p>Similar, when you obtain the <member>Info</member> property of a <code>DataSource</code>, the
+ <code>Settings</code> bag is asked for all its property values, and the ones which are removeable 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
diff --git a/offapi/com/sun/star/sdb/DataSourceBrowser.idl b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
new file mode 100644
index 000000000000..feaf0262e26d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
@@ -0,0 +1,290 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_sdb_DataSourceBrowser_idl__
+#define __com_sun_star_sdb_DataSourceBrowser_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+#ifndef __com_sun_star_form_FormController_idl__
+#include <com/sun/star/form/FormController.idl>
+#endif
+#ifndef __com_sun_star_ui_XContextMenuInterception_idl__
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#endif
+
+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
+ <type scope="com::sun::star::sdb">
+ DatabaseContext
+ </type>
+ 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
+ <type scope="com::sun::star::sdb">
+ ContentLoader
+ </type>
+ service, which creates and initializes
+ the browser.
+ </p>
+
+ <p>
+ Some aspects of the browser can be controlled from outside, eg.,
+ 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
+ <type scope="com::sun::star::frame">XDispatchProvider</type>
+ 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 URL's which an external
+ instance can provide dispatches for (usually by implementing a
+ <type scope="com::sun::star::frame">XDispatchProviderInterceptor</type>
+ 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
+ <member scope="com::sun::star::frame">XDispatch::dispatch()</member>methodoftheobject
+ provided by the external instance.
+ </p>
+
+ <p>
+ In particular, the supported URL's for communicating to an external instance are:
+ <ul>
+ <li><b>.uno:DataSourceBrowser/InsertColumns</b>
+ <br/>
+ Available whenever an external instance provides a dispatcher (
+ <type scope="com::sun::star::frame">XDispatch</type>)
+ 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(
+ <type scope="com::sun::star::frame">XDispatch</type>
+ ) 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 (
+ <type scope="com::sun::star::frame">XDispatch</type>)forthisURL.
+ <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 URL's, the parameters supplied during dispatching build up a <type>DataAccessDescriptor</type>,
+ where the following properties are present:
+ <ul>
+ <li><member>DataAccessDescriptor::DataSourceName</member></li>
+ <li><member>DataAccessDescriptor::Command</member></li>
+ <li><member>DataAccessDescriptor::CommandType</member></li>
+ <li><em>optional</em> <member>DataAccessDescriptor::Selection</member></li>
+ <li><em>optional</em> <member>DataAccessDescriptor::BookmarkSelection</member></li>
+ <li><em>optional</em> <member>DataAccessDescriptor::ResultSet</member></li>
+ </ul>
+ </p>
+ <p>The default for <member>DataAccessDescriptor::Selection</member> is to contain bookmarks, if not specified
+ otherwise by <member>DataAccessDescriptor::BookmarkSelection</member>.</pr>
+ </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 <method scope="com::sun::star::awt">XTabController::getControls</method>)
+ </li>
+ <li>the data form used for displaying objects. As always for components implementing this service,
+ the object returned by
+ <method scope="com::sun::star::awt">XTabController::getModel</method>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 <member scope="com::sun::star::lang">XInitialization::initialize()</member>)
+ have to be instances of <type scope="com::sun::star::beans">PropertyValue</type>, or
+ instances of <type scope="com::sun::star::beans">NamedValue</type>, 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 <type scope="com::sun::star::frame">XFrame</type> interface specifying the frame to
+ plug the browser component into.</li>
+
+ <li><b>DataSourceName</b><br/>
+ The name of the globally registered <type>DataSource</type> 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 <type>CommandType</type> 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
+ <member scope="com::sun::star::frame">XDispatchProvider::queryDispatch</member>
+ method
+ to query for objects which implement the
+ <type scope="com::sun::star::frame">XDispatch</type>
+ 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 brower control where the registered
+ data sources and all their tables and queries are displayed in a tree view.</p>
+
+ <p>The selection supplied by <member scope="com::sun::star::ui">ContextMenuExecuteEvent::Selection</member>,
+ in the event structure passed to the context menu interceptors, actually is a value from the
+ <type scope="com::sun::star::sdb::application">NamedDatabaseObject</type> group.</p>
+
+ @since OOo 3.0
+ */
+ [optional] interface ::com::sun::star::ui::XContextMenuInterception;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DatabaseAccess.idl b/offapi/com/sun/star/sdb/DatabaseAccess.idl
new file mode 100644
index 000000000000..8eb187384f35
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccess.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseAccess_idl__
+#define __com_sun_star_sdb_DatabaseAccess_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl b/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
new file mode 100644
index 000000000000..4eb54d7db00a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseAccessConnection_idl__
+#define __com_sun_star_sdb_DatabaseAccessConnection_idl__
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_sdbcx_DatabaseDefinition_idl__
+#include <com/sun/star/sdbcx/DatabaseDefinition.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_Connection_idl__
+#include <com/sun/star/sdbc/Connection.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">Connection</type>
+ .
+ It is possible to open more than one connection at the same time, but the method
+ <member scope="com::sun::star::sdb">DatabaseAccessConnection::dispose()</member>
+ 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
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessContext.idl b/offapi/com/sun/star/sdb/DatabaseAccessContext.idl
new file mode 100644
index 000000000000..34922be1cdec
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessContext.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseAccessContext_idl__
+#define __com_sun_star_sdb_DatabaseAccessContext_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_util_XLocalizedAliases_idl__
+#include <com/sun/star/util/XLocalizedAliases.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl
new file mode 100644
index 000000000000..2b133c83b832
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseAccessDataSource_idl__
+#define __com_sun_star_sdb_DatabaseAccessDataSource_idl__
+
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#include <com/sun/star/io/XPersistObject.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_RememberAuthentication_idl__
+#include <com/sun/star/ucb/RememberAuthentication.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XDataSource_idl__
+#include <com/sun/star/sdbc/XDataSource.idl>
+#endif
+
+module com { module sun { module star { module sdb {
+
+ published interface XCompletedConnection;
+
+/** is a factory to create data access beans. Data access beans are shared amoung
+ 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
diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl
new file mode 100644
index 000000000000..d2e660058e70
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseContext.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseContext_idl__
+#define __com_sun_star_sdb_DatabaseContext_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XNamingService_idl__
+#include <com/sun/star/uno/XNamingService.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+published interface XDatabaseRegistrations;
+
+/** 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
+{
+ /** Enumeration on all registered data sources.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** NameAccess on all registered data sources.
+ <p>One exception is the <method "com.sun.star.container.XNameAccess">getByName</method>, this method also allows to ask
+ for a <member "DataAccessDescriptor">DatabaseLocation</member>.
+ </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 OpenOffice.org 3.3
+ */
+ [optional] interface XDatabaseRegistrations;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/DatabaseDocument.idl b/offapi/com/sun/star/sdb/DatabaseDocument.idl
new file mode 100644
index 000000000000..b7a626579ec5
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseDocument.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseDocument_idl__
+#define __com_sun_star_sdb_DatabaseDocument_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XProtectable_idl__
+#include <com/sun/star/util/XProtectable.idl>
+#endif
+
+ 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.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
diff --git a/offapi/com/sun/star/sdb/DatabaseEnvironment.idl b/offapi/com/sun/star/sdb/DatabaseEnvironment.idl
new file mode 100644
index 000000000000..72af2c84e7e8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseEnvironment.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DatabaseEnvironment_idl__
+#define __com_sun_star_sdb_DatabaseEnvironment_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
new file mode 100644
index 000000000000..891929514826
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: InteractionHandler.idl,v $
+ * $Revision: 1.12 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_InteractionHandler_idl__
+#define __com_sun_star_sdb_InteractionHandler_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
+ <type scope="com::sun::star::task">InteractionHandler</type> 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 <type scope="com::sun::star::sdbc">SQLException</type>,
+ 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 an <type scope="com::sun::star::sdb">ParametersRequest</type>,
+ 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
+ (<type scope="com::sun::star::sdb">XInteractionSupplyParameters</type>) as well, so the
+ handler can return the entered information.
+ </li>
+ </ul>
+ </p>
+*/
+service DatabaseInteractionHandler: com::sun::star::task::XInteractionHandler2;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl
new file mode 100644
index 000000000000..f8bd571c5f8e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 OpenOffice.org 3.3
+ */
+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
diff --git a/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
new file mode 100644
index 000000000000..79d5b31e6cbf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_DatasourceAdministrationDialog_idl__
+#define __com_sun_star_sdb_DatasourceAdministrationDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::sdb">
+ DatabaseContext
+ </type>
+ 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
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ .
+ </p>
+
+ <p>
+ You specify a parameter by passing one (or more)
+ <type scope="com::sun::star::beans">PropertyValue</type>
+ 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
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ 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/>
+ <type scope="com::sun::star::awt">XWindow</type>
+ 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
+ <type scope="com::sun::star::sdb">
+ DatabaseContext
+ </type>
+ .
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DefinitionContainer.idl b/offapi/com/sun/star/sdb/DefinitionContainer.idl
new file mode 100644
index 000000000000..d7206c40ab19
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContainer.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <method scope="com.sun.star.lang">XSingleServiceFactory::createInstance()</method>
+ ) can be used as container elements.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XSingleServiceFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/DefinitionContent.idl b/offapi/com/sun/star/sdb/DefinitionContent.idl
new file mode 100644
index 000000000000..d5ce22d9ff09
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 a <type>OfficeDatabaseDocument</type>.
+
+ @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 <type scope="com::sun::star::ucb">XCommandProcessor</type>
+ 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
+
diff --git a/offapi/com/sun/star/sdb/Document.idl b/offapi/com/sun/star/sdb/Document.idl
new file mode 100644
index 000000000000..c442929d4572
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Document.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DocumentDefinition_idl__
+#define __com_sun_star_sdb_DocumentDefinition_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+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
+ <type>
+ Document
+ </type>
+ 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
diff --git a/offapi/com/sun/star/sdb/DocumentContainer.idl b/offapi/com/sun/star/sdb/DocumentContainer.idl
new file mode 100644
index 000000000000..31a7128022c7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentContainer.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DocumentContainer_idl__
+#define __com_sun_star_sdb_DocumentContainer_idl__
+
+#ifndef __com_sun_star_sdb_DefinitionContainer_idl__
+#include <com/sun/star/sdb/DefinitionContainer.idl>
+#endif
+#ifndef __com_sun_star_sdb_DefinitionContent_idl__
+#include <com/sun/star/sdb/DefinitionContent.idl>
+#endif
+
+
+ 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 <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ 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 <type scope="com::sun::star::document">OfficeDocument</type>s.<br/>
+ The only thing worth mentioning here is that they support the
+ <type scope="com::sun::star::container">XChild</type> interface, whose
+ <member scope="com::sun::star::container">XChild::getParent</member> 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 <member scope="com::sun::star::ucb">XCommandProcessor::execute</member> 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 <type scope="com::sun::star::ucb::">XDynamicResultSet</type>
+ 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
+ <method scope="com.sun.star.lang">XMultiServiceFactory::createInstanceWithArguments()</method>
+ ) 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
diff --git a/offapi/com/sun/star/sdb/DocumentDataSource.idl b/offapi/com/sun/star/sdb/DocumentDataSource.idl
new file mode 100644
index 000000000000..818d7645b2a0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDataSource.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DocumentDataSource_idl__
+#define __com_sun_star_sdb_DocumentDataSource_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#ifndef __com_sun_star_sdb_XDocumentDataSource_idl__
+#include <com/sun/star/sdb/XDocumentDataSource.idl>
+#endif
+#ifndef __com_sun_star_sdb_DataSource_idl__
+#include <com/sun/star/sdb/DataSource.idl>
+#endif
+//=============================================================================
+
+ 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
+
+
diff --git a/offapi/com/sun/star/sdb/DocumentDefinition.idl b/offapi/com/sun/star/sdb/DocumentDefinition.idl
new file mode 100644
index 000000000000..c8f07fb69a18
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDefinition.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DocumentDefinition2_idl__
+#define __com_sun_star_sdb_DocumentDefinition2_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_sdb_DefinitionContent_idl__
+#include <com/sun/star/sdb/DefinitionContent.idl>
+#endif
+
+module com { module sun { module star { module sdb {
+
+ interface XSubDocument;
+
+/** specifies a sub document of a <type>OfficeDatabaseDocument</type>.
+
+ <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 <type scope="com::sun::star::frame">XModel</type> 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 <member scope="com::sun::star::ucb">XCommandProcessor::execute</member> 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
+ <type scope="com::sun::star::document">XDocumentInfo</type> 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 vetos 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
diff --git a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
new file mode 100644
index 000000000000..f3a90b4f467f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_DocumentSaveRequest_idl__
+#define __com_sun_star_sdb_DocumentSaveRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+//=============================================================================
+
+ 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.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
+
diff --git a/offapi/com/sun/star/sdb/ErrorCondition.idl b/offapi/com/sun/star/sdb/ErrorCondition.idl
new file mode 100644
index 000000000000..5336d05d52c1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorCondition.idl
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 (<member scope="com::sun::star::sdbc">SQLException::ErrorCode</member>)
+ whereever 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
+ <type>ErrorCondition</type> 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>
+
+ @example Java
+ <listing>
+ catch ( SQLException e )
+ {
+ &nbsp;&nbsp;if ( e.Message.startsWith( "[OOoBase]" ) )
+ &nbsp;&nbsp;&nbsp;&nbsp;if ( e.ErrorCode + ErrorCondition.SOME_ERROR_CONDITION == 0 )
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handleSomeErrorCondition();
+ }
+ </listing>
+ */
+constants ErrorCondition
+{
+ // ========================================================================
+ // = section ROW_SET - css.sdb.RowSet related error conditions
+
+ /** is used by and <type>RowSet</type> to indicate that an operation has been vetoed
+ by one of its approval listeners
+
+ <p>This error condition results in raising a <type>RowSetVetoException</type>.</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
+ <type>query1</type> 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 <q>MyProfile</q>, 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"</cdeo> with 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 ungracefull failing.</p>
+ */
+ const long DATA_CANNOT_SELECT_UNFILTERED = 550;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sdb/ErrorMessageDialog.idl b/offapi/com/sun/star/sdb/ErrorMessageDialog.idl
new file mode 100644
index 000000000000..07f3514a4ca8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorMessageDialog.idl
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_ErrorMessageDialog_idl__
+#define __com_sun_star_sdb_ErrorMessageDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+ <module scope="com.sun.star">
+ sdbc
+ </module>
+ ,
+ <module scope="com.sun.star">
+ sdbcx
+ </module>
+ and
+ <module scope="com.sun.star">
+ sdb
+ </module>
+ ,
+ they will - sooner or later - encounter
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ 's.
+ <br/>
+ These exceptions can be chained, so the information wrapped in one single
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ can be rather complex (e.g., every instance where such an exception is passing before it is finally caught, could
+ append a
+ <type scope="com::sun::star::sdb">SQLContext</type>
+ 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
+{
+ /** the title of the (dialog) window
+ */
+ [property] string Title;
+
+ /** parent window to use for the dialog
+ <p>
+ This property can't be set while the dialog is being displayed.
+ </p>
+ */
+ [property] com::sun::star::awt::XWindow ParentWindow;
+
+ /** is the exception displayed by the dialog
+ <p>
+ This should contain a
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ instance, or an instance
+ of any class derived from this exception.
+ </p>
+ <p>
+ This property can't be set while the dialog is being displayed.
+ </p>
+ */
+ [property] any SQLException;
+
+ /** specifies the URL to the help topic to associate with the dialog.
+
+ <p>If This URL is not empty, then the dialog will get a "Help" button, which
+ directs the user to the given help topic.</p>
+ */
+ [optional, property] string HelpURL;
+
+ /** allows access to the properties of the object
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows starting execution of the 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
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ .
+ </p>
+ <p>
+ You specify a parameter by passing one (or more)
+ <type scope="com::sun::star::beans">PropertyValue</type>
+ 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
+ <method scope="com::sun::star::beans">XPropertySet::setPropertyValue()
+ </method>
+ of the
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ 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/>
+ <type scope="com::sun::star::awt">XWindow</type>
+ describing the parent window to use for the dialog.
+ </li>
+ <li><b>SQLException</b><br/>
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ describing the error which is beeing displayed.<br/>
+ When initializing this value, you may use any derivative of
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ .
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sdb/Forms.idl b/offapi/com/sun/star/sdb/Forms.idl
new file mode 100644
index 000000000000..42d2f0dd3330
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Forms.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Forms_idl__
+#define __com_sun_star_sdb_Forms_idl__
+
+#ifndef __com_sun_star_sdb_DocumentContainer_idl__
+#include <com/sun/star/sdb/DocumentContainer.idl>
+#endif
+
+
+
+ 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
diff --git a/offapi/com/sun/star/sdb/InteractionHandler.idl b/offapi/com/sun/star/sdb/InteractionHandler.idl
new file mode 100644
index 000000000000..e76ef3d66f34
--- /dev/null
+++ b/offapi/com/sun/star/sdb/InteractionHandler.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope="com::sun::star::task">InteractionHandler</type>
+ 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 <type>DatabaseInteractionHandler</type>.
+*/
+published service InteractionHandler: com::sun::star::task::XInteractionHandler;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
new file mode 100644
index 000000000000..afbf45b192bb
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
@@ -0,0 +1,250 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_OfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_OfficeDatabaseDocument_idl__
+
+#ifndef __com_sun_star_document_OfficeDocument_idl__
+#include <com/sun/star/document/OfficeDocument.idl>
+#endif
+#ifndef __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl>
+#endif
+#ifndef __com_sun_star_document_XDocumentEventBroadcaster_idl__
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+#include <com/sun/star/script/provider/XScriptProviderSupplier.idl>
+#endif
+#ifndef __com_sun_star_frame_XLoadable_idl__
+#include <com/sun/star/frame/XLoadable.idl>
+#endif
+#ifndef __com_sun_star_util_XCloseable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+
+module com { module sun { module star { module sdb {
+
+/** specifies a 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 <type>DataSettings</type></li>
+ <li>The query settings defined in <type>DataSettings</type></li>
+ <li>All properties of the service <type>DataSource</type></li>
+ </ul></p>
+
+ @see com::sun::star::sdb::XOfficeDatabaseDocument
+ @see com::sun::star::document::OfficeDocument
+ @since OOo 2.0.0
+ */
+service OfficeDatabaseDocument
+{
+ /** specifies basic functionality of a document in OpenOffice.org
+
+ <p>Note that a database document actually does not support the <type scope="com::sun::star::view">XPrintable</type> interface.
+ The non-optional requirement of this interface in the <type scope="com::sun::star::document">OfficeDocument</type>
+ 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 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 <type>DatabaseDocument</type>
+ 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">
+ <thead>
+ <tr><td><strong>Event Name</strong></td>
+ <td><strong>broadcasted when</strong></td>
+ <td align="center"><strong>broadcasted synchronously</strong></td>
+ </tr>
+ </thead>
+ <tbody>
+ <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 succeeeded.</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 succeeeded.</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 succeeeded.</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 <quot>modified</quot> 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>
+ </tbody>
+ </table>
+ </p>
+
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::document::XDocumentEventBroadcaster;
+
+ /** implements life time control
+
+ <p>Whoever retrieves a <type>OfficeDatabaseDocument</type> 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 <member scope="com::sun::star::util">XCloseable::close</member>.</p>
+
+ <p>Since this can be done by multiple clients, every client is additionally required
+ to register itself as <type scope="com::sun::star::util">XCloseListener</type> 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
+
diff --git a/offapi/com/sun/star/sdb/OrderColumn.idl b/offapi/com/sun/star/sdb/OrderColumn.idl
new file mode 100644
index 000000000000..baaaa4ae1416
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OrderColumn.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_OrderColumn_idl__
+#define __com_sun_star_sdb_OrderColumn_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/sdb/ParametersRequest.idl b/offapi/com/sun/star/sdb/ParametersRequest.idl
new file mode 100644
index 000000000000..547c49e7fd4b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ParametersRequest.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ParametersRequest_idl__
+#define __com_sun_star_sdb_ParametersRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XConnection_idl__
+#include <com/sun/star/sdbc/XConnection.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::container">XIndexAccess</type>
+ have to
+ be property sets describing the respective parameter. For this, the objects have to support the
+ service <type scope="com::sun::star::sdbcx">Column</type>.
+ */
+ 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
diff --git a/offapi/com/sun/star/sdb/PreparedStatement.idl b/offapi/com/sun/star/sdb/PreparedStatement.idl
new file mode 100644
index 000000000000..1ff4883e12df
--- /dev/null
+++ b/offapi/com/sun/star/sdb/PreparedStatement.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_PreparedStatement_idl__
+#define __com_sun_star_sdb_PreparedStatement_idl__
+
+#ifndef __com_sun_star_sdbc_PreparedStatement_idl__
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ .
+ */
+published service PreparedStatement
+{
+ service com::sun::star::sdbc::PreparedStatement;
+
+
+ /** access to the resulting columns of the statement.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/Query.idl b/offapi/com/sun/star/sdb/Query.idl
new file mode 100644
index 000000000000..d5fbe5e3579c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Query.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Query_idl__
+#define __com_sun_star_sdb_Query_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+ published interface XRename;
+};};};};
+
+#ifndef __com_sun_star_sdb_DataSettings_idl__
+#include <com/sun/star/sdb/DataSettings.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_QueryDefinition_idl__
+#include <com/sun/star/sdb/QueryDefinition.idl>
+#endif
+
+ 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.
+ */
+ service com::sun::star::sdb::QueryDefinition;
+
+
+ /** 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
diff --git a/offapi/com/sun/star/sdb/QueryDefinition.idl b/offapi/com/sun/star/sdb/QueryDefinition.idl
new file mode 100644
index 000000000000..8c995a64aba2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDefinition.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_QueryDefinition_idl__
+#define __com_sun_star_sdb_QueryDefinition_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
+{
+
+ /** access to the owning database definition object.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** is the name of the definition.
+ */
+ [readonly, property] string Name;
+
+
+ /** 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
diff --git a/offapi/com/sun/star/sdb/QueryDescriptor.idl b/offapi/com/sun/star/sdb/QueryDescriptor.idl
new file mode 100644
index 000000000000..89845599c309
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDescriptor.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_QueryDescriptor_idl__
+#define __com_sun_star_sdb_QueryDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+};};};};
+
+#ifndef __com_sun_star_sdb_DataSettings_idl__
+#include <com/sun/star/sdb/DataSettings.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/QueryDesign.idl b/offapi/com/sun/star/sdb/QueryDesign.idl
new file mode 100644
index 000000000000..539961bd6a00
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDesign.idl
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_QueryDesign_idl__
+#define __com_sun_star_sdb_QueryDesign_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+#ifndef __com_sun_star_form_FormController_idl__
+#include <com/sun/star/form/FormController.idl>
+#endif
+
+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 criterias 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 <type scope="com::sun::star::sdbcx">XAlterView</type>
+ 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
+ <member>ActiveCommand</member> and <member>EscapeProcessing</member> 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 <type scope="com::sun::star::lang">XInitialization</type> interface,
+ which expects a sequence of objects being either <type scope="com::sun::star::beans">NamedValue</type>s or
+ <type scope="com::sun::star::beans">PropertyValue</type>s. The following parameters are supported at
+ initialization time:
+ <ul>
+ <li><b>Frame</b><br/>
+ has to be an <type scope="com::sun::star::frame">XFrame</type> 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 <type>DataSource</type> 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 ommitted 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 <member>CommandType::COMMAND</member>, 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><member>CommandType::QUERY</member> 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><member>CommandType::COMMAND</member> 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 <member>ActiveCommand</member> and <member>EscapeProcessing</member> properties
+ of the designer are updated.</li>
+
+ <li><member>CommandType::TABLE</member> 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 <member>CommandType::QUERY</member>.
+ </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
+ <member>CommandType::QUERY</member></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
+ <member>CommandType::COMMAND</member></li>
+
+ <li><b>CreateView</b><br/>
+ implies a <a href="#command_type">CommandType</a> of <member>CommandType::TABLE</member></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
diff --git a/offapi/com/sun/star/sdb/RelationDesign.idl b/offapi/com/sun/star/sdb/RelationDesign.idl
new file mode 100644
index 000000000000..7b69a335ae31
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RelationDesign.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_RelationDesign_idl__
+#define __com_sun_star_sdb_RelationDesign_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+#ifndef __com_sun_star_form_FormController_idl__
+#include <com/sun/star/form/FormController.idl>
+#endif
+
+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
+ <member scope="com::sun::star::lang">XInitialization::initialize</member>)
+ have to be instances of <type scope="com::sun::star::beans">PropertyValue</type>, where the
+ <member scope="com::sun::star::beans">PropertyValue::Name</member> member specifies what the parameter controls,
+ with the <member scope="com::sun::star::beans">PropertyValue::Value</member> member containing the value
+ to be used.<br>
+ Recognized parameters are:
+ <ul>
+ <li><b>Frame</b><br>
+ has to be an <type scope="com::sun::star::frame">XFrame</type> interface specifying the frame to plug the
+ RelationDesign component into.
+ </li>
+ <li><b>DataSourceName</b><br>
+ The name of the globally registered <type>DataSource</type> 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
diff --git a/offapi/com/sun/star/sdb/Reports.idl b/offapi/com/sun/star/sdb/Reports.idl
new file mode 100644
index 000000000000..0951768c231b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Reports.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Reports_idl__
+#define __com_sun_star_sdb_Reports_idl__
+
+#ifndef __com_sun_star_sdb_DocumentContainer_idl__
+#include <com/sun/star/sdb/DocumentContainer.idl>
+#endif
+
+
+
+ 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
diff --git a/offapi/com/sun/star/sdb/ResultColumn.idl b/offapi/com/sun/star/sdb/ResultColumn.idl
new file mode 100644
index 000000000000..1ba3d261bc6c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultColumn.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ResultColumn_idl__
+#define __com_sun_star_sdb_ResultColumn_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_ColumnSettings_idl__
+#include <com/sun/star/sdb/ColumnSettings.idl>
+#endif
+
+ 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
+ <method scope="com::sun::star::sdbc">XRow::getObject)=</method>
+ 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
diff --git a/offapi/com/sun/star/sdb/ResultSet.idl b/offapi/com/sun/star/sdb/ResultSet.idl
new file mode 100644
index 000000000000..2ca4e304ebcf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultSet.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_ResultSet_idl__
+#define __com_sun_star_sdb_ResultSet_idl__
+
+#ifndef __com_sun_star_sdbcx_ResultSet_idl__
+#include <com/sun/star/sdbcx/ResultSet.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ <type scope="com::sun::star::sdbcx">ResultSet</type>
+ 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
diff --git a/offapi/com/sun/star/sdb/RowChangeAction.idl b/offapi/com/sun/star/sdb/RowChangeAction.idl
new file mode 100644
index 000000000000..37ba3ff68910
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeAction.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdb/RowChangeEvent.idl b/offapi/com/sun/star/sdb/RowChangeEvent.idl
new file mode 100644
index 000000000000..a04eb97e0003
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeEvent.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_RowChangeEvent_idl__
+#define __com_sun_star_sdb_RowChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/RowSet.idl b/offapi/com/sun/star/sdb/RowSet.idl
new file mode 100644
index 000000000000..d52b6cf0cc39
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSet.idl
@@ -0,0 +1,400 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_RowSet_idl__
+#define __com_sun_star_sdb_RowSet_idl__
+
+#ifndef __com_sun_star_sdbc_RowSet_idl__
+#include <com/sun/star/sdbc/RowSet.idl>
+#endif
+
+module com { module sun { module star { module sdbc {
+published interface XConnection;
+};};};};
+
+#ifndef __com_sun_star_sdb_ResultSet_idl__
+#include <com/sun/star/sdb/ResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XCompletedExecution_idl__
+#include <com/sun/star/sdb/XCompletedExecution.idl>
+#endif
+
+ 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 rowset reader, who mustn't support SQL.
+ The connection of the rowset is typically a named DataSource or a DataAccess component
+ or a previous instanciated connection.
+ <p>
+ Depending on the
+ <type scope="com::sun::star::sdbc">ResultSetConcurrency</type>
+ , 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 it's
+ 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
+ <member>XRowSetApproveListener::approveCursorMove</member> or
+ <member>XRowSetApproveListener::approveRowChange</member> call.
+ @see XRowSetApproveListener
+ </td>
+ </tr>
+ <tr><td valign="top"><em>column values</em></td>
+ <td valign="top">If the opration 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
+ <member scope="com::sun::star::sdbc">XRowSetListener::cursorMoved</member> or a
+ <member scope="com::sun::star::sdbc">XRowSetListener::rowChanged</member> call or a
+ <member>XRowsChangeListener::rowsChanged</member> 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 <member>IsModified</member>
+ and/or <member>IsNew</member> 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 <member>RowCount</member> and <member>IsRowCountFinal</member>
+ 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><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><type scope="com::sun::star::sdbc">XResultSet</type></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 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>
+ <tr><td align="right"><em>beforeFirst</em></td><td align="center">X</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/><td/></tr>
+ <tr><td align="right"><em>afterLast</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>first</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>last</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>absolute</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>relative</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>previous</em></td><td align="center">X</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></tr>
+ <tr><td align="right"><em>refreshRow</em></td><td/><td/><td align="center">X</td><td/><td/><td/><td align="center">X</td><td align="center">X</td><td/><td/></tr>
+ <tr><td align="right"><em>cancelRowUpdates</em></td><td/><td/><td align="center">X</td><td/><td/><td/><td align="center">X</td><td/><td/><td/></tr>
+
+ <tr><td><type scope="com::sun::star::sdbc">XResultSetUpdate</type></td><td/><td/><td/><td/><td/><td/><td/><td/></tr>
+
+ <tr><td align="right"><em>insertRow</em></td><td/><td align="center">X</td><td align="center">X</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 align="center">X</td><td align="center">X</td><td/><td align="center">X</td><td align="center">X</td><td align="center">X</td><td/><td/><td/></tr>
+ <tr><td align="right"><em>deleteRow</em></td><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>moveToInsertRow</em></td><td align="center">X</td><td/><td align="center">X</td><td align="center">X</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 align="center">X</td><td/><td/><td align="center">X</td><td align="center">X</td><td/><td/></tr>
+
+ <tr><td><type scope="com::sun::star::sdbcx">XDeleteRows</type></td><td/><td/><td/><td/><td/><td/><td/><td/></tr>
+
+ <tr><td align="right"><em>deleteRows</em></td><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><type scope="com::sun::star::sdbcx">XRowLocate</type></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 align="center">X</td><td align="center">X</td><td/><td/><td align="center">X</td><td align="center">X</td><td/><td/></tr>
+ <tr><td align="right"><em>moveRelativeToBookmark</em></td><td align="center">X</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></tr>
+
+ </tr>
+ </table>
+ </p>
+
+ <h3>Deletions</h3>
+ <p>Via <member scope="com::sun::star::sdbc">XResultSetUpdate::deleteRow</member>, you can delete the current row of a
+ <type>RowSet</type>. This deleted row then doesn't vanish immediately, but is still present, and subsequent calls to
+ <member scope="com::sun::star::sdbc">XResultSet::rowDeleted</member> will return <TRUE/>. The deleted row "vanishes" from
+ the <type>RowSet</type> as soon as the cursor is moved away from it.<br/>
+ As a consequence, the behaviour of several other methods is affected:<br/>
+ <dl>
+ <dt><member scope="com::sun::star::sdbc">XResultSet::getRow</member></dt>
+ <dd>returns the position of the cursor, which has not been changed by the deletion.</dd>
+
+ <dt><type scope="com::sun::star::sdbc">XResultSet</type>: <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 <member>RowCount</member>
+ 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 <type>RowSet</type> afterwards
+ still is on row 15, since the deleted row vanished with the move operation.</dd>
+
+ <dt><member scope="com::sun::star::sdbc">XResultSet::refreshRow</member></dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt><type scope="com::sun::star::sdbc">XRow</type>: <code>getFoo</code></dt>
+ <dd>will return an empty value when the cursor is on a deleted row.</dd>
+
+ <dt><member scope="com::sun::star::sdbcx">XRowLocate::getBookmark</member></dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt><type scope="com::sun::star::sdbc">XRowUpdate</type>: <code>updateFoo</code></dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt><member scope="com::sun::star::sdbc">XResultSetUpdate::deleteRow</member></dt>
+ <dd>will throw an exception when the cursor is on a deleted row.</dd>
+
+ <dt><member scope="com::sun::star::sdbc">XResultSetUpdate::moveToInsertRow</member></dt>
+ <dd>will let the deleted row vanish from the result set. As a consequence, the <member>RowCount</member>
+ will decrease. Also, subsequent calls to
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::moveToCurrentRow</member> 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 a execute process.
+
+ <p>If you want a row set to be based on a parametrized query, you will usually use
+ the <type scope="com::sun::star::sdbc">XParameters</type> interface.<br/>
+ However, you can also choose to let an interaction handler supply such data. For this, you may
+ for instance instantiate an <type>InteractionHandler</type>, 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 <type scope="com::sun::star::sdbc">XParameters</type> interface.</p>
+
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ interface com::sun::star::sdb::XCompletedExecution;
+
+ /** approving of actions performed on the rowset.
+
+ <p>The support of this interface implies a sematical extension to the <type scope="com::sun::star::sdbc">XResultSetUpdate</type>
+ interface which is supported via the <type scope="com::sun::star::sdbc">ResultSet</type>.</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 <type scope="com::sun::star::sdbc">ResultSet</type> service.</p>
+
+ <p>However, note that the additional support of the <type>XRowSetApproveBroadcaster</type> interface results
+ in a sematical extension: the methods <member scope="com::sun::star::sdbc">XResultSetUpdate::insertRow</member>,
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::updateRow</member> and <member scope="com::sun::star::sdbc">XResultSetUpdate::deleteRow</member>
+ will now throw the <type>RowSetVetoException</type> if the action which is to be performed was vetoed
+ by one of the <type>XRowSetApproveListener</type>'s.</p>
+ */
+ [optional] interface com::sun::star::sdbc::XResultSetUpdate;
+
+ /** is the interface for deleting more than one row, identified by it's bookmark.
+
+ <p>The optional support of this interface is already implied with the support of the <type scope="com::sun::star::sdbcx">ResultSet</type> service.</p>
+
+ <p>However, note that the additional support of the <type>XRowSetApproveBroadcaster</type> interface results
+ in a sematical extension: the method <member scope="com::sun::star::sdbcx">XDeleteRows::deleteRows</member>
+ will now throw the <type>RowSetVetoException</type> if the deletion was vetoed
+ by one of the <type>XRowSetApproveListener</type>'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 <member>Filter</member> or <member>Order</member> 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 <type scope="com::sun::star::sdbc">XParameters</type> interface inherited from
+ <type scope="com::sun::star::sdbc">RowSet</type>). 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 <member>CommandType</member> of <member>CommandType::COMMAND</member>,
+ means in case the <member>Command</member> specifies an SQL statement, the inherited
+ <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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 <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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 rowset.
+ */
+ [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 a additional sort order definition for a rowset.
+ */
+ [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 a the data source.
+ */
+ [readonly, property] long RowCount;
+
+
+ /** indicates that all rows of te 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
diff --git a/offapi/com/sun/star/sdb/RowSetVetoException.idl b/offapi/com/sun/star/sdb/RowSetVetoException.idl
new file mode 100644
index 000000000000..66d27428f4c6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSetVetoException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_RowSetVetoException_idl__
+#define __com_sun_star_sdb_RowSetVetoException_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** is an exception fired whenever a rowset 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
diff --git a/offapi/com/sun/star/sdb/RowsChangeEvent.idl b/offapi/com/sun/star/sdb/RowsChangeEvent.idl
new file mode 100644
index 000000000000..90bb50f4bf84
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowsChangeEvent.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: RowsChangeEvent.idl,v $
+ * $Revision: 1.9 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdb/SQLContext.idl b/offapi/com/sun/star/sdb/SQLContext.idl
new file mode 100644
index 000000000000..1cf7d389d56f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLContext.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_SQLContext_idl__
+#define __com_sun_star_sdb_SQLContext_idl__
+
+#ifndef __com_sun_star_sdbc_SQLWarning_idl__
+#include <com/sun/star/sdbc/SQLWarning.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides special information about the context where a
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ occured.
+ 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
+
+/*===========================================================================
+===========================================================================*/
diff --git a/offapi/com/sun/star/sdb/SQLErrorEvent.idl b/offapi/com/sun/star/sdb/SQLErrorEvent.idl
new file mode 100644
index 000000000000..2be91d65a3dd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLErrorEvent.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_SQLErrorEvent_idl__
+#define __com_sun_star_sdb_SQLErrorEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/sdb/SQLFilterOperator.idl b/offapi/com/sun/star/sdb/SQLFilterOperator.idl
new file mode 100644
index 000000000000..e8aa55694462
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLFilterOperator.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <method>XSingleSelectQueryComposer::setStructuredFilter</method>.
+
+ @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 eqal than
+ const long LESS_EQUAL = 5;
+
+ /// greater or eqal 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
diff --git a/offapi/com/sun/star/sdb/SQLQueryComposer.idl b/offapi/com/sun/star/sdb/SQLQueryComposer.idl
new file mode 100644
index 000000000000..440011d8611a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLQueryComposer.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_SQLQueryComposer_idl__
+#define __com_sun_star_sdb_SQLQueryComposer_idl__
+
+#ifndef __com_sun_star_sdb_XSQLQueryComposer_idl__
+#include <com/sun/star/sdb/XSQLQueryComposer.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000000..160e537c3e89
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
+
+#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl>
+#endif
+
+ 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 <type>SingleSelectQueryAnalyzer</type>.</p>
+
+ <p>In this case, the name container returned by <member scope="com::sun::star::sdbcx">XTablesSupplier::getTables</member>
+ will in fact not return a <type>Table</type>, but a <type>Query</type> 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
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl
new file mode 100644
index 000000000000..73a5ed241243
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_SingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryComposer_idl__
+
+#ifndef __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
+#include <com/sun/star/sdb/SingleSelectQueryAnalyzer.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+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 <type scope="com::sun::star::sdb">SingleSelectQueryAnalyzer</type>.
+ </p>
+
+ <p>A <type>SingleSelectQueryComposer</type> is usually obtained from a <type>Connection</type>
+ using the <type scope="com::sun::star::lang">XMultiServiceFactory</type> 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 orignal SQL statement set with the interface <type scope="com::sun::star::sdb">XSingleSelectQueryAnalyzer</type>.
+ */
+ [readonly, property] string Original;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/Table.idl b/offapi/com/sun/star/sdb/Table.idl
new file mode 100644
index 000000000000..71d4865db809
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Table.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_Table_idl__
+#define __com_sun_star_sdb_Table_idl__
+
+#ifndef __com_sun_star_sdbcx_Table_idl__
+#include <com/sun/star/sdbcx/Table.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_DataSettings_idl__
+#include <com/sun/star/sdb/DataSettings.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ <type scope="com::sun::star::sdbcx">Table</type>
+ with additional display information, sorting, and filtering criterias.
+ */
+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
diff --git a/offapi/com/sun/star/sdb/TableDescriptor.idl b/offapi/com/sun/star/sdb/TableDescriptor.idl
new file mode 100644
index 000000000000..99fc7a056e36
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDescriptor.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_TableDescriptor_idl__
+#define __com_sun_star_sdb_TableDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_TableDescriptor_idl__
+#include <com/sun/star/sdbcx/TableDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_DataSettings_idl__
+#include <com/sun/star/sdb/DataSettings.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ <type scope="com::sun::star::sdbcx">TableDescriptor</type>
+ with additional display informations, 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
diff --git a/offapi/com/sun/star/sdb/TableDesign.idl b/offapi/com/sun/star/sdb/TableDesign.idl
new file mode 100644
index 000000000000..a9ca8702f00b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDesign.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_TableDesign_idl__
+#define __com_sun_star_sdb_TableDesign_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+#ifndef __com_sun_star_form_FormController_idl__
+#include <com/sun/star/form/FormController.idl>
+#endif
+
+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
+ <member scope="com::sun::star::lang">XInitialization::initialize</member>)
+ have to be instances of <type scope="com::sun::star::beans">PropertyValue</type>, where the
+ <member scope="com::sun::star::beans">PropertyValue::Name</member> member specifies what the parameter controls,
+ with the <member scope="com::sun::star::beans">PropertyValue::Value</member> member containing the value
+ to be used.<br>
+ Recognized parameters are:
+ <ul>
+ <li><b>Frame</b><br>
+ has to be an <type scope="com::sun::star::frame">XFrame</type> interface specifying the frame to plug the
+ TableDesign component into.
+ </li>
+ <li><b>DataSourceName</b><br>
+ The name of the globally registered <type>DataSource</type> 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
diff --git a/offapi/com/sun/star/sdb/XAlterQuery.idl b/offapi/com/sun/star/sdb/XAlterQuery.idl
new file mode 100644
index 000000000000..39d328d68074
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XAlterQuery.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XAlterQuery_idl__
+#define __com_sun_star_sdb_XAlterQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XBookmarksSupplier.idl b/offapi/com/sun/star/sdb/XBookmarksSupplier.idl
new file mode 100644
index 000000000000..fdb0e8adc7e0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XBookmarksSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XBookmarksSupplier_idl__
+#define __com_sun_star_sdb_XBookmarksSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XColumn.idl b/offapi/com/sun/star/sdb/XColumn.idl
new file mode 100644
index 000000000000..7cb25c0e78dd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumn.idl
@@ -0,0 +1,304 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XColumn_idl__
+#define __com_sun_star_sdb_XColumn_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::io">XInputStream::available()</member>
+ 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
+ <member scope="com::sun::star::io">XInputStream::available()</member>
+ 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
diff --git a/offapi/com/sun/star/sdb/XColumnUpdate.idl b/offapi/com/sun/star/sdb/XColumnUpdate.idl
new file mode 100644
index 000000000000..cecad2439698
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumnUpdate.idl
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XColumnUpdate_idl__
+#define __com_sun_star_sdb_XColumnUpdate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ 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
+ @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
diff --git a/offapi/com/sun/star/sdb/XCommandPreparation.idl b/offapi/com/sun/star/sdb/XCommandPreparation.idl
new file mode 100644
index 000000000000..25bed38357cd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCommandPreparation.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XCommandPreparation_idl__
+#define __com_sun_star_sdb_XCommandPreparation_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ 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
+ <type scope="com::sun::star::sdb">CommandType</type>
+ @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
diff --git a/offapi/com/sun/star/sdb/XCompletedConnection.idl b/offapi/com/sun/star/sdb/XCompletedConnection.idl
new file mode 100644
index 000000000000..c40a4069c092
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedConnection.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XCompletedConnection_idl__
+#define __com_sun_star_sdb_XCompletedConnection_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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 it's 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
diff --git a/offapi/com/sun/star/sdb/XCompletedExecution.idl b/offapi/com/sun/star/sdb/XCompletedExecution.idl
new file mode 100644
index 000000000000..395598e1e70e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedExecution.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XCompletedExecution_idl__
+#define __com_sun_star_sdb_XCompletedExecution_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl
new file mode 100644
index 000000000000..76680df46bec
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_XDataAccessDescriptorFactory_idl__
+#define __com_sun_star_sdb_XDataAccessDescriptorFactory_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataAccessDescriptor</type> which supports all properties
+ defined for this service, even if they're normally optional only.
+ */
+ ::com::sun::star::beans::XPropertySet
+ createDataAccessDescriptor();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccess.idl b/offapi/com/sun/star/sdb/XDatabaseAccess.idl
new file mode 100644
index 000000000000..9339d3efcac1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccess.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XDatabaseAccess_idl__
+#define __com_sun_star_sdb_XDatabaseAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XDataSource_idl__
+#include <com/sun/star/sdbc/XDataSource.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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);
+ [oneway] void addDatabaseAccessListener([in]XDatabaseAccessListener listener);
+ [oneway] void removeDatabaseAccessListener([in]XDatabaseAccessListener listener);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl
new file mode 100644
index 000000000000..6826d9354a29
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XDatabaseAccessListener_idl__
+#define __com_sun_star_sdb_XDatabaseAccessListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** is not to be used anymore
+ @deprecated
+ */
+published interface XDatabaseAccessListener: com::sun::star::lang::XEventListener
+{
+ [oneway] void connectionChanged([in]com::sun::star::lang::EventObject event);
+ boolean approveConnectionClosing([in]com::sun::star::lang::EventObject event);
+ [oneway] void connectionClosing([in]com::sun::star::lang::EventObject event);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl
new file mode 100644
index 000000000000..bf244d52c0ba
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XDatabaseEnvironment_idl__
+#define __com_sun_star_sdb_XDatabaseEnvironment_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XDriverManager_idl__
+#include <com/sun/star/sdbc/XDriverManager.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
new file mode 100644
index 000000000000..81f878d2441d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 {
+
+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 OpenOffice.org 3.3
+ */
+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
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
new file mode 100644
index 000000000000..57135f8de012
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 OpenOffice.org 3.3
+ */
+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 a 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
+ <member>XDatabaseRegistrations::changeDatabaseLocation</member> are reported here.</p>
+ */
+ void changedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sdb/XDocumentDataSource.idl b/offapi/com/sun/star/sdb/XDocumentDataSource.idl
new file mode 100644
index 000000000000..b0e891b0a084
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDocumentDataSource.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XDocumentDataSource_idl__
+#define __com_sun_star_sdb_XDocumentDataSource_idl__
+
+#ifndef __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>OfficeDatabaseDocument</type>
+ which the data source is based on.
+
+ <p>The component returned by this attribute is an <type>OfficeDatabaseDocument</type>.</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 <member scope="com::sun::star::util">XCloseable::close</member>
+ 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 <type scope="com::sun::star::util">XCloseListener</type> to the document,
+ to prevent closing as long as the processing lasts.</p>
+ */
+ [readonly, attribute] XOfficeDatabaseDocument DatabaseDocument;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl
new file mode 100644
index 000000000000..672505bc12ad
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XFormDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XFormDocumentsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
new file mode 100644
index 000000000000..e4de2af39d98
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XInteractionDocumentSave_idl__
+#define __com_sun_star_sdb_XInteractionDocumentSave_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+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
+ <type scope="com::sun::star::sdb">DocumentSaveRequest</type>.
+ </p>
+ @since OOo 2.0.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
diff --git a/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl
new file mode 100644
index 000000000000..56bed78ff8fe
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XInteractionSupplyParameters_idl__
+#define __com_sun_star_sdb_XInteractionSupplyParameters_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+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
+ <type scope="com::sun::star::sdb">ParametersRequest</type>.
+ </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
diff --git a/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
new file mode 100644
index 000000000000..b2640704537c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+
+#ifndef __com_sun_star_sdb_XFormDocumentsSupplier_idl__
+#include <com/sun/star/sdb/XFormDocumentsSupplier.idl>
+#endif
+#ifndef __com_sun_star_sdb_XReportDocumentsSupplier_idl__
+#include <com/sun/star/sdb/XReportDocumentsSupplier.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XDataSource_idl__
+#include <com/sun/star/sdbc/XDataSource.idl>
+#endif
+#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataSource</type>
+ associated with this document
+ */
+ [readonly, attribute] com::sun::star::sdbc::XDataSource DataSource;
+};
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XParametersSupplier.idl b/offapi/com/sun/star/sdb/XParametersSupplier.idl
new file mode 100644
index 000000000000..c5179eb02d7e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XParametersSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XParametersSupplier_idl__
+#define __com_sun_star_sdb_XParametersSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XQueriesSupplier.idl b/offapi/com/sun/star/sdb/XQueriesSupplier.idl
new file mode 100644
index 000000000000..a447b8fa598c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueriesSupplier.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XQueriesSupplier_idl__
+#define __com_sun_star_sdb_XQueriesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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 <type>Query</type> service.</p>
+
+ @return
+ the queries belonging to database connection at which the <type>XQueriesSupplier</type> interface
+ is exposed.
+ */
+ com::sun::star::container::XNameAccess getQueries();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl
new file mode 100644
index 000000000000..e56d2fbafa56
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XQueryDefinitionsSupplier_idl__
+#define __com_sun_star_sdb_XQueryDefinitionsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl
new file mode 100644
index 000000000000..d7b15fbc0018
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XReportDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XReportDocumentsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdb/XResultSetAccess.idl b/offapi/com/sun/star/sdb/XResultSetAccess.idl
new file mode 100644
index 000000000000..a0c388e9374a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XResultSetAccess.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XResultSetAccess_idl__
+#define __com_sun_star_sdb_XResultSetAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ based on the object providing the interface.
+ */
+published interface XResultSetAccess: com::sun::star::uno::XInterface
+{
+
+ /** returns a new
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ based on the object.
+ @returns
+ the new created ResultSet object
+ */
+ com::sun::star::sdbc::XResultSet createResultSet() raises (com::sun::star::sdbc::SQLException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
new file mode 100644
index 000000000000..76a6251d1d39
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XRowSetApproveBroadcaster_idl__
+#define __com_sun_star_sdb_XRowSetApproveBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+ published interface XRowSetApproveListener;
+
+
+/** provides the possibility of reviving an event before changing the content
+ of a rowset.
+ */
+published interface XRowSetApproveBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the events "approveCursorMove",
+ "approveRowChange", and "appproveRowSetChange".
+ @param com::sun::star::sdb::XRowSetApproveListener
+ */
+ [oneway] void addRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+ @param com::sun::star::sdb::XRowSetApproveListener
+ */
+ [oneway] void removeRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveListener.idl b/offapi/com/sun/star/sdb/XRowSetApproveListener.idl
new file mode 100644
index 000000000000..04d06b90fb56
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveListener.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XRowSetApproveListener_idl__
+#define __com_sun_star_sdb_XRowSetApproveListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_RowChangeEvent_idl__
+#include <com/sun/star/sdb/RowChangeEvent.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for approving the moving and changing of rowset actions.
+ */
+published interface XRowSetApproveListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called before a rowset's cursor is moved.
+ @param event
+ the event which happend
+ @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 happend
+ @returns <TRUE/> when changing is allowed, otherwise <FALSE/>
+ */
+ boolean approveRowChange([in]RowChangeEvent event);
+ //-------------------------------------------------------------------------
+
+ /** is called before a rowset is changed, or in other words
+ before a rowset is reexecuted.
+ @param event
+ the event which happend
+ @returns <TRUE/> when changing is allowed, otherwise <FALSE/>
+ */
+ boolean approveRowSetChange([in]com::sun::star::lang::EventObject event);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
new file mode 100644
index 000000000000..9ffe9cc53ecf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 i_Listener );
+
+ /** removes a previously added listener.
+ */
+ void removeRowSetChangeListener( [in] XRowSetChangeListener i_Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeListener.idl b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl
new file mode 100644
index 000000000000..eeab25471f05
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 <type>XRowSetSupplier</type> 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 <type>XRowSetSupplier</type>
+ has changed.
+ */
+ [oneway] void onRowSetChanged( [in] ::com::sun::star::lang::EventObject i_Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/sdb/XRowSetSupplier.idl b/offapi/com/sun/star/sdb/XRowSetSupplier.idl
new file mode 100644
index 000000000000..7c7e2ab9ec42
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetSupplier.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XRowSetSupplier_idl__
+#define __com_sun_star_sdb_XRowSetSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XRowSet_idl__
+#include <com/sun/star/sdbc/XRowSet.idl>
+#endif
+
+ 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
+ */
+ [oneway] void setRowSet( [in] com::sun::star::sdbc::XRowSet xDataSource );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+/*===========================================================================
+===========================================================================*/
diff --git a/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
new file mode 100644
index 000000000000..feb8191c44d9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2008 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: code,v $
+*
+* $Revision: 1.3 $
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/sdb/XRowsChangeListener.idl b/offapi/com/sun/star/sdb/XRowsChangeListener.idl
new file mode 100644
index 000000000000..995636e95e3f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XRowsChangeListener.idl,v $
+ * $Revision: 1.11 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XRowsChangeListener_idl__
+#define __com_sun_star_sdb_XRowsChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#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 rowset.
+ */
+interface XRowsChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when rows are inserted, updated, or deleted.
+ @param event
+ contains information about the event
+ */
+ [oneway] void rowsChanged([in]com::sun::star::sdb::RowsChangeEvent event);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl
new file mode 100644
index 000000000000..2583428ba6ee
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSQLErrorBroadcaster_idl__
+#define __com_sun_star_sdb_XSQLErrorBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XSQLErrorListener_idl__
+#include <com/sun/star/sdb/XSQLErrorListener.idl>
+#endif
+
+ module com { module sun { module star { module sdb {
+
+
+/** interface for notifying potential listeners
+ of
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ s posted by any database object.
+ */
+published interface XSQLErrorBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the event "errorOccured"
+ @param com::sun::star::sdb::XSQLErrorListener
+ */
+ [oneway] void addSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+ @param com::sun::star::sdb::XSQLErrorListener
+ */
+ [oneway] void removeSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+/*===========================================================================
+===========================================================================*/
diff --git a/offapi/com/sun/star/sdb/XSQLErrorListener.idl b/offapi/com/sun/star/sdb/XSQLErrorListener.idl
new file mode 100644
index 000000000000..109e9b5043e1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorListener.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSQLErrorListener_idl__
+#define __com_sun_star_sdb_XSQLErrorListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_SQLErrorEvent_idl__
+#include <com/sun/star/sdb/SQLErrorEvent.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ is thrown to the application.
+ @param aEvent
+ the event which occured
+ */
+ void errorOccured([in]com::sun::star::sdb::SQLErrorEvent aEvent);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposer.idl b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
new file mode 100644
index 000000000000..bdfd321c2b09
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSQLQueryComposer_idl__
+#define __com_sun_star_sdb_XSQLQueryComposer_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+//=============================================================================
+
+ 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 criterias.
+ @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 criterias. 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
+ <type scope="com::sun::star::sdb">DataColumn</type>
+ 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 a 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 possibile 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
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl
new file mode 100644
index 000000000000..1382966f264c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSQLQueryComposerFactory_idl__
+#define __com_sun_star_sdb_XSQLQueryComposerFactory_idl__
+
+#ifndef __com_sun_star_sdb_XSQLQueryComposer_idl__
+#include <com/sun/star/sdb/XSQLQueryComposer.idl>
+#endif
+
+//=============================================================================
+ module com { module sun { module star { module sdb {
+
+//=============================================================================
+
+/** is a factory for instances of service
+ <type scope="com::sun::star::sdb">SQLQueryComposer</type>
+ .
+ */
+published interface XSQLQueryComposerFactory: com::sun::star::uno::XInterface
+{
+
+ /** creates a new query composer.
+ @returns
+ the SQLQueryComposer object
+ */
+ com::sun::star::sdb::XSQLQueryComposer createQueryComposer();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000000..96041b71e86b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
@@ -0,0 +1,262 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+module com { module sun { module star { module container {
+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 criterias. 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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+ </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 form the GROUP BY clause.
+ </p>
+ @returns
+ a collection of <type scope="com::sun::star::sdb">GroupColumn</type> 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 criterias. 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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+ </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 <type scope="com::sun::star::sdb">OrderColumn</type> 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 <type>XSingleSelectQueryAnalyzer</type> 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 <type>SingleSelectQueryAnalyzer</type> at the <type>Connection</type> 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 <member>getQueryWithSubstitution</member>, 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 <member>CommandType</member> of <member>CommandType::COMMAND</member>,
+ means in case the <member>Command</member> specifies an SQL statement, the inherited
+ <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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 <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
+ 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
+
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
new file mode 100644
index 000000000000..ad609262ecbe
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
@@ -0,0 +1,274 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdb_XSingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryComposer_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl>
+#endif
+
+//=============================================================================
+
+ 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 parseable.
+ */
+ 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 criterias. 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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+
+ @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
+ <type scope="com::sun::star::sdb">DataColumn</type>
+ providing the name and the value for the filter.
+ The value property must be supported by the <type scope="com::sun::star::sdb">DataColumn</type>.
+ @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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+ @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);
+
+ //-------------------------------------------------------------------------
+ // GROUP BY
+ //-------------------------------------------------------------------------
+
+
+ /** makes it possibile 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 parseable..
+ */
+ 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 <type scope="com::sun::star::sdbcx">Column</type>.
+ @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 parseable.
+ */
+ 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 criterias. 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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+
+ @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
+ <type scope="com::sun::star::sdb">DataColumn</type>
+ 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 <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
+ @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);
+
+ //-------------------------------------------------------------------------
+ // ORDER BY
+ //-------------------------------------------------------------------------
+
+ /** makes it possibile 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 parseable.
+ */
+ 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 <type scope="com::sun::star::sdbcx">Column</type>.
+ @param column
+ the column which is used to create a 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);
+
+ //-------------------------------------------------------------------------
+ // culmulative 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
+ <member>XSingleSelectQueryAnalyzer::getFilter</member> will not return you this
+ filter. Instead, only filters which have been set using for instance <member>setFilter</member>
+ are covered by the get methods.</p>
+
+ <p>The only methods which take all parts of the elementary statement into account are
+ <member>XSingleSelectQueryAnalyzer::getQuery</member> and
+ <member>XSingleSelectQueryAnalyzer::getQueryWithSubstitution</member>, which always returns
+ the complete composed query.</p>
+
+ <p>As a result, you can use the composer to build culmulative filter expressions. That
+ is, you can set <member>ElementaryQuery</member> to a statement already containing
+ filters, and then use <member>setFilter</member> 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 <type>QueryDefinition</type>, and extend it with additional
+ filters or sort orders, while not touching the respective parts already present
+ in <member>QueryDefinition::Command</member>. This can be achieved by setting the
+ <member>QueryDefinition::Command</member> as <member>ElementaryQuery</member> of a
+ <type>SingleSelectQueryComposer</type>.</p>
+
+ <p>If, in such a scenario, you would be interested in the filter part of the
+ <member>QueryDefinition::Command</member>, you would set it via
+ <member>XSingleSelectQueryAnalyzer::setQuery</member>, and retrieve the filter
+ part via <member>XSingleSelectQueryAnalyzer::getFilter</member>.</p>
+
+ <p>If you'd be interested in the composed filter, you would set the
+ <member>QueryDefinition::Command</member> as <member>ElementaryQuery</member>, add your
+ filter, and propagate the resulting query (<member>XSingleSelectQueryAnalyzer::getQuery</member>)
+ to an <type>SingleSelectQueryAnalyzer</type> instance via
+ <member>XSingleSelectQueryAnalyzer::setQuery</member>.</p>
+ */
+ [attribute] string ElementaryQuery
+ {
+ set raises (com::sun::star::sdbc::SQLException);
+ };
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/offapi/com/sun/star/sdb/XSubDocument.idl b/offapi/com/sun/star/sdb/XSubDocument.idl
new file mode 100644
index 000000000000..0592c6cffa0a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSubDocument.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 <type>OfficeDatabaseDocument</type>
+
+ @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 an <type scope="com::sun::star::frame">XModel</type>,
+ or an <type scope="com::sun::star::frame">XController</type> if the sub document
+ does not have an own model.
+
+ @raises ::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 an <type scope="com::sun::star::frame">XModel</type>,
+ or an <type scope="com::sun::star::frame">XController</type> if the sub document
+ does not have an own model.
+
+ @raises ::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
+
+ @raises ::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.
+
+ @raises ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during closing the document
+ */
+ boolean close()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..7b8bad2cc841
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableContinuation.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>CopyTableWizard</type> 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 <type>XCopyTableListener</type> 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 cancelling the copy
+ operation.</p>
+ */
+ const short AskUser = 3;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..d4c9f3870b4b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableOperation.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>CopyTableWizard</type>
+ 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
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 000000000000..9a9fc8761d02
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_CopyTableRowEvent_idl__
+#define __com_sun_star_sdb_application_CopyTableRowEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XCopyTableListener</type>,
+ <member scope="com::sun::star::lang">EventObject::Source</member> 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 <type scope="com::sun::star::sdbc">SQLException</type>.</p>
+ */
+ any Error;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..f294c9f69d2c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableWizard.idl
@@ -0,0 +1,231 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_CopyTableWizard_idl__
+#define __com_sun_star_sdb_application_CopyTableWizard_idl__
+
+#ifndef __com_sun_star_sdb_application_XCopyTableWizard_idl__
+#include <com/sun/star/sdb/application/XCopyTableWizard.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+//=============================================================================
+
+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.
+
+ <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
+ <member>createWithInteractionHandler</member> 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 <member>createWithInteractionHandler</member>. Only if there is no such interaction
+ handler, the processing described above, to find another handler, is applied.</p>
+ </dd>
+
+ @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 <arg>Source</arg> resp. <arg>Dest</arg>. 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <member scope="com::sun::star::sdb">CommandType::TABLE</member> and
+ <member scope="com::sun::star::sdb">CommandType::QUERY</member> are supported.</li>
+
+ <li>If you specify a <code>ConnectionResource</code>, or an
+ <code>ActiveConnection</code> which implements an <type scope="com::sun::star::sdbc">Connection</type> only
+ (as opposed to a <type scope="com::sun::star::sdb">Connection</type>), 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <type scope="com::sun::star::sdb">Connection</type> service. In particular,
+ it is not sufficient to pass an SDBC-level connection.</p>
+
+ <p>Note that creating a view (see <member>CopyTableOperation::CreateAsView</member>) 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 an <type scope="com::sun::star::sdbc">SQLException</type> 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 <member>create</member> 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 InteractionHandler
+ specifies an interaction handler to use when user input is required.
+
+ <p>When specifying this parameter, you should use an implementation
+ supporting the <type scope="com::sun::star::sdb">InteractionHandler</type>, since
+ the general-purpose <type scope="com::sun::star::task">InteractionHandler</type> 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
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 000000000000..3239d69a58f4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObject.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_DatabaseObject_idl__
+#define __com_sun_star_sdb_application_DatabaseObject_idl__
+
+#ifndef __com_sun_star_sdb_CommandType_idl__
+#include <com/sun/star/sdb/CommandType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sdb { module application {
+
+//=============================================================================
+
+/** denotes different objects within a database document
+
+ @since OOo 2.2.0
+
+ @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
+
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 000000000000..b773054a8943
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 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 catalogs
+ */
+ 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
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 000000000000..f46c74467dc3
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DefaultViewController.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_ApplicationController_idl__
+#define __com_sun_star_sdb_application_ApplicationController_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 <member scope="::com::sun::star::ui">ContextMenuExecuteEvent::Selection</member> 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 descrbes 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 <type>NamedDatabaseObject</type> 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 <type>NamedDatabaseObject</type> 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
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 000000000000..f61fe3022a97
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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 <type>DatabaseObject</type> or <type>DatabaseObjectContainer</type> 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 <member>DatabaseObjectContainer::CATALOG</member> and
+ <member>DatabaseObjectContainer::SCHEMA</member>, 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 <member>DatabaseObjectContainer::TABLES</member>,
+ <member>DatabaseObjectContainer::QUERIES</member>, <member>DatabaseObjectContainer::DATA_SOURCE</member>,
+ <member>DatabaseObjectContainer::FORMS</member> or <member>DatabaseObjectContainer::REPORTS</member>,
+ this denotes the name of the data source (as denoted by
+ <member scope="com::sun::star::sdb">DataSource::Name</member>)</p>
+
+ @see XDatabaseMetaData::isCatalogAtStart
+ @see DatabaseObjectContainer
+ */
+ string Name;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..d53f399b281c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableListener.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_XCopyTableListener_idl__
+#define __com_sun_star_sdb_application_XCopyTableListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_sdb_application_CopyTableRowEvent_idl__
+#include <com/sun/star/sdb/application/CopyTableRowEvent.idl>
+#endif
+
+//=============================================================================
+
+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.
+ <member>CopyTableRowEvent::SourceData</member> 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.
+ <member>CopyTableRowEvent::SourceData</member> 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.
+ <member>CopyTableRowEvent::SourceData</member> is positioned at the row
+ which was attempted to be copied to the target database.
+ <member>CopyTableRowEvent::Error</member> will contain the actual error which
+ happened.
+
+ @return
+ how to continue with copying. Must be one of the <type>CopyTableContinuation</type>
+ constants.
+ */
+ short copyRowError( [in] CopyTableRowEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
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 000000000000..216c9fb45023
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_application_XCopyTableWizard_idl__
+#define __com_sun_star_sdb_application_XCopyTableWizard_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_Optional_idl__
+#include <com/sun/star/beans/Optional.idl>
+#endif
+
+//=============================================================================
+
+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 <type>CopyTableOperation</type> 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
+ <member>CopyTableOperation::CreateAsView</member> where the database
+ does not support views.
+ */
+ [attribute] short Operation
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** specfies 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 <member>Operation</member> is
+ <member>CopyTableOperation::AppendData</member>.</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 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 );
+ };
+
+ /** 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
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 000000000000..7c14255045e1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
@@ -0,0 +1,330 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.0
+ */
+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 applicatio's main window
+
+ <p>Note that reading this atttribute is equivalent to querying the component
+ for the <type scope="com::sun::star::frame">XController</type> 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 definately be
+ avoided. If you need a separate connection to the data source, use
+ <member scope="com::sun::star::sdbc">XDataSource::getConnection</member>.</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
+ <member scope="com::sun::star::sdbc">XDataSource::getConnection</member>
+ with the current settings, as specified in the
+ <member scope="com::sun::star::sdb">DataSource::Settings</member> 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 (<type scope="com::sun::star::frame">XModel</type>),
+ controllers (<type scope="com::sun::star::frame">XController</type>), or frames
+ (<type scope="com::sun::star::frame">XFrame</type>).
+
+ @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 <member>SubComponents</member>.
+
+ @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 <type>DatabaseObject</type> 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 hierachical 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
+ (<member scope="com::sun::star::frame">XController::suspend</member>). 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 <type scope="com::sun::star::frame">XComponentLoader</type>
+ interface of the <type scope="::com::sun::star::sdb">Forms</type> resp. <type scope="::com::sun::star::sdb">Reports</type>
+ 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 <type>DatabaseObject</type>
+ constants.
+
+ @param ObjectName
+ specifies the name of the object. In case hierachical 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"><tbody>
+ <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 <type scope="::com::sun::star::sdb">TableDesign</type></td>
+ <td>A table data view is opened, and allows to view and edit the data contained in the table.
+ See also <type scope="::com::sun::star::sdb">DataSourceBrowser</type></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 <type scope="::com::sun::star::sdb">QueryDesign</type></td>
+ <td>A table data view is opened, and allows to view and edit the data contained in the query.
+ See also <type scope="::com::sun::star::sdb">DataSourceBrowser</type></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>
+
+ </tbody></table>
+ </p>
+
+ @return
+ the component which has been loaded. This is either an <type scope="com::sun::star::frame">XModel</type>,
+ or an <type scope="com::sun::star::frame">XController</type> if the component does is model-less.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>ObjectType</arg> 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 <member>loadComponent</member>, this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.</p>
+
+ <p>The meaning of the 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 <type>DatabaseObject</type>
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if <arg>ObjectType</arg> equals <member>DatabaseObject::FORM</member>
+ or <member>DatabaseObject::REPORT</member>, this will contain the <type scope="com::sun::star::sdb">DocumentDefinition</type>
+ 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 <member>createComponent</member>, this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.</p>
+
+ <p>The meaning of the 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>
+
+ @param ObjectType
+ specifies the type of the object, must be one of the <type>DatabaseObject</type>
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if <arg>ObjectType</arg> equals <member>DatabaseObject::FORM</member>
+ or <member>DatabaseObject::REPORT</member>, this will contain the <type scope="com::sun::star::sdb">DocumentDefinition</type>
+ 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 <arg>Arguments</arg>,
+ 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::sdbc::SQLException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
+
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 000000000000..ec31ace643aa
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_ui_XTableUIProvider_idl__
+#define __com_sun_star_sdb_ui_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.0
+ */
+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
+ <type scope="com::sun::star::graphic">GraphicColorMode</type> 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 paramter 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
+ <type scope="com::sun::star::ui::dialogs">XExecutableDialog</type>
+ interface, the dialog will be executed modally.</li>
+ <li>modeless frames<br/>
+ If the returned component supports the
+ <type scope="com::sun::star::frame">XController</type>
+ 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 <arg>TableName</arg> does not denote an existing table
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occures 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
+
diff --git a/offapi/com/sun/star/sdb/application/makefile.mk b/offapi/com/sun/star/sdb/application/makefile.mk
new file mode 100644
index 000000000000..7eb972b28b85
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssdbapp
+PACKAGE=com$/sun$/star$/sdb$/application
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+
+UNOIDLDEFS += -w
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ DefaultViewController.idl \
+ CopyTableContinuation.idl \
+ CopyTableOperation.idl \
+ CopyTableRowEvent.idl \
+ CopyTableWizard.idl \
+ DatabaseObject.idl \
+ DatabaseObjectContainer.idl \
+ NamedDatabaseObject.idl \
+ XCopyTableWizard.idl \
+ XCopyTableListener.idl \
+ XDatabaseDocumentUI.idl \
+ XTableUIProvider.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
diff --git a/offapi/com/sun/star/sdb/makefile.mk b/offapi/com/sun/star/sdb/makefile.mk
new file mode 100644
index 000000000000..f095f338bcd4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/makefile.mk
@@ -0,0 +1,147 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssdb
+PACKAGE=com$/sun$/star$/sdb
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+
+UNOIDLDEFS += -w
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ BooleanComparisonMode.idl \
+ CallableStatement.idl \
+ Column.idl \
+ ColumnDescriptorControl.idl \
+ ColumnDescriptorControlModel.idl \
+ ColumnSettings.idl \
+ CommandType.idl \
+ Connection.idl \
+ ContentLoader.idl \
+ DataAccessDescriptor.idl \
+ DataAccessDescriptorFactory.idl \
+ DatabaseAccess.idl \
+ DatabaseAccessConnection.idl \
+ DatabaseAccessContext.idl \
+ DatabaseAccessDataSource.idl\
+ DatabaseContext.idl \
+ DatabaseDocument.idl \
+ DatabaseEnvironment.idl \
+ DatabaseInteractionHandler.idl \
+ DatabaseRegistrationEvent.idl \
+ DataColumn.idl \
+ DataSettings.idl \
+ DataSource.idl \
+ DatasourceAdministrationDialog.idl \
+ DataSourceBrowser.idl \
+ DefinitionContainer.idl \
+ DefinitionContent.idl \
+ Document.idl \
+ DocumentContainer.idl \
+ DocumentDataSource.idl \
+ DocumentDefinition.idl \
+ DocumentSaveRequest.idl \
+ ErrorCondition.idl \
+ ErrorMessageDialog.idl \
+ Forms.idl \
+ InteractionHandler.idl \
+ OfficeDatabaseDocument.idl \
+ OrderColumn.idl \
+ ParametersRequest.idl \
+ PreparedStatement.idl \
+ Query.idl \
+ QueryDefinition.idl \
+ QueryDescriptor.idl \
+ QueryDesign.idl \
+ RelationDesign.idl \
+ Reports.idl \
+ ResultColumn.idl \
+ ResultSet.idl \
+ RowChangeAction.idl \
+ RowChangeEvent.idl \
+ RowsChangeEvent.idl \
+ RowSet.idl \
+ RowSetVetoException.idl \
+ SingleSelectQueryAnalyzer.idl \
+ SingleSelectQueryComposer.idl \
+ SQLContext.idl \
+ SQLErrorEvent.idl \
+ SQLFilterOperator.idl \
+ SQLQueryComposer.idl \
+ Table.idl \
+ TableDescriptor.idl \
+ TableDesign.idl \
+ XAlterQuery.idl \
+ XBookmarksSupplier.idl \
+ XColumn.idl \
+ XColumnUpdate.idl \
+ XCommandPreparation.idl \
+ XCompletedConnection.idl \
+ XCompletedExecution.idl \
+ XDataAccessDescriptorFactory.idl \
+ XDatabaseAccess.idl \
+ XDatabaseAccessListener.idl \
+ XDatabaseRegistrations.idl \
+ XDatabaseRegistrationsListener.idl \
+ XDatabaseEnvironment.idl \
+ XDocumentDataSource.idl \
+ XFormDocumentsSupplier.idl \
+ XInteractionDocumentSave.idl \
+ XInteractionSupplyParameters.idl \
+ XOfficeDatabaseDocument.idl \
+ XParametersSupplier.idl \
+ XQueriesSupplier.idl \
+ XQueryDefinitionsSupplier.idl \
+ XReportDocumentsSupplier.idl \
+ XResultSetAccess.idl \
+ XRowSetApproveBroadcaster.idl \
+ XRowSetApproveListener.idl \
+ XRowSetChangeBroadcaster.idl \
+ XRowSetChangeListener.idl \
+ XRowsChangeBroadcaster.idl \
+ XRowsChangeListener.idl \
+ XRowSetSupplier.idl \
+ XSingleSelectQueryAnalyzer.idl \
+ XSingleSelectQueryComposer.idl \
+ XSubDocument.idl \
+ XSQLErrorBroadcaster.idl \
+ XSQLErrorListener.idl \
+ XSQLQueryComposer.idl \
+ XSQLQueryComposerFactory.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
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 000000000000..750df9b5e0d7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/CompositionType.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_CompositionRule_idl__
+#define __com_sun_star_sdb_tools_CompositionRule_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
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 000000000000..c0ec570ccf60
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XConnectionSupplier.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XConnectionSupplier_idl__
+#define __com_sun_star_sdb_tools_XConnectionSupplier_idl__
+
+#include <com/sun/star/sdbc/XConnection.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
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 000000000000..29e47c597e09
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionTools.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XConnectionTools_idl__
+#define __com_sun_star_sdb_tools_XConnectionTools_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+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
+ <type scope="com::sun::star::sdb">Connection</type>
+
+ <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 <type>XConnectionTools</type> instance is the
+ <type scope="com::sun::star::sdb">Connection</type> 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 <type>XTableName</type> interface,
+ which can be used to manipulate table names for various purposes.
+
+ <p>The returned object is guanrateed to not be <NULL/>.</p>
+ */
+ XTableName createTableName();
+
+ /** returns an instance supporting the <type>XObjectNames</type> interface,
+ which provides access to functionality around table and query names.
+
+ <p>The returned object is guanrateed 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 (<type scope="com.sun.star.sdb">Connection</type></li>
+ <li>a string specifying the name of an object relative to the connection</li>
+ <li>a <type scope="com.sun.star.sdb">CommandType</type> value specifying the type
+ of the object</type></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 <arg>_nCommandType</arg>
+
+ @param _rxCollectionOner
+ If (and only if) <arg>CommandType</arg> 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 transfered 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 <arg>_nCommandType</arg>
+ @return
+ the composer filled with command and command type.
+ */
+ ::com::sun::star::sdb::XSingleSelectQueryComposer getComposer([in] long commandType,[in] string command);
+};
+
+//=============================================================================
+}; }; }; }; };
+//=============================================================================
+
+#endif
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 000000000000..b2b00c758250
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XDataSourceMetaData_idl__
+#define __com_sun_star_sdb_tools_XDataSourceMetaData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+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( );
+};
+
+//=============================================================================
+}; }; }; }; };
+//=============================================================================
+
+#endif
+
+
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 000000000000..fdc7ce517ca8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XIndexAlteration.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XIndexAlteration.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XIndexAlteration_idl__
+#define __com_sun_star_sdb_tools_XIndexAlteration_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
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 000000000000..44389dfe64fd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XKeyAlteration.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XKeyAlteration.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XKeyAlteration_idl__
+#define __com_sun_star_sdb_tools_XKeyAlteration_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
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 000000000000..16b2bae93baa
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XObjectNames.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XObjectNames_idl__
+#define __com_sun_star_sdb_tools_XObjectNames_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+//=============================================================================
+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 specialities.</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>
+ statment'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 <type scope="com::sun::star::sdb">Connection</type>
+ service.</p>
+
+ <p>The component itself does not have life-time control mechanimns, i.e. you
+ cannot explicitly dispose it (<member scope="com::sun::star::lang">XComponent::dispose</member>),
+ 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 <type scope="com::sun::star::lang">DisposedException</type>
+ 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 uniquey 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 <type scope="com::sun::star::sdb">CommandType</type> of the object for which
+ a unique name is to be generated. Must be either <member scope="com::sun::star::sdb">CommandType::TABLE</member>
+ or <member scope="com::sun::star::sdb">CommandType::QUERY</member>.
+
+ @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 <arg>CommandType</arg> specifies an invalid command type.
+ */
+ string suggestName( [in] long CommandType, [in] string BaseName )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** 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 <type scope="com::sun::star::sdb">CommandType</type> of the object whose
+ name should be checked. Must be either <member scope="com::sun::star::sdb">CommandType::TABLE</member>
+ or <member scope="com::sun::star::sdb">CommandType::QUERY</member>.
+
+ @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 <arg>CommandType</arg> specifies an invalid command type.
+
+ @see checkNameIsUsed
+ */
+ boolean isNameUsed( [in] long CommandType, [in] string Name )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** 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 <member>isNameUsed</member> and
+ <member>isNameValid</member>. 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
+
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 000000000000..fe0fe494fead
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableAlteration.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTableAlteration.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XTableAlteration_idl__
+#define __com_sun_star_sdb_tools_XTableAlteration_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
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 000000000000..48070da02fe6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableName.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XTableName_idl__
+#define __com_sun_star_sdb_tools_XTableName_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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 <type>XTableName</type> interface eases this and other, similar tasks around table
+ names.</p>
+
+ <p>The component itself does not have life-time control mechanimns, i.e. you
+ cannot explicitly dispose it (<member scope="com::sun::star::lang">XComponent::dispose</member>),
+ 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 <type scope="com::sun::star::lang">DisposedException</type>
+ 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 databases'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 <arg>Type</arg> does not denote a valid <type>CompositionType</type>
+ */
+ 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 <type scope="com::sun::star::sdb">Table</type> object specified
+ by the current name.
+
+ <p>Retrieving this attribute is equivalent to obtaining the tables
+ container from the connection (via <type scope="com::sun::star::sdbcx">XTablesSupplier</type>),
+ and calling its <member scope="com::sun::star::container">XNameAccess::getByName</member>
+ 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
+
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 000000000000..f61d736bae8c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XTableRename.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTableRename.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XTableRename_idl__
+#define __com_sun_star_sdb_tools_XTableRename_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
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 000000000000..e64727341e81
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XViewAccess.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XViewAccess.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdb_tools_XViewAccess_idl__
+#define __com_sun_star_sdb_tools_XViewAccess_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
+
diff --git a/offapi/com/sun/star/sdb/tools/makefile.mk b/offapi/com/sun/star/sdb/tools/makefile.mk
new file mode 100644
index 000000000000..1bc7e6b11c7d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssdbtools
+PACKAGE=com$/sun$/star$/sdb$/tools
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+
+UNOIDLDEFS += -w
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ CompositionType.idl \
+ XConnectionTools.idl \
+ XDataSourceMetaData.idl \
+ XObjectNames.idl \
+ XTableName.idl \
+ XTableRename.idl \
+ XViewAccess.idl \
+ XTableAlteration.idl \
+ XKeyAlteration.idl \
+ XIndexAlteration.idl \
+ XConnectionSupplier.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
diff --git a/offapi/com/sun/star/sdbc/BatchUpdateException.idl b/offapi/com/sun/star/sdbc/BatchUpdateException.idl
new file mode 100644
index 000000000000..b3ef24879004
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BatchUpdateException.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_BatchUpdateException_idl__
+#define __com_sun_star_sdbc_BatchUpdateException_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ , 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
diff --git a/offapi/com/sun/star/sdbc/BestRowScope.idl b/offapi/com/sun/star/sdbc/BestRowScope.idl
new file mode 100644
index 000000000000..62b4a0344400
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BestRowScope.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ const long SESSION = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/BestRowType.idl b/offapi/com/sun/star/sdbc/BestRowType.idl
new file mode 100644
index 000000000000..ae82ed607bea
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/BestRowType.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member>XDatabaseMetaData::getBestRowIdentifier()</member>
+ .
+ */
+ const long PSEUDO = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/CallableStatement.idl b/offapi/com/sun/star/sdbc/CallableStatement.idl
new file mode 100644
index 000000000000..c0e8a49c1144
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/CallableStatement.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_CallableStatement_idl__
+#define __com_sun_star_sdbc_CallableStatement_idl__
+
+#ifndef __com_sun_star_sdbc_PreparedStatement_idl__
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ . 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
+ <type scope="com::sun::star::sdbc">XRow</type>
+ .
+ </p>
+ <p>
+ A
+ <code>CallableStatement</code>
+ can return one
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ or multiple
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ objects. Multiple
+ <code>ResultSet</code>
+ objects are
+ handled using operations inherited from
+ <type scope="com::sun::star::sdbc">XPreparedStatement</type>
+ .
+ </p>
+ <p>
+ For maximum portability, a call's
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/ChangeAction.idl b/offapi/com/sun/star/sdbc/ChangeAction.idl
new file mode 100644
index 000000000000..e7809c988f8a
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ChangeAction.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 a insert will be performed.
+ */
+ const long INSERT = 1;
+ //-------------------------------------------------------------------------
+ /**
+ indicates that a update will be performed.
+ */
+ const long UPDATE = 2;
+ //-------------------------------------------------------------------------
+ /**
+ indicates that a delete will be performed.
+ */
+ const long DELETE = 3;
+ //-------------------------------------------------------------------------
+ /**
+ indicates that a undo will be performed.
+ */
+ const long UNDO = 4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdbc/ChangeEvent.idl b/offapi/com/sun/star/sdbc/ChangeEvent.idl
new file mode 100644
index 000000000000..563d722bc3ee
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ChangeEvent.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_ChangeEvent_idl__
+#define __com_sun_star_sdbc_ChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/sdbc/ColumnSearch.idl b/offapi/com/sun/star/sdbc/ColumnSearch.idl
new file mode 100644
index 000000000000..bdb7afba35e5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnSearch.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo()</member>
+ .
+ <p>
+ Indicates that all
+ <code>WHERE</code>
+ search clauses can be
+ based on this type.
+ */
+ const long FULL = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ColumnType.idl b/offapi/com/sun/star/sdbc/ColumnType.idl
new file mode 100644
index 000000000000..259ff9015e91
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnType.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getVersionColumns()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getVersionColumns()</member>
+ .
+ */
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getVersionColumns()</member>
+ .
+ */
+ const long PSEUDO = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ColumnValue.idl b/offapi/com/sun/star/sdbc/ColumnValue.idl
new file mode 100644
index 000000000000..607951b5c2cf
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ColumnValue.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbc/Connection.idl b/offapi/com/sun/star/sdbc/Connection.idl
new file mode 100644
index 000000000000..d71e37e79f58
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Connection.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_Connection_idl__
+#define __com_sun_star_sdbc_Connection_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XConnection::getMetaData()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/ConnectionPool.idl b/offapi/com/sun/star/sdbc/ConnectionPool.idl
new file mode 100644
index 000000000000..c1d3259d01d2
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ConnectionPool.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_ConnectionPool_idl__
+#define __com_sun_star_sdbc_ConnectionPool_idl__
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XDriverManager;
+
+
+/** is the basic service for pooling SDBC connections.
+
+ <p>
+ When the method
+ <member scope="com::sun::star::sdbc">XPooledConnection::getConnection()</member>
+ 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: XDriverManager;
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/sdbc/ConnectionProperties.idl b/offapi/com/sun/star/sdbc/ConnectionProperties.idl
new file mode 100644
index 000000000000..5d7a2a702441
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ConnectionProperties.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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
diff --git a/offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl b/offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl
new file mode 100644
index 000000000000..338e799e498c
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DBASEConnectionProperties.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_DBASEConnectionProperties_idl__
+#define __com_sun_star_sdbc_DBASEConnectionProperties_idl__
+
+#ifndef __com_sun_star_sdbc_FILEConnectionProperties_idl__
+#include <com/sun/star/sdbc/FILEConnectionProperties.idl>
+#endif
+
+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
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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
diff --git a/offapi/com/sun/star/sdbc/DataTruncation.idl b/offapi/com/sun/star/sdbc/DataTruncation.idl
new file mode 100644
index 000000000000..e200867014d0
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DataTruncation.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_DataTruncation_idl__
+#define __com_sun_star_sdbc_DataTruncation_idl__
+
+#ifndef __com_sun_star_sdbc_SQLWarning_idl__
+#include <com/sun/star/sdbc/SQLWarning.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/DataType.idl b/offapi/com/sun/star/sdbc/DataType.idl
new file mode 100644
index 000000000000..2d07982530f6
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DataType.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 specfic types can be got from
+ <member>XDatabaseMetaData::getTypeInfo()</member>
+ .</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
+ <member scope="com::sun::star::sdbc">XRow::getObject()</member>
+ .
+ */
+ 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.0
+ */
+ const long BOOLEAN = 16;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/Deferrability.idl b/offapi/com/sun/star/sdbc/Deferrability.idl
new file mode 100644
index 000000000000..20c53e3cd0db
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Deferrability.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbc/Driver.idl b/offapi/com/sun/star/sdbc/Driver.idl
new file mode 100644
index 000000000000..d410213f8103
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Driver.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbc/DriverManager.idl b/offapi/com/sun/star/sdbc/DriverManager.idl
new file mode 100644
index 000000000000..4324ea7da7d3
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DriverManager.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_DriverManager_idl__
+#define __com_sun_star_sdbc_DriverManager_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XDriver;
+ published interface XDriverManager;
+
+
+/** is the basic service 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
+ */
+published service DriverManager
+{
+
+ /** is the basic interface for establishing database connections.
+ */
+ interface XDriverManager;
+
+ /** creates an enumeration on all installed / registered drivers.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/DriverPropertyInfo.idl b/offapi/com/sun/star/sdbc/DriverPropertyInfo.idl
new file mode 100644
index 000000000000..181eea0554e4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/DriverPropertyInfo.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbc/FILEConnectionProperties.idl b/offapi/com/sun/star/sdbc/FILEConnectionProperties.idl
new file mode 100644
index 000000000000..55bc9090bed3
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FILEConnectionProperties.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_FILEConnectionProperties_idl__
+#define __com_sun_star_sdbc_FILEConnectionProperties_idl__
+
+#ifndef __com_sun_star_sdbc_ConnectionProperties_idl__
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+#endif
+
+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
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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>
+ */
+ [optional, property] string CharSet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/FLATConnectionProperties.idl b/offapi/com/sun/star/sdbc/FLATConnectionProperties.idl
new file mode 100644
index 000000000000..7af8aca4e6a1
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FLATConnectionProperties.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_FLATConnectionProperties_idl__
+#define __com_sun_star_sdbc_FLATConnectionProperties_idl__
+
+#ifndef __com_sun_star_sdbc_FILEConnectionProperties_idl__
+#include <com/sun/star/sdbc/FILEConnectionProperties.idl>
+#endif
+
+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
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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 seperate the fields.
+ */
+ [optional, property] string FieldDelimiter;
+
+ /** A one character delimiter to seperate the strings.
+ */
+ [optional, property] string StringDelimiter;
+
+ /** A one character delimiter to seperate the decimal.
+ */
+ [optional, property] string DecimalDelimiter;
+
+ /** A one character delimiter to seperate the thousands.
+ */
+ [optional, property] string ThousandDelimiter;
+
+ /** the extension of the files to be used.
+ */
+ [property] string Extension;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/FetchDirection.idl b/offapi/com/sun/star/sdbc/FetchDirection.idl
new file mode 100644
index 000000000000..e171a2311d40
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/FetchDirection.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 resultset 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
diff --git a/offapi/com/sun/star/sdbc/IndexType.idl b/offapi/com/sun/star/sdbc/IndexType.idl
new file mode 100644
index 000000000000..2a3a00923ba5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/IndexType.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getIndexInfo()</member>
+ .
+ <P>
+ Indentifies 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getIndexInfo()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getIndexInfo()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getIndexInfo()</member>
+ .
+ <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
diff --git a/offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl b/offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl
new file mode 100644
index 000000000000..cb59fe15eac6
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/JDBCConnectionProperties.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_JDBCConnectionProperties_idl__
+#define __com_sun_star_sdbc_JDBCConnectionProperties_idl__
+
+#ifndef __com_sun_star_sdbc_ConnectionProperties_idl__
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+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
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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 <member
+ scope="com::sun::star::sdbc">JDBCConnectionProperties::JavaDriverClass
+ </member>.
+
+ <p>The class path is a list of zero or more internal (see the
+ <type scope="com::sun::star::uri">ExternalUriReferenceTranslator</type>
+ 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
+ <type scope="com::sun::star::util">theMacroExpander</type>
+ 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 <member scope="com::sun::star::sdbc">XDatabaseMetaData::getTypeInfo()</member> will be modified.
+ <p>The sequence contains an even amount of string values. Each pair describes
+ <li>what should be searched for and </li>
+ <li>what should be replaced if found.</li>
+ <br>
+ The syntax is:
+ <p>
+ <li>COLUMN(2) = -5</li>
+ <li>COLUMN(6) = PRECISION</li>
+ </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
diff --git a/offapi/com/sun/star/sdbc/KeyRule.idl b/offapi/com/sun/star/sdbc/KeyRule.idl
new file mode 100644
index 000000000000..08806abccf94
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/KeyRule.idl
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects returned by the methods
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
+ ,
+ and
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects returned by the methods
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
+ ,
+ and
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects returned by the methods
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
+ ,
+ and
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects returned by the methods
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
+ ,
+ and
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects returned by the methods
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getImportedKeys()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getExportedKeys()</member>
+ ,
+ and
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getCrossReference()</member>
+ .
+ <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
diff --git a/offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl b/offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl
new file mode 100644
index 000000000000..19d6fb0fd6aa
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ODBCConnectionProperties.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_ODBCConnectionProperties_idl__
+#define __com_sun_star_sdbc_ODBCConnectionProperties_idl__
+
+#ifndef __com_sun_star_sdbc_ConnectionProperties_idl__
+#include <com/sun/star/sdbc/ConnectionProperties.idl>
+#endif
+
+module com { module sun { module star { module sdbc {
+
+/** represents the properties for a ODBC connection (session) with a specific
+ database. These properties can be used when calling the method
+ <member scope="com::sun::star::sdbc">XDriver::connect()</member> or
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnectionWithInfo()</member>.
+
+ <p>
+ The properties for a connection contain additonal 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 substituated 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
diff --git a/offapi/com/sun/star/sdbc/PreparedStatement.idl b/offapi/com/sun/star/sdbc/PreparedStatement.idl
new file mode 100644
index 000000000000..43bb4992fdda
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/PreparedStatement.idl
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_PreparedStatement_idl__
+#define __com_sun_star_sdbc_PreparedStatement_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XParameters::setInt()</member>
+ should be used.
+ </P>
+ <p>
+ If arbitrary parameter type conversions are required, the method
+ <member scope="com::sun::star::sdbc">XParameters::setObject()</member>
+ should be used with a target SQL type.
+ </p>
+ <p>
+ Example of setting a parameter; <code>con</code> is an active connection.
+ @example:StarBASIC
+ <listing>
+ pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?")
+ pstmt.setDouble(1, 153833.00)
+ pstmt.setLong(2, 110592)
+ </listing>
+ </p>
+ <P>
+ Only one
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ per
+ <type scope="com::sun::star::sdbc">Statement</type>
+ 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 resultset will be
+ freed as well.
+ */
+ interface XCloseable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** could be used for cancelling 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
+ <type>PreparedStatement</type>.
+ */
+ 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
+ <member scope= "com::sun::star::sdbc">XDatabaseMetaData::supportsBatchUpdates()</member>
+ </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
+ <member scope= "com::sun::star::sdbc">DataType::BINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::CHAR</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARCHAR</member>
+ ,
+ and
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARCHAR</member>
+ 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 insure 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
diff --git a/offapi/com/sun/star/sdbc/ProcedureColumn.idl b/offapi/com/sun/star/sdbc/ProcedureColumn.idl
new file mode 100644
index 000000000000..bf6315d7318d
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ProcedureColumn.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long UNKNOWN = 0;
+ //-------------------------------------------------------------------------
+
+ /** indicates that the column stores IN parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long IN = 1;
+ //-------------------------------------------------------------------------
+
+ /** indicates that the column stores INOUT parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long INOUT = 2;
+ //-------------------------------------------------------------------------
+
+ /** indicates that the column stores results.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long RESULT = 3;
+ //-------------------------------------------------------------------------
+
+ /** indicates that the column stores OUT parameters.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long OUT = 4;
+ //-------------------------------------------------------------------------
+
+ /** Indicates that the column stores return values.
+ A possible value for the column
+ <code>COLUMN_TYPE</code>
+ in the
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedureColumns()</member>
+ .
+ */
+ const long RETURN = 5;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ProcedureResult.idl b/offapi/com/sun/star/sdbc/ProcedureResult.idl
new file mode 100644
index 000000000000..a896bea35108
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ProcedureResult.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedures()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedures()</member>
+ .
+ <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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ object returned by the method
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getProcedures()</member>
+ .
+ <p>
+ Indicates that the procedure returns
+ a result.
+ </p>
+ */
+ const long RETURN = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ResultSet.idl b/offapi/com/sun/star/sdbc/ResultSet.idl
new file mode 100644
index 000000000000..1c19621e7e17
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSet.idl
@@ -0,0 +1,249 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#define __com_sun_star_sdbc_ResultSet_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+ 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 it's 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 insure 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
+ <type scope="com::sun::star::sdbcx">Statement</type>
+ 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
+ <type scope="com::sun::star::sdbcx">Statement</type>
+ object.
+ <br/>
+ If this
+ <type scope="com::sun::star::sdbcx">Statement</type>
+ object has not set a fetch size,
+ the return value is implementation-specific.
+ */
+ [property] long FetchSize;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl b/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl
new file mode 100644
index 000000000000..16dc6db17da4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdb">ResultSet</type>
+ object that may NOT be updated.
+ */
+ const long READ_ONLY = 1007;
+
+
+ /** is the concurrency mode for a
+ <type scope="com::sun::star::sdb">ResultSet</type>
+ object that may be updated.
+ */
+ const long UPDATABLE = 1008;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/ResultSetType.idl b/offapi/com/sun/star/sdbc/ResultSetType.idl
new file mode 100644
index 000000000000..446495d3f173
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/ResultSetType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::sdb">ResultSet</type>
+ object whose cursor may move only forward.
+ */
+ const long FORWARD_ONLY = 1003;
+
+
+ /** is the type for a
+ <type scope="com::sun::star::sdb">ResultSet</type>
+ object that is scrollable
+ but generally not sensitive to changes made by others.
+ */
+ const long SCROLL_INSENSITIVE = 1004;
+
+
+ /** is the type for a
+ <type scope="com::sun::star::sdb">ResultSet</type>
+ object that is scrollable
+ and generally sensitive to changes made by others.
+ */
+ const long SCROLL_SENSITIVE = 1005;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/RowSet.idl b/offapi/com/sun/star/sdbc/RowSet.idl
new file mode 100644
index 000000000000..5c79c7a2076b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/RowSet.idl
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_RowSet_idl__
+#define __com_sun_star_sdbc_RowSet_idl__
+
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#include <com/sun/star/sdbc/ResultSet.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XColumnLocate_idl__
+#include <com/sun/star/sdbc/XColumnLocate.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">Statement</type>
+ and a
+ <type scope="com::sun::star::sdbc">ResultSet</type>.
+
+
+ <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 rowset can be used to implement capabilties 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 <type>RowSet</type>, use this interface's <member>XRowSet::execute</member>
+ method.</p>
+ */
+ interface XRowSet;
+
+ // used to set parameters.
+ interface XParameters;
+
+ /** allows locating columns which's 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ 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
+ <member scope= "com::sun::star::sdbc">DataType::BINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::CHAR</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARCHAR</member>
+ ,
+ and
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARCHAR</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/SQLException.idl b/offapi/com/sun/star/sdbc/SQLException.idl
new file mode 100644
index 000000000000..11d66fb3fd57
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/SQLException.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#define __com_sun_star_sdbc_SQLException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is an exception that provides information on a database access error.
+
+ <p>
+ Each
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ provides several kinds of information:
+ </p>
+ <p>
+ <ul>
+ <li>
+ a string describing the error. This is used as the
+ <type scope="com::sun::star::uno">Exception</type>
+ 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.
+ A chain to the next Exception. This can be used to provide additional
+ error information.
+ */
+ long ErrorCode;
+
+ /** returns a chain to the next Exception.
+ This can be used to provide additional
+ error information.
+ */
+ any NextException;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/SQLWarning.idl b/offapi/com/sun/star/sdbc/SQLWarning.idl
new file mode 100644
index 000000000000..3be1a07cef87
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/SQLWarning.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_SQLWarning_idl__
+#define __com_sun_star_sdbc_SQLWarning_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/Statement.idl b/offapi/com/sun/star/sdbc/Statement.idl
new file mode 100644
index 000000000000..fc66d2cdac32
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/Statement.idl
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_Statement_idl__
+#define __com_sun_star_sdbc_Statement_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+ 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 resultset will be
+ freed as well.
+ */
+ interface XCloseable;
+
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** could be used for cancelling 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
+ <member scope= "com::sun::star::sdbc"> XDatabaseMetaData::supportsBatchUpdates()</member>
+ </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
+ <member scope= "com::sun::star::sdbc">DataType::BINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARBINARY</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::CHAR</member>
+ ,
+ <member scope= "com::sun::star::sdbc">DataType::VARCHAR</member>
+ ,
+ and
+ <member scope= "com::sun::star::sdbc">DataType::LONGVARCHAR</member>
+ 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 insure 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
diff --git a/offapi/com/sun/star/sdbc/TransactionIsolation.idl b/offapi/com/sun/star/sdbc/TransactionIsolation.idl
new file mode 100644
index 000000000000..426027be9a04
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/TransactionIsolation.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbc/XArray.idl b/offapi/com/sun/star/sdbc/XArray.idl
new file mode 100644
index 000000000000..c9cb8656370d
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XArray.idl
@@ -0,0 +1,255 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XArray_idl__
+#define __com_sun_star_sdbc_XArray_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+
+
+/** is used for mapping the SQL type
+ <member scope= "com::sun::star::sdbc">DataType::ARRAY</member>
+ .
+ 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
+ an 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
diff --git a/offapi/com/sun/star/sdbc/XBatchExecution.idl b/offapi/com/sun/star/sdbc/XBatchExecution.idl
new file mode 100644
index 000000000000..98bcc10514be
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XBatchExecution.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XBatchExecution_idl__
+#define __com_sun_star_sdbc_XBatchExecution_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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 commmands 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
diff --git a/offapi/com/sun/star/sdbc/XBlob.idl b/offapi/com/sun/star/sdbc/XBlob.idl
new file mode 100644
index 000000000000..ef42045662b5
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XBlob.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XBlob_idl__
+#define __com_sun_star_sdbc_XBlob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ ,
+ and
+ <type scope="com::sun::star::sdbc">XPreparedStatement</type>
+ , 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
+ @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
diff --git a/offapi/com/sun/star/sdbc/XClob.idl b/offapi/com/sun/star/sdbc/XClob.idl
new file mode 100644
index 000000000000..8eec6d9e1645
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XClob.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XClob_idl__
+#define __com_sun_star_sdbc_XClob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ ,
+ and
+ <type scope="com::sun::star::sdbc">XPreparedStatement</type>
+ , 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
+ @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
diff --git a/offapi/com/sun/star/sdbc/XCloseable.idl b/offapi/com/sun/star/sdbc/XCloseable.idl
new file mode 100644
index 000000000000..13f92f238f82
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XCloseable.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XCloseable_idl__
+#define __com_sun_star_sdbc_XCloseable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XColumnLocate.idl b/offapi/com/sun/star/sdbc/XColumnLocate.idl
new file mode 100644
index 000000000000..ec0e03624540
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XColumnLocate.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XColumnLocate_idl__
+#define __com_sun_star_sdbc_XColumnLocate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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.
+ @param columnName
+ the name of the column
+ @returns
+ the position of the column
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long findColumn([in]string columnName) raises (SQLException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/XConnection.idl b/offapi/com/sun/star/sdbc/XConnection.idl
new file mode 100644
index 000000000000..37af3c7e43f9
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XConnection.idl
@@ -0,0 +1,438 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XConnection_idl__
+#define __com_sun_star_sdbc_XConnection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XCloseable_idl__
+#include <com/sun/star/sdbc/XCloseable.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XDatabaseMetaData::getMetaData()</member>
+ 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
+ <type scope="com::sun::star::sdbc">Statement</type>
+ 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ .
+ </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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ 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
+ <type scope="com::sun::star::sdbc">CallableStatement</type>
+ 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
+ <member scope="com::sun::star::sdbc">XConnection::commit()</member>
+ or the method
+ <member scope="com::sun::star::sdbc">XConnection::rollback()</member>
+ .
+ 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
+ <type scope="com::sun::star::sdbc">TransactionIsolation</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XDataSource.idl b/offapi/com/sun/star/sdbc/XDataSource.idl
new file mode 100644
index 000000000000..2c2f4f13323e
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDataSource.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XDataSource_idl__
+#define __com_sun_star_sdbc_XDataSource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl b/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl
new file mode 100644
index 000000000000..085b2ed966e4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl
@@ -0,0 +1,2610 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XDatabaseMetaData_idl__
+#define __com_sun_star_sdbc_XDatabaseMetaData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+
+ 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
+ <type scope="com::sun::star::sdbc">XResultSet</type>
+ objects.
+ You can use the normal <type scope="com::sun::star::sdbc">XResultSet</type>
+ methods such as
+ <member scope="com::sun::star::sdbc">XResultSet::getString()</member>
+ and
+ <member scope="com::sun::star::sdbc">XResultSet::getInt()</member>
+ to retrieve the data from these XResultSets. If a given form of
+ metadata is not available, these methods should throw a
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ .
+ That a value of <type scope="com::sun::star::sdbc">XResultSet</type> is <NULL/>
+ can be chaked with the method <member scope="com::sun::star::sdbc">XResultSet::wasNull()</member>.
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ will be thrown if a driver does not support
+ a meta data 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
+ <type scope="com::sun::star::sdbc">TransactionIsolation</type>.
+ @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
+ <member scope="com::sun::star::sdbc">XConnection::commit()</member>
+ 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> NULABLE - 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 privilige 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> => grantor 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 priviledge 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 privilige 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> => grantor 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 conjuction 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 tableIndexStatisic 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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @param concurrency
+ defined in
+ <type scop="com::sun::star::sdbc">ResultSetConcurrency</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <member scope="com::sun::star::sdbc">XResultSet::rowDeleted()</member>
+ . If deletesAreDetected()
+ returns <FALSE/>, then deleted rows are removed from the result set.
+ @param setType
+ defined in
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
+ <member scope="com::sun::star::sdbc">XResultSet::rowInserted().</member>
+ @param setType
+ defined in
+ <type scop="com::sun::star::sdbc">ResultSetType</type>
+ @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
diff --git a/offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl b/offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl
new file mode 100644
index 000000000000..f6a5040d8415
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDatabaseMetaData2.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdbc_XDatabaseMetaData2_idl__
+#define __com_sun_star_sdbc_XDatabaseMetaData2_idl__
+
+#ifndef __com_sun_star_sdbc_XDatabaseMetaData_idl__
+#include <com/sun/star/sdbc/XDatabaseMetaData.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sdbc {
+
+//=============================================================================
+
+/** extends the <type>XDatabaseMetaData</type> 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
+
diff --git a/offapi/com/sun/star/sdbc/XDriver.idl b/offapi/com/sun/star/sdbc/XDriver.idl
new file mode 100644
index 000000000000..623c232ceb2b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriver.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XDriver_idl__
+#define __com_sun_star_sdbc_XDriver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_DriverPropertyInfo_idl__
+#include <com/sun/star/sdbc/DriverPropertyInfo.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XDriverAccess.idl b/offapi/com/sun/star/sdbc/XDriverAccess.idl
new file mode 100644
index 000000000000..112921f04e15
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriverAccess.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XDriverAccess_idl__
+#define __com_sun_star_sdbc_XDriverAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XDriverManager.idl b/offapi/com/sun/star/sdbc/XDriverManager.idl
new file mode 100644
index 000000000000..896d8a59deea
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XDriverManager.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XDriverManager_idl__
+#define __com_sun_star_sdbc_XDriverManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XDriverManager::getConnection()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XGeneratedResultSet.idl b/offapi/com/sun/star/sdbc/XGeneratedResultSet.idl
new file mode 100644
index 000000000000..edc6e4ab7c81
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XGeneratedResultSet.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XGeneratedResultSet_idl__
+#define __com_sun_star_sdbc_XGeneratedResultSet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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 <member>getGeneratedValues</member> 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
diff --git a/offapi/com/sun/star/sdbc/XIsolatedConnection.idl b/offapi/com/sun/star/sdbc/XIsolatedConnection.idl
new file mode 100644
index 000000000000..5f34df8e84ce
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XIsolatedConnection.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XIsolatedConnection_idl__
+#define __com_sun_star_sdbc_XIsolatedConnection_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+/** is used for establishing isolated connections via a factory.
+ <p>
+ The <type>XIsolatedConnection</type> 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
diff --git a/offapi/com/sun/star/sdbc/XMultipleResults.idl b/offapi/com/sun/star/sdbc/XMultipleResults.idl
new file mode 100644
index 000000000000..9bda09c36145
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XMultipleResults.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XMultipleResults_idl__
+#define __com_sun_star_sdbc_XMultipleResults_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XMultipleResults::getMoreResults()</member>
+ ,
+ <member scope="com::sun::star::sdbc">XMultipleResults::getResultSet()</member>
+ and
+ <member scope="com::sun::star::sdbc">XMultipleResults::getUpdateCount()</member>
+ 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
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XOutParameters.idl b/offapi/com/sun/star/sdbc/XOutParameters.idl
new file mode 100644
index 000000000000..a9047e958633
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XOutParameters.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XOutParameters_idl__
+#define __com_sun_star_sdbc_XOutParameters_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XOutParameters::registerOutParameter()</member>
+ 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
+ <member scope="com::sun::star::sdbc">XOutParameters::registerOutParameter()</member>
+ to register the type from
+ <type scope="com::sun::star::sdbc">DataType</type>
+ 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
+ <member scope="com::sun::star::sdbc">XOutParameters::registerOutParameter()</member>
+ should be
+ used when the parameter is of SDBC type
+ <member scope="com::sun::star::sdbc">DataType::NUMERIC</member>
+ or
+ <member scope="com::sun::star::sdbc">DataType::DECIMAL</member>
+ .
+ @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
diff --git a/offapi/com/sun/star/sdbc/XParameters.idl b/offapi/com/sun/star/sdbc/XParameters.idl
new file mode 100644
index 000000000000..173e71789c5c
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XParameters.idl
@@ -0,0 +1,458 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XParameters_idl__
+#define __com_sun_star_sdbc_XParameters_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XParameters::setInt()</member>
+ should be used.
+
+ </p>
+ <p>
+ If arbitrary parameter type conversions are required, the method
+ <member scope="com::sun::star::sdbc">XParameters::setObject()</member>
+ should be used with a target SQL type.
+ <br/>
+ <br/>
+ Example of setting a parameter;
+ <code>con</code>
+ is an active connection.
+ </p>
+
+ @example <listing>pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?")
+ pstmt.setDouble(1, 153833.00)
+ pstmt.setLong(2, 110592)
+ </listing>@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
+ <type scope="com::sun::star::io">XInputStream</type>
+ . 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
+ <type scope="com::sun::star::io">XInputStream</type>
+ . 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
+ <type scope="com::sun::star::sdbc">DataType</type>
+ ) to be sent to the database. The scale argument may further qualify this type.
+ @param scale
+ for
+ <member scope="com::sun::star::sdbc">DataType::DECIMAL</member>
+ or
+ <member scope="com::sun::star::sdbc">DataType::NUMERIC</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XPooledConnection.idl b/offapi/com/sun/star/sdbc/XPooledConnection.idl
new file mode 100644
index 000000000000..5b7b2389676a
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPooledConnection.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sdbc_XPooledConnection_idl__
+#define __com_sun_star_sdbc_XPooledConnection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+
+/** defines a pooled connection which can share a unused connection.
+
+<!-- JRH: unclear meaning -->
+
+ <p>
+ PoolConnections are handled by the connection pool.
+ </p>
+ <p>
+ When the method
+ <member scope="com::sun::star::sdbc">XPooledConnection::getConnection()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl b/offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl
new file mode 100644
index 000000000000..7b610ce10f56
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPreparedBatchExecution.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XPreparedBatchExecution_idl__
+#define __com_sun_star_sdbc_XPreparedBatchExecution_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used for batch execution on PreparedStatements.
+
+
+ <p>
+ A
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XPreparedStatement.idl b/offapi/com/sun/star/sdbc/XPreparedStatement.idl
new file mode 100644
index 000000000000..f43ca9b8919c
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XPreparedStatement.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XPreparedStatement_idl__
+#define __com_sun_star_sdbc_XPreparedStatement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XConnection;
+ published interface XResultSet;
+
+
+/** provides the possibilty 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
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ 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
+ <type scope="com::sun::star::sdbc">Connection</type>
+ object
+ that produced this
+ <type scope="com::sun::star::sdbc">Statement</type>
+ object.
+ @returns
+ the Connection object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ XConnection getConnection() raises (SQLException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/XRef.idl b/offapi/com/sun/star/sdbc/XRef.idl
new file mode 100644
index 000000000000..e14e30db6e3f
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRef.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XRef_idl__
+#define __com_sun_star_sdbc_XRef_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XResultSet.idl b/offapi/com/sun/star/sdbc/XResultSet.idl
new file mode 100644
index 000000000000..cf908ca0760b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSet.idl
@@ -0,0 +1,345 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#define __com_sun_star_sdbc_XResultSet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XStatement;
+
+
+/** provides the navigation on a table of data. A
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ object is usually generated by executing a
+ <type scope="com::sun::star::sdbc">Statement</type>
+ .
+
+
+ <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
+ <member scope="com::sun::star::sdbc">XResultSet::first()</member>
+ .
+ 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
+ <member scope="com::sun::star::sdbc">XResultSet::next()</member>
+ 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
+ <member scope="com::sun::star::sdbc">XResultSet::updateRow()</member>
+ , 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
+ <type scope="com::sun::star::sdbc">ResultSet</type>
+ object. If the result set was generated some other way, such as by an
+ <type scope="com::sun::star::sdbc">XDatabaseMetaData</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XResultSetMetaData.idl b/offapi/com/sun/star/sdbc/XResultSetMetaData.idl
new file mode 100644
index 000000000000..c0f7ff78364f
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetMetaData.idl
@@ -0,0 +1,286 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XResultSetMetaData_idl__
+#define __com_sun_star_sdbc_XResultSetMetaData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XResultSet::.getObject()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl b/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl
new file mode 100644
index 000000000000..55af74460126
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetMetaDataSupplier.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XResultSetMetaDataSupplier_idl__
+#define __com_sun_star_sdbc_XResultSetMetaDataSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">XResultSetMetaData</type>
+ interface returned by the
+ <member scope="com::sun::star::sdbc">XResultSetMetaDataSupplier::getMetaData()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XResultSetUpdate.idl b/offapi/com/sun/star/sdbc/XResultSetUpdate.idl
new file mode 100644
index 000000000000..ea3075bf622b
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSetUpdate.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XResultSetUpdate_idl__
+#define __com_sun_star_sdbc_XResultSetUpdate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+
+/** provides the possiblity 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
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::updateRow()</member>
+ 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
+ <member scope="com::sun::star::sdbc">XResultSetUpdate::insertRow()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XRow.idl b/offapi/com/sun/star/sdbc/XRow.idl
new file mode 100644
index 000000000000..72ab3fba1885
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRow.idl
@@ -0,0 +1,349 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XRow_idl__
+#define __com_sun_star_sdbc_XRow_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">SQLException</type>
+ 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
+ <member scope="com::sun::star::io">XInputStream::available()</member>
+ 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
+ <member scope="com::sun::star::io">XInputStream::available()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XRowSet.idl b/offapi/com/sun/star/sdbc/XRowSet.idl
new file mode 100644
index 000000000000..ebdc0022f5ad
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowSet.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XRowSet_idl__
+#define __com_sun_star_sdbc_XRowSet_idl__
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+ 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
+ */
+ [oneway] void addRowSetListener([in]XRowSetListener listener );
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+ @param listener
+ the listener which should be registered
+ */
+ [oneway] void removeRowSetListener([in]XRowSetListener listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/XRowSetListener.idl b/offapi/com/sun/star/sdbc/XRowSetListener.idl
new file mode 100644
index 000000000000..d4aba4ab71ac
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowSetListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XRowSetListener_idl__
+#define __com_sun_star_sdbc_XRowSetListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+ module com { module sun { module star { module sdbc {
+
+
+/** is used for receiving "cursorMoved", "rowChanged", and "rowSetChanged" events
+ posted by, for example, a rowset.
+ */
+published interface XRowSetListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when a rowset's cursor is moved.
+ @param event
+ contains information about the event
+ */
+ [oneway] 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
+ */
+ [oneway] 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
+ */
+ [oneway] void rowSetChanged([in]com::sun::star::lang::EventObject event);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/XRowUpdate.idl b/offapi/com/sun/star/sdbc/XRowUpdate.idl
new file mode 100644
index 000000000000..e61286e11605
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XRowUpdate.idl
@@ -0,0 +1,269 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XRowUpdate_idl__
+#define __com_sun_star_sdbc_XRowUpdate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XSQLData.idl b/offapi/com/sun/star/sdbc/XSQLData.idl
new file mode 100644
index 000000000000..f26a09e283fd
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLData.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XSQLData_idl__
+#define __com_sun_star_sdbc_XSQLData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XSQLInput.idl b/offapi/com/sun/star/sdbc/XSQLInput.idl
new file mode 100644
index 000000000000..4ae68b82aa6d
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLInput.idl
@@ -0,0 +1,300 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XSQLInput_idl__
+#define __com_sun_star_sdbc_XSQLInput_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <member scope="com::sun::star::sdbc">XSQLData::getSQLType()</member>
+ to determine the SQL type of the user-defined type (UDT) being custom mapped.
+ The driver creates an instance of
+ <type scope="com::sun::star::sdbc">XSQLInput</type>
+ ,
+ populating it with the attributes of the UDT. The driver then passes the input
+ stream to the method
+ <member scope="com::sun::star::sdbc">XSQLData::readSQL()</member>
+ , 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
+ <member scope="com::sun::star::sdbc">XSQLData::readSQL()</member>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XSQLOutput.idl b/offapi/com/sun/star/sdbc/XSQLOutput.idl
new file mode 100644
index 000000000000..e383dbbfe0b4
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XSQLOutput.idl
@@ -0,0 +1,310 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XSQLOutput_idl__
+#define __com_sun_star_sdbc_XSQLOutput_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">XSQLData</type>
+ is passed as an argument to a SQL statement, the JDBC driver calls
+ <method scope="com::sun::star::sdbc">SQLData::getSQLType</method>
+ 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
+ <method scope="com::sun::star::sdbc">XSQLData::writeSQL</method>
+ . The method
+ <code>writeSQL</code>
+ in turn calls the appropriate
+ <code>XSQLOutput.writeXXX</code>
+ methods to write data from the
+ <type scope="com::sun::star::sdbc">XSQLData</type>
+ 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
+ <member scope="com::sun::star::sdbc">XSQLData::writeSQL()</member>
+ 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
+ <type scope="com::sun::star::sdbc">XSQLInput</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XStatement.idl b/offapi/com/sun/star/sdbc/XStatement.idl
new file mode 100644
index 000000000000..c07288c00c85
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XStatement.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XStatement_idl__
+#define __com_sun_star_sdbc_XStatement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">XMultipleResults</type>.
+ </p>
+ <p>
+ The
+ <code>execute</code>
+ method executes a SQL statement and indicates
+ the form of the first result. You can then use
+ <member scope="com::sun::star::sdbc">XStatement::getResultSet()</member>
+ or
+ <member scope="com::sun::star::sdbc">XStatement::getUpdateCount()</member>
+ to retrieve the result, and
+ <member scope="com::sun::star::sdbc">XStatement::getMoreResults()</member>
+ 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
+ <type scope="com::sun::star::sdbc">Connection</type>
+ 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
diff --git a/offapi/com/sun/star/sdbc/XStruct.idl b/offapi/com/sun/star/sdbc/XStruct.idl
new file mode 100644
index 000000000000..a31535decf46
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XStruct.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XStruct_idl__
+#define __com_sun_star_sdbc_XStruct_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbc/XWarningsSupplier.idl b/offapi/com/sun/star/sdbc/XWarningsSupplier.idl
new file mode 100644
index 000000000000..c19f977a8273
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XWarningsSupplier.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbc_XWarningsSupplier_idl__
+#define __com_sun_star_sdbc_XWarningsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLWarning_idl__
+#include <com/sun/star/sdbc/SQLWarning.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">SQLWarning</type>
+ .
+ </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
+ <member scope="com::sun::star::sdbc">XWarningsSupplier::getWarnings()</member>
+ returns
+ <void/>
+ until a new warning is reported for the object.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void clearWarnings() raises (SQLException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbc/makefile.mk b/offapi/com/sun/star/sdbc/makefile.mk
new file mode 100644
index 000000000000..aa033684a4cf
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/makefile.mk
@@ -0,0 +1,118 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssdbc
+PACKAGE=com$/sun$/star$/sdbc
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ BatchUpdateException.idl \
+ BestRowScope.idl \
+ BestRowType.idl \
+ CallableStatement.idl \
+ ChangeAction.idl \
+ ChangeEvent.idl \
+ ColumnSearch.idl \
+ ColumnType.idl \
+ ColumnValue.idl \
+ Connection.idl \
+ ConnectionPool.idl \
+ ConnectionProperties.idl \
+ DataTruncation.idl \
+ DataType.idl \
+ DBASEConnectionProperties.idl \
+ Deferrability.idl \
+ Driver.idl \
+ DriverManager.idl \
+ DriverPropertyInfo.idl \
+ FetchDirection.idl \
+ FILEConnectionProperties.idl \
+ FLATConnectionProperties.idl \
+ IndexType.idl \
+ JDBCConnectionProperties.idl \
+ KeyRule.idl \
+ ODBCConnectionProperties.idl \
+ PreparedStatement.idl \
+ ProcedureColumn.idl \
+ ProcedureResult.idl \
+ ResultSet.idl \
+ ResultSetConcurrency.idl \
+ ResultSetType.idl \
+ RowSet.idl \
+ SQLException.idl \
+ SQLWarning.idl \
+ Statement.idl \
+ TransactionIsolation.idl \
+ XArray.idl \
+ XBatchExecution.idl \
+ XBlob.idl \
+ XClob.idl \
+ XCloseable.idl \
+ XColumnLocate.idl \
+ XConnection.idl \
+ XDatabaseMetaData.idl \
+ XDatabaseMetaData2.idl \
+ XDataSource.idl \
+ XDriver.idl \
+ XDriverAccess.idl \
+ XDriverManager.idl \
+ XGeneratedResultSet.idl \
+ XIsolatedConnection.idl \
+ XMultipleResults.idl \
+ XOutParameters.idl \
+ XParameters.idl \
+ XPooledConnection.idl \
+ XPreparedBatchExecution.idl \
+ XPreparedStatement.idl \
+ XRef.idl \
+ XResultSet.idl \
+ XResultSetMetaData.idl \
+ XResultSetMetaDataSupplier.idl \
+ XResultSetUpdate.idl \
+ XRow.idl \
+ XRowSet.idl \
+ XRowSetListener.idl \
+ XRowUpdate.idl \
+ XSQLData.idl \
+ XSQLInput.idl \
+ XSQLOutput.idl \
+ XStatement.idl \
+ XStruct.idl \
+ XWarningsSupplier.idl
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
diff --git a/offapi/com/sun/star/sdbcx/CheckOption.idl b/offapi/com/sun/star/sdbcx/CheckOption.idl
new file mode 100644
index 000000000000..a2bc26d6e002
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/CheckOption.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbcx/Column.idl b/offapi/com/sun/star/sdbcx/Column.idl
new file mode 100644
index 000000000000..fd2fa91c6e3e
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Column.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#define __com_sun_star_sdbcx_Column_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">DataType</type>
+ 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
diff --git a/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl
new file mode 100644
index 000000000000..03d1b6c81204
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_ColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_ColumnDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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
+ <type scope="com::sun::star::sdbc">DataType</type>
+ 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 autoincrement column.
+ */
+ [optional, property] string AutoIncrementCreation;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdbcx/CompareBookmark.idl b/offapi/com/sun/star/sdbcx/CompareBookmark.idl
new file mode 100644
index 000000000000..383f3b45554d
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/CompareBookmark.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 comparision 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
diff --git a/offapi/com/sun/star/sdbcx/Container.idl b/offapi/com/sun/star/sdbcx/Container.idl
new file mode 100644
index 000000000000..df346d0c2907
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Container.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl b/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl
new file mode 100644
index 000000000000..7ba296809655
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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's 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
diff --git a/offapi/com/sun/star/sdbcx/Descriptor.idl b/offapi/com/sun/star/sdbcx/Descriptor.idl
new file mode 100644
index 000000000000..0dba8ade4e3c
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Descriptor.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#define __com_sun_star_sdbcx_Descriptor_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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 informations of the descriptor. The descriptor can be used to create serveral objects.
+ </p>
+ <p>
+ A descriptor containes at least the informations 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
diff --git a/offapi/com/sun/star/sdbcx/Driver.idl b/offapi/com/sun/star/sdbcx/Driver.idl
new file mode 100644
index 000000000000..0388a4f3e063
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Driver.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Driver_idl__
+#define __com_sun_star_sdbcx_Driver_idl__
+
+#ifndef __com_sun_star_sdbc_Driver_idl__
+#include <com/sun/star/sdbc/Driver.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XDataDefinitionSupplier;
+ published interface XCreateCatalog;
+ published interface XDropCatalog;
+
+
+/** extends the service
+ <type scope="com::sun::star::sdbc">Driver</type>
+ 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
diff --git a/offapi/com/sun/star/sdbcx/Group.idl b/offapi/com/sun/star/sdbcx/Group.idl
new file mode 100644
index 000000000000..51e528d16837
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Group.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Group_idl__
+#define __com_sun_star_sdbcx_Group_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/GroupDescriptor.idl b/offapi/com/sun/star/sdbcx/GroupDescriptor.idl
new file mode 100644
index 000000000000..1b5386db3e5f
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/GroupDescriptor.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_GroupDescriptor_idl__
+#define __com_sun_star_sdbcx_GroupDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+ 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
diff --git a/offapi/com/sun/star/sdbcx/Index.idl b/offapi/com/sun/star/sdbcx/Index.idl
new file mode 100644
index 000000000000..3fab8da51b63
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Index.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Index_idl__
+#define __com_sun_star_sdbcx_Index_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/IndexColumn.idl b/offapi/com/sun/star/sdbcx/IndexColumn.idl
new file mode 100644
index 000000000000..4aba576e4b38
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexColumn.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_IndexColumn_idl__
+#define __com_sun_star_sdbcx_IndexColumn_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl
new file mode 100644
index 000000000000..7c8fb976b984
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_IndexColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_IndexColumnDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/IndexDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexDescriptor.idl
new file mode 100644
index 000000000000..4d7564c54abc
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/IndexDescriptor.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_IndexDescriptor_idl__
+#define __com_sun_star_sdbcx_IndexDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/Key.idl b/offapi/com/sun/star/sdbcx/Key.idl
new file mode 100644
index 000000000000..f28a05933639
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Key.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Key_idl__
+#define __com_sun_star_sdbcx_Key_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/KeyColumn.idl b/offapi/com/sun/star/sdbcx/KeyColumn.idl
new file mode 100644
index 000000000000..f62c3f571206
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyColumn.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_KeyColumn_idl__
+#define __com_sun_star_sdbcx_KeyColumn_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl
new file mode 100644
index 000000000000..4ae8ce69a27f
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_KeyColumnDescriptor_idl__
+#define __com_sun_star_sdbcx_KeyColumnDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/KeyDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyDescriptor.idl
new file mode 100644
index 000000000000..21386156af08
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyDescriptor.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_KeyDescriptor_idl__
+#define __com_sun_star_sdbcx_KeyDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/sdbcx/KeyType.idl b/offapi/com/sun/star/sdbcx/KeyType.idl
new file mode 100644
index 000000000000..c22c29faedce
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/KeyType.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/sdbcx/PreparedStatement.idl b/offapi/com/sun/star/sdbcx/PreparedStatement.idl
new file mode 100644
index 000000000000..84458026e486
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/PreparedStatement.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_PreparedStatement_idl__
+#define __com_sun_star_sdbcx_PreparedStatement_idl__
+
+#ifndef __com_sun_star_sdbc_PreparedStatement_idl__
+#include <com/sun/star/sdbc/PreparedStatement.idl>
+#endif
+
+module com { module sun { module star { module sdbcx {
+
+/**
+ extends the definition of the service
+ <type scope="com::sun::star::sdbc">PreparedStatement</type>
+ with a flag for the usage of bookmarks.
+ @see ResultSet
+ @see XRowLocate
+ */
+published service PreparedStatement
+{
+ service com::sun::star::sdbc::PreparedStatement;
+ /**
+ returns if a resultset should allow the navigation with bookmarks
+ or not. The default is
+ <FALSE/>
+ .
+ */
+ [property] boolean UseBookmarks;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdbcx/Privilege.idl b/offapi/com/sun/star/sdbcx/Privilege.idl
new file mode 100644
index 000000000000..f8cb811223a7
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Privilege.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 accessrights 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
diff --git a/offapi/com/sun/star/sdbcx/PrivilegeObject.idl b/offapi/com/sun/star/sdbcx/PrivilegeObject.idl
new file mode 100644
index 000000000000..d627f362f21a
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/PrivilegeObject.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 accessrights 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
diff --git a/offapi/com/sun/star/sdbcx/ReferenceColumn.idl b/offapi/com/sun/star/sdbcx/ReferenceColumn.idl
new file mode 100644
index 000000000000..14bc4c75e344
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ReferenceColumn.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_ReferenceColumn_idl__
+#define __com_sun_star_sdbcx_ReferenceColumn_idl__
+
+#ifndef __com_sun_star_sdbcx_Column_idl__
+#include <com/sun/star/sdbcx/Column.idl>
+#endif
+
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/ResultSet.idl b/offapi/com/sun/star/sdbcx/ResultSet.idl
new file mode 100644
index 000000000000..94a9e6c1b8d7
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ResultSet.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_ResultSet_idl__
+#define __com_sun_star_sdbcx_ResultSet_idl__
+
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#include <com/sun/star/sdbc/ResultSet.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+
+ published interface XRowLocate;
+ published interface XDeleteRows;
+
+
+/** extends the SDBC ResultSet by the possibility of bookmark positioning, cancelling
+ the positioning, and updating of rows.
+ */
+published service ResultSet
+{
+ service com::sun::star::sdbc::ResultSet;
+
+
+ /** could be used for cancelling 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 it's bookmark.
+ The implementation is optional.
+ */
+ [optional] interface XDeleteRows;
+
+
+ /** returns if the resultset supports bookmark navigation.
+ */
+ [readonly, property] boolean IsBookmarkable;
+
+
+ /** returns whether the resultset 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
diff --git a/offapi/com/sun/star/sdbcx/Statement.idl b/offapi/com/sun/star/sdbcx/Statement.idl
new file mode 100644
index 000000000000..7e012db03cc5
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Statement.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Statement_idl__
+#define __com_sun_star_sdbcx_Statement_idl__
+
+#ifndef __com_sun_star_sdbc_Statement_idl__
+#include <com/sun/star/sdbc/Statement.idl>
+#endif
+
+ module com { module sun { module star { module sdbcx {
+
+
+/** extends the definition of the service
+ <type scope="com::sun::star::sdbc">Statement</type>
+ 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 resultset should allow navigation with bookmarks or not.
+ The default is
+ <FALSE/>
+ .
+ */
+ [property] boolean UseBookmarks;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbcx/Table.idl b/offapi/com/sun/star/sdbcx/Table.idl
new file mode 100644
index 000000000000..b5c0b25e34ca
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/Table.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_Table_idl__
+#define __com_sun_star_sdbcx_Table_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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 an 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
diff --git a/offapi/com/sun/star/sdbcx/TableDescriptor.idl b/offapi/com/sun/star/sdbcx/TableDescriptor.idl
new file mode 100644
index 000000000000..f3b14df2d953
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/TableDescriptor.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_TableDescriptor_idl__
+#define __com_sun_star_sdbcx_TableDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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 emtpy if not supported by
+ the driver.
+ */
+ [property] string Description;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbcx/User.idl b/offapi/com/sun/star/sdbcx/User.idl
new file mode 100644
index 000000000000..6ffc5bfbe9a1
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/User.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_User_idl__
+#define __com_sun_star_sdbcx_User_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/UserDescriptor.idl b/offapi/com/sun/star/sdbcx/UserDescriptor.idl
new file mode 100644
index 000000000000..4c9d7bbe3e55
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/UserDescriptor.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_UserDescriptor_idl__
+#define __com_sun_star_sdbcx_UserDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/View.idl b/offapi/com/sun/star/sdbcx/View.idl
new file mode 100644
index 000000000000..b84fad819f92
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/View.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_View_idl__
+#define __com_sun_star_sdbcx_View_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+ 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 <member>Command</member>.
+ */
+ [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 <member>XAlterView</member> 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
diff --git a/offapi/com/sun/star/sdbcx/ViewDescriptor.idl b/offapi/com/sun/star/sdbcx/ViewDescriptor.idl
new file mode 100644
index 000000000000..dd481c3891d3
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/ViewDescriptor.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_ViewDescriptor_idl__
+#define __com_sun_star_sdbcx_ViewDescriptor_idl__
+
+#ifndef __com_sun_star_sdbcx_Descriptor_idl__
+#include <com/sun/star/sdbcx/Descriptor.idl>
+#endif
+
+ 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 it's
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XAlterTable.idl b/offapi/com/sun/star/sdbcx/XAlterTable.idl
new file mode 100644
index 000000000000..63363b7b309f
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAlterTable.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XAlterTable_idl__
+#define __com_sun_star_sdbcx_XAlterTable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+ module com { module sun { module star { module beans {
+ published interface XPropertySet;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XAlterView.idl b/offapi/com/sun/star/sdbcx/XAlterView.idl
new file mode 100644
index 000000000000..d234562b3914
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAlterView.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_sdbcx_XAlterView_idl__
+#define __offapi_com_sun_star_sdbcx_XAlterView_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/sdbcx/XAppend.idl b/offapi/com/sun/star/sdbcx/XAppend.idl
new file mode 100644
index 000000000000..ed3ce7c483af
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAppend.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XAppend_idl__
+#define __com_sun_star_sdbcx_XAppend_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+ module com { module sun { module star { module beans {
+ published interface XPropertySet;
+};};};};
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XAuthorizable.idl b/offapi/com/sun/star/sdbcx/XAuthorizable.idl
new file mode 100644
index 000000000000..c83018643ed4
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XAuthorizable.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XAuthorizable_idl__
+#define __com_sun_star_sdbcx_XAuthorizable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
+ */
+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
+ <type scope="com::sun::star::sdbcx">PrivilegeObject</Type>
+ @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
+ <type scope="com::sun::star::sdbcx">PrivilegeObject</Type>
+ @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 <type scope="com::sun::star::sdbcx">PrivilegeObject</type> 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 <type scope="com::sun::star::sdbcx">PrivilegeObject</type> 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
diff --git a/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl b/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl
new file mode 100644
index 000000000000..d97a10b477e4
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XColumnsSupplier_idl__
+#define __com_sun_star_sdbcx_XColumnsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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.
+ @rerurns
+ the columns
+ */
+ com::sun::star::container::XNameAccess getColumns();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sdbcx/XCreateCatalog.idl b/offapi/com/sun/star/sdbcx/XCreateCatalog.idl
new file mode 100644
index 000000000000..ca4f7be00b99
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XCreateCatalog.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XCreateCatalog_idl__
+#define __com_sun_star_sdbcx_XCreateCatalog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+ 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 catolog 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
diff --git a/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl
new file mode 100644
index 000000000000..3a1ad1010d99
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XDataDefinitionSupplier_idl__
+#define __com_sun_star_sdbcx_XDataDefinitionSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl
new file mode 100644
index 000000000000..9b4356a6366f
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XDataDescriptorFactory_idl__
+#define __com_sun_star_sdbcx_XDataDescriptorFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XDeleteRows.idl b/offapi/com/sun/star/sdbcx/XDeleteRows.idl
new file mode 100644
index 000000000000..03c772ce01ae
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDeleteRows.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XDeleteRows_idl__
+#define __com_sun_star_sdbcx_XDeleteRows_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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 intance, 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
diff --git a/offapi/com/sun/star/sdbcx/XDrop.idl b/offapi/com/sun/star/sdbcx/XDrop.idl
new file mode 100644
index 000000000000..d7e7520852a9
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDrop.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XDrop_idl__
+#define __com_sun_star_sdbcx_XDrop_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XDropCatalog.idl b/offapi/com/sun/star/sdbcx/XDropCatalog.idl
new file mode 100644
index 000000000000..8091d914aa86
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XDropCatalog.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XDropCatalog_idl__
+#define __com_sun_star_sdbcx_XDropCatalog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl b/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl
new file mode 100644
index 000000000000..e2bbae67c8b3
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XGroupsSupplier_idl__
+#define __com_sun_star_sdbcx_XGroupsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl b/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl
new file mode 100644
index 000000000000..666d02104201
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XIndexesSupplier_idl__
+#define __com_sun_star_sdbcx_XIndexesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XKeysSupplier.idl b/offapi/com/sun/star/sdbcx/XKeysSupplier.idl
new file mode 100644
index 000000000000..1954bd2056d6
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XKeysSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XKeysSupplier_idl__
+#define __com_sun_star_sdbcx_XKeysSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XRename.idl b/offapi/com/sun/star/sdbcx/XRename.idl
new file mode 100644
index 000000000000..41e8807232a9
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XRename.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XRename_idl__
+#define __com_sun_star_sdbcx_XRename_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+ 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 a 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
diff --git a/offapi/com/sun/star/sdbcx/XRowLocate.idl b/offapi/com/sun/star/sdbcx/XRowLocate.idl
new file mode 100644
index 000000000000..6d87b7faae92
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XRowLocate.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XRowLocate_idl__
+#define __com_sun_star_sdbcx_XRowLocate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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 an 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 behaviour 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 behaviour 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 <type scope="com::sun::star::sdbcx">CompareBookmark</type>
+ @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
diff --git a/offapi/com/sun/star/sdbcx/XTablesSupplier.idl b/offapi/com/sun/star/sdbcx/XTablesSupplier.idl
new file mode 100644
index 000000000000..58b441b2acde
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XTablesSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XTablesSupplier_idl__
+#define __com_sun_star_sdbcx_XTablesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XUser.idl b/offapi/com/sun/star/sdbcx/XUser.idl
new file mode 100644
index 000000000000..f99cbe1e5107
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XUser.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XUser_idl__
+#define __com_sun_star_sdbcx_XUser_idl__
+
+#ifndef __com_sun_star_sdbcx_XAuthorizable_idl__
+#include <com/sun/star/sdbcx/XAuthorizable.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XUsersSupplier.idl b/offapi/com/sun/star/sdbcx/XUsersSupplier.idl
new file mode 100644
index 000000000000..c1c77fddaf9c
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XUsersSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XUsersSupplier_idl__
+#define __com_sun_star_sdbcx_XUsersSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/XViewsSupplier.idl b/offapi/com/sun/star/sdbcx/XViewsSupplier.idl
new file mode 100644
index 000000000000..f0988c1c8bb1
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/XViewsSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sdbcx_XViewsSupplier_idl__
+#define __com_sun_star_sdbcx_XViewsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+ 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
diff --git a/offapi/com/sun/star/sdbcx/makefile.mk b/offapi/com/sun/star/sdbcx/makefile.mk
new file mode 100644
index 000000000000..5950687989cf
--- /dev/null
+++ b/offapi/com/sun/star/sdbcx/makefile.mk
@@ -0,0 +1,97 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssdbcx
+PACKAGE=com$/sun$/star$/sdbcx
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ CheckOption.idl \
+ CompareBookmark.idl \
+ Column.idl \
+ ColumnDescriptor.idl \
+ Container.idl \
+ DatabaseDefinition.idl \
+ Descriptor.idl \
+ Driver.idl \
+ Group.idl \
+ GroupDescriptor.idl \
+ Index.idl \
+ IndexColumn.idl \
+ IndexColumnDescriptor.idl \
+ IndexDescriptor.idl \
+ Key.idl \
+ KeyColumn.idl \
+ KeyDescriptor.idl \
+ KeyColumnDescriptor.idl \
+ KeyDescriptor.idl \
+ KeyType.idl \
+ PreparedStatement.idl \
+ Privilege.idl \
+ PrivilegeObject.idl \
+ ReferenceColumn.idl \
+ ResultSet.idl \
+ Statement.idl \
+ Table.idl \
+ TableDescriptor.idl \
+ User.idl \
+ UserDescriptor.idl \
+ View.idl \
+ ViewDescriptor.idl \
+ XAlterTable.idl \
+ XAlterView.idl \
+ XAppend.idl \
+ XAuthorizable.idl \
+ XColumnsSupplier.idl \
+ XCreateCatalog.idl \
+ XDeleteRows.idl \
+ XDataDefinitionSupplier.idl \
+ XDataDescriptorFactory.idl \
+ XDrop.idl \
+ XDropCatalog.idl \
+ XGroupsSupplier.idl \
+ XIndexesSupplier.idl \
+ XKeysSupplier.idl \
+ XRename.idl \
+ XRowLocate.idl \
+ XTablesSupplier.idl \
+ XUser.idl \
+ XUsersSupplier.idl \
+ XViewsSupplier.idl \
+
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
diff --git a/offapi/com/sun/star/security/CertificateCharacters.idl b/offapi/com/sun/star/security/CertificateCharacters.idl
new file mode 100644
index 000000000000..4185759a2a95
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateCharacters.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 definiton 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
+
diff --git a/offapi/com/sun/star/security/CertificateContainer.idl b/offapi/com/sun/star/security/CertificateContainer.idl
new file mode 100644
index 000000000000..ca6573c9c13b
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateContainer.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_security_CertificateContainer_idl
+#define INCLUDED_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>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module security {
+
+/** the service to be used for <type>XCertificateContainer</type>.
+ @since OOo 2.3.1
+*/
+service CertificateContainer: XCertificateContainer;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/security/CertificateContainerStatus.idl b/offapi/com/sun/star/security/CertificateContainerStatus.idl
new file mode 100644
index 000000000000..302e301e562a
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateContainerStatus.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/** -- idl definition -- **/
+
+#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 definiton 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
+
diff --git a/offapi/com/sun/star/security/CertificateException.idl b/offapi/com/sun/star/security/CertificateException.idl
new file mode 100644
index 000000000000..3c4c16ad4a86
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_CertificateException_idl__
+#define __com_sun_star_security_CertificateException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception CertificateException : com::sun::star::uno::SecurityException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/CertificateValidity.idl b/offapi/com/sun/star/security/CertificateValidity.idl
new file mode 100644
index 000000000000..3130a72ca713
--- /dev/null
+++ b/offapi/com/sun/star/security/CertificateValidity.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 definiton 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
+
diff --git a/offapi/com/sun/star/security/CryptographyException.idl b/offapi/com/sun/star/security/CryptographyException.idl
new file mode 100644
index 000000000000..d45ca6f76931
--- /dev/null
+++ b/offapi/com/sun/star/security/CryptographyException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_CryptographyException_idl__
+#define __com_sun_star_security_CryptographyException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception CryptographyException : com::sun::star::uno::SecurityException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/DocumentDigitalSignatures.idl b/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
new file mode 100644
index 000000000000..64ad581602c4
--- /dev/null
+++ b/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+#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/lang/XServiceInfo.idl>
+
+#include "XDocumentDigitalSignatures.idl"
+
+module com { module sun { module star { module security {
+
+/**
+ * Service of DocumentDigitalSignatures
+ */
+
+ service Decryptor {
+ interface XDocumentDigitalSignatures ;
+};
+
+} ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/security/DocumentSignatureInformation.idl b/offapi/com/sun/star/security/DocumentSignatureInformation.idl
new file mode 100644
index 000000000000..c57c68b05932
--- /dev/null
+++ b/offapi/com/sun/star/security/DocumentSignatureInformation.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_security_DocumentSignatureInformation_idl__
+#define __com_sun_star_security_DocumentSignatureInformation_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;
+ long SignatureTime;
+ boolean SignatureIsValid;
+ /* reflects the validity of the certificate.
+ Contains a value from the constants of
+ <type scope="com::sun::star::security">CertificateValidity</type>.
+ */
+ 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 everthing, execept mimetype and the META-INF folder.
+ <p>
+ If PartialDocumentSignature is true, then the signature was created by OOo
+ with a version less then 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/EncryptionException.idl b/offapi/com/sun/star/security/EncryptionException.idl
new file mode 100644
index 000000000000..64e17bf5d260
--- /dev/null
+++ b/offapi/com/sun/star/security/EncryptionException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_EncryptionException_idl__
+#define __com_sun_star_security_EncryptionException_idl__
+
+#ifndef __com_sun_star_security_CryptographyException_idl__
+#include <com/sun/star/security/CryptographyException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception EncryptionException : com::sun::star::security::CryptographyException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/KeyException.idl b/offapi/com/sun/star/security/KeyException.idl
new file mode 100644
index 000000000000..f323def3b585
--- /dev/null
+++ b/offapi/com/sun/star/security/KeyException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_KeyException_idl__
+#define __com_sun_star_security_KeyException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception KeyException : com::sun::star::uno::SecurityException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/KeyUsage.idl b/offapi/com/sun/star/security/KeyUsage.idl
new file mode 100644
index 000000000000..0230762f436a
--- /dev/null
+++ b/offapi/com/sun/star/security/KeyUsage.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/security/NoPasswordException.idl b/offapi/com/sun/star/security/NoPasswordException.idl
new file mode 100644
index 000000000000..b11abbaf6cba
--- /dev/null
+++ b/offapi/com/sun/star/security/NoPasswordException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_NoPasswordException_idl__
+#define __com_sun_star_security_NoPasswordException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception NoPasswordException : com::sun::star::uno::SecurityException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/SecurityInfrastructureException.idl b/offapi/com/sun/star/security/SecurityInfrastructureException.idl
new file mode 100644
index 000000000000..2b68c42b52ec
--- /dev/null
+++ b/offapi/com/sun/star/security/SecurityInfrastructureException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_SecurityInfrastructureException_idl__
+#define __com_sun_star_security_SecurityInfrastructureException_idl__
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception SecurityInfrastructureException : com::sun::star::uno::SecurityException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/SerialNumberAdapter.idl b/offapi/com/sun/star/security/SerialNumberAdapter.idl
new file mode 100644
index 000000000000..258426fe3f1b
--- /dev/null
+++ b/offapi/com/sun/star/security/SerialNumberAdapter.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_security_SerialNumberAdapter_idl_
+#define __com_sun_star_security_SerialNumberAdapter_idl_
+
+//============================================================================
+
+module com { module sun { module star { module security {
+ interface XSerialNumberAdapter; };
+}; }; };
+
+//============================================================================
+
+module com { module sun { module star { module security {
+
+//============================================================================
+
+/** provides conversion services for Serial Numbers.
+
+ <p>An implementation of this service enables the conversion of certificate
+ serial number to and from a string</p>
+
+ @since OOo 3.1.0
+ */
+
+service SerialNumberAdapter : XSerialNumberAdapter;
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/security/SignatureException.idl b/offapi/com/sun/star/security/SignatureException.idl
new file mode 100644
index 000000000000..d7bf72eb43cc
--- /dev/null
+++ b/offapi/com/sun/star/security/SignatureException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_SignatureException_idl__
+#define __com_sun_star_security_SignatureException_idl__
+
+#ifndef __com_sun_star_security_CryptographyException_idl__
+#include <com/sun/star/security/CryptographyException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module security {
+
+//=============================================================================
+
+exception SignatureException : com::sun::star::security::CryptographyException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/security/XCertificate.idl b/offapi/com/sun/star/security/XCertificate.idl
new file mode 100644
index 000000000000..155ddc5e6b2f
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificate.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of a PKI Certificate
+ *
+ * <p>This interface represents a x509 certificate.</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 SHA1 thumbprint
+ */
+ [attribute, readonly] sequence< byte > SHA1Thumbprint;
+
+ /**
+ * the MD5 thumbprint
+ */
+ [attribute, readonly] sequence< byte > MD5Thumbprint;
+
+ /**
+ * Find a extension with a object identifier.
+ */
+ XCertificateExtension findCertificateExtension( [in]sequence< byte > oid ) ;
+
+ /**
+ * get the certificate usage
+ */
+ long getCertificateUsage();
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/security/XCertificateContainer.idl b/offapi/com/sun/star/security/XCertificateContainer.idl
new file mode 100644
index 000000000000..c71f0d209aab
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificateContainer.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_security_XCertificateContainer_idl
+#define INCLUDED_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 );
+
+ /** Sheck if a certificate was stored earlier before.
+ @param url
+ @param cert
+ @return CertificateContainerStatus
+
+ */
+
+ CertificateContainerStatus hasCertificate([in] string url,
+ [in] string cert );
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/security/XCertificateExtension.idl b/offapi/com/sun/star/security/XCertificateExtension.idl
new file mode 100644
index 000000000000..93148a74ac48
--- /dev/null
+++ b/offapi/com/sun/star/security/XCertificateExtension.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
diff --git a/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl b/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl
new file mode 100644
index 000000000000..aadcbe061912
--- /dev/null
+++ b/offapi/com/sun/star/security/XDocumentDigitalSignatures.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_XDocumentDigitalSignatures_idl_
+#define __com_sun_star_security_XDocumentDigitalSignatures_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 digitaly sign different content in a 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);
+
+ /** 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 excecpt 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 pathes )
+ */
+
+ void manageTrustedSources();
+ boolean isAuthorTrusted( [in] com::sun::star::security::XCertificate Author );
+ boolean isLocationTrusted( [in] string Location );
+
+ // These method should raise confirmation dialog, so it can not used from bad macros...
+ void addAuthorToTrustedSources( [in] com::sun::star::security::XCertificate Author );
+ void addLocationToTrustedSources( [in] string Location );
+
+
+
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
+
diff --git a/offapi/com/sun/star/security/XSerialNumberAdapter.idl b/offapi/com/sun/star/security/XSerialNumberAdapter.idl
new file mode 100644
index 000000000000..b21ba3065da9
--- /dev/null
+++ b/offapi/com/sun/star/security/XSerialNumberAdapter.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_security_XSerialNumberAdapter_idl_
+#define __com_sun_star_security_XSerialNumberAdapter_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module security {
+
+/**
+ * Interface of Certificate Serial Number Converter
+ *
+ * <p>This interface converts a certificate serial number to and from a string</p>
+ */
+interface XSerialNumberAdapter : com::sun::star::uno::XInterface
+{
+ /**
+ * Convert the SerialNumber to a string
+ */
+ string toString( [in]sequence< byte > SerialNumber );
+
+ /**
+ * Convert the SerialNumber to a sequence
+ */
+ sequence< byte > toSequence( [in]string SerialNumber );
+
+} ;
+
+} ; } ; } ; } ;
+
+#endif
+
diff --git a/offapi/com/sun/star/security/makefile.mk b/offapi/com/sun/star/security/makefile.mk
new file mode 100644
index 000000000000..21667da10972
--- /dev/null
+++ b/offapi/com/sun/star/security/makefile.mk
@@ -0,0 +1,67 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-security
+PACKAGE=com$/sun$/star$/security
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CertificateException.idl \
+ CryptographyException.idl \
+ DocumentDigitalSignatures.idl \
+ DocumentSignatureInformation.idl \
+ EncryptionException.idl \
+ KeyException.idl \
+ NoPasswordException.idl \
+ SecurityInfrastructureException.idl \
+ SignatureException.idl \
+ XCertificate.idl \
+ CertificateCharacters.idl \
+ CertificateValidity.idl \
+ XCertificateExtension.idl \
+ XDocumentDigitalSignatures.idl \
+ KeyUsage.idl \
+ XCertificateContainer.idl \
+ XSerialNumberAdapter.idl \
+ SerialNumberAdapter.idl \
+ CertificateContainer.idl \
+ CertificateContainerStatus.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/setup/ActionType.idl b/offapi/com/sun/star/setup/ActionType.idl
new file mode 100644
index 000000000000..912d9cc3f2ad
--- /dev/null
+++ b/offapi/com/sun/star/setup/ActionType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_ActionType_idl__
+#define __com_sun_star_setup_ActionType_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published enum ActionType
+{
+ INVALID,
+
+ DOWNLOAD,
+
+ MAKEDIR,
+
+ DELETEDIR,
+
+ COPYFILE,
+
+ UNZIPFILE,
+
+ DELETEFILE,
+
+ MAKEFOLDER,
+
+ MAKEFOLDERITEM,
+
+ DELETEFOLDER,
+
+ DELETEFOLDERITEM,
+
+ PROFILEITEM,
+
+ FONT,
+
+ CREATESHORTCUT,
+
+ WINREGISTRY
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/BaseAction.idl b/offapi/com/sun/star/setup/BaseAction.idl
new file mode 100644
index 000000000000..f3edc68d8859
--- /dev/null
+++ b/offapi/com/sun/star/setup/BaseAction.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#define __com_sun_star_setup_BaseAction_idl__
+
+#ifndef __com_sun_star_setup_ActionType_idl__
+#include <com/sun/star/setup/ActionType.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct BaseAction
+{
+ // DocMerge: empty anyway
+ ActionType eType;
+
+ // DocMerge: empty anyway
+ boolean bDone;
+ boolean bProcess;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/CopyFileAction.idl b/offapi/com/sun/star/setup/CopyFileAction.idl
new file mode 100644
index 000000000000..b7d8e8e900ea
--- /dev/null
+++ b/offapi/com/sun/star/setup/CopyFileAction.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_CopyFileAction_idl__
+#define __com_sun_star_setup_CopyFileAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct CopyFileAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strSourceFilename;
+
+ // DocMerge: empty anyway
+ string strDestinationFilename;
+
+ // DocMerge: empty anyway
+ boolean bUnoComponent;
+ boolean bActiveX;
+
+ // DocMerge: empty anyway
+ boolean bOverwrite;
+
+ // DocMerge: empty anyway
+ com::sun::star::util::DateTime aDateTime;
+
+ // DocMerge: empty anyway
+ long nRights;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/DeleteDirAction.idl b/offapi/com/sun/star/setup/DeleteDirAction.idl
new file mode 100644
index 000000000000..59f358c1a76c
--- /dev/null
+++ b/offapi/com/sun/star/setup/DeleteDirAction.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_DeleteDirAction_idl__
+#define __com_sun_star_setup_DeleteDirAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct DeleteDirAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strDirname;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/DeleteFileAction.idl b/offapi/com/sun/star/setup/DeleteFileAction.idl
new file mode 100644
index 000000000000..dc58ef733277
--- /dev/null
+++ b/offapi/com/sun/star/setup/DeleteFileAction.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_DeleteFileAction_idl__
+#define __com_sun_star_setup_DeleteFileAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct DeleteFileAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strDestinationPath;
+
+ // DocMerge: empty anyway
+ string strPattern;
+
+ // DocMerge: empty anyway
+ boolean bUnoComponent;
+ boolean bActiveX;
+
+ boolean bTestDate;
+
+ // DocMerge: empty anyway
+ com::sun::star::util::DateTime aDateTime;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/DeleteFolderAction.idl b/offapi/com/sun/star/setup/DeleteFolderAction.idl
new file mode 100644
index 000000000000..2a5a1c56568f
--- /dev/null
+++ b/offapi/com/sun/star/setup/DeleteFolderAction.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_DeleteFolderAction_idl__
+#define __com_sun_star_setup_DeleteFolderAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct DeleteFolderAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFoldername;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/DeleteFolderItemAction.idl b/offapi/com/sun/star/setup/DeleteFolderItemAction.idl
new file mode 100644
index 000000000000..d17f39bcf135
--- /dev/null
+++ b/offapi/com/sun/star/setup/DeleteFolderItemAction.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_DeleteFolderItemAction_idl__
+#define __com_sun_star_setup_DeleteFolderItemAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct DeleteFolderItemAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFoldername;
+
+ // DocMerge: empty anyway
+ string strItemname;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/DownloadAction.idl b/offapi/com/sun/star/setup/DownloadAction.idl
new file mode 100644
index 000000000000..c83739715086
--- /dev/null
+++ b/offapi/com/sun/star/setup/DownloadAction.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_DownloadAction_idl__
+#define __com_sun_star_setup_DownloadAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct DownloadAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFilename;
+
+ // DocMerge: empty anyway
+ long nSizeKB;
+
+ // DocMerge: empty anyway
+ long nCRC;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/FontAction.idl b/offapi/com/sun/star/setup/FontAction.idl
new file mode 100644
index 000000000000..5b8e54a3bc49
--- /dev/null
+++ b/offapi/com/sun/star/setup/FontAction.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_FontAction_idl__
+#define __com_sun_star_setup_FontAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct FontAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFontFilename;
+
+ // DocMerge: empty anyway
+ string strFontname;
+
+ // DocMerge: empty anyway
+ boolean bCreate;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/InstallEnvironment.idl b/offapi/com/sun/star/setup/InstallEnvironment.idl
new file mode 100644
index 000000000000..4929d4125cd5
--- /dev/null
+++ b/offapi/com/sun/star/setup/InstallEnvironment.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_InstallEnvironment_idl__
+#define __com_sun_star_setup_InstallEnvironment_idl__
+
+#include <com/sun/star/setup/OSType.idl>
+#include <com/sun/star/setup/ModuleState.idl>
+#include <com/sun/star/setup/InstallType.idl>
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct InstallEnvironment
+{
+ // DocMerge: empty anyway
+ OSType eOSType;
+
+ // DocMerge: empty anyway
+ InstallType eInstallType;
+
+ // DocMerge: empty anyway
+ string strDestinationPath;
+
+ // DocMerge: empty anyway
+ long nClusterSize;
+
+ // DocMerge: empty anyway
+ long nDriveSize;
+
+ // DocMerge: empty anyway
+ sequence <short> seqLanguages;
+
+ // DocMerge: empty anyway
+ sequence <short> seqSwitchLanguages;
+
+ // DocMerge: empty anyway
+ sequence <ModuleState> seqModuleIDList;
+
+ // DocMerge: empty anyway
+ string strUserName;
+
+ // DocMerge: empty anyway
+ string strUserFirstName;
+
+ // DocMerge: empty anyway
+ string strUserId;
+
+ // DocMerge: empty anyway
+ string strCompanyname;
+
+ // DocMerge: empty anyway
+ string strStreet;
+
+ // DocMerge: empty anyway
+ string strCountry;
+
+ // DocMerge: empty anyway
+ string strZip;
+
+ // DocMerge: empty anyway
+ string strCity;
+
+ // DocMerge: empty anyway
+ string strTitle;
+
+ // DocMerge: empty anyway
+ string strPosition;
+
+ // DocMerge: empty anyway
+ string strPhonePriv;
+
+ // DocMerge: empty anyway
+ string strPhoneCompany;
+
+ // DocMerge: empty anyway
+ string strPhoneFax;
+
+ // DocMerge: empty anyway
+ string strEmail;
+
+ // DocMerge: empty anyway
+ string strState;
+
+ // DocMerge: empty anyway
+ string strFatherName;
+
+ // DocMerge: empty anyway
+ string strApartmentNr;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/InstallResponse.idl b/offapi/com/sun/star/setup/InstallResponse.idl
new file mode 100644
index 000000000000..61930efdec91
--- /dev/null
+++ b/offapi/com/sun/star/setup/InstallResponse.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_InstallResponse_idl__
+#define __com_sun_star_setup_InstallResponse_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published enum ResponseErrorCode
+{
+ // DocMerge: empty anyway
+ NOERROR,
+
+ // DocMerge: empty anyway
+ NOT_ENOUGH_SPACE
+ };
+
+// DocMerge: empty anyway
+published struct InstallResponse
+{
+ // DocMerge: empty anyway
+ boolean bSuccess;
+
+ // DocMerge: empty anyway
+ ResponseErrorCode eErrorCode;
+
+ // DocMerge: empty anyway
+ long nSizeNeeded;
+
+ // DocMerge: empty anyway
+ boolean bReboot;
+
+ // DocMerge: empty anyway
+ boolean bLogout;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/InstallType.idl b/offapi/com/sun/star/setup/InstallType.idl
new file mode 100644
index 000000000000..2e79019f88f4
--- /dev/null
+++ b/offapi/com/sun/star/setup/InstallType.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_InstallType_idl__
+#define __com_sun_star_setup_InstallType_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published enum InstallType
+{
+ // DocMerge: empty anyway
+ INVALID,
+
+ // DocMerge: empty anyway
+ INSTALL,
+
+ // DocMerge: empty anyway
+ FULLINSTALL,
+
+ // DocMerge: empty anyway
+ CHANGE,
+
+ // DocMerge: empty anyway
+ REPAIR,
+
+ // DocMerge: empty anyway
+ DELETE,
+
+ // DocMerge: empty anyway
+ FULLDELETE,
+
+ // DocMerge: empty anyway
+ UPDATE
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/MakeDirAction.idl b/offapi/com/sun/star/setup/MakeDirAction.idl
new file mode 100644
index 000000000000..3d2dd8a250ea
--- /dev/null
+++ b/offapi/com/sun/star/setup/MakeDirAction.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_MakeDirAction_idl__
+#define __com_sun_star_setup_MakeDirAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct MakeDirAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strDirname;
+
+ // DocMerge: empty anyway
+ long nRights;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/MakeFolderAction.idl b/offapi/com/sun/star/setup/MakeFolderAction.idl
new file mode 100644
index 000000000000..679c498703c2
--- /dev/null
+++ b/offapi/com/sun/star/setup/MakeFolderAction.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_MakeFolderAction_idl__
+#define __com_sun_star_setup_MakeFolderAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct MakeFolderAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFoldername;
+
+ // DocMerge: empty anyway
+ boolean bUserFolder;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/MakeFolderItemAction.idl b/offapi/com/sun/star/setup/MakeFolderItemAction.idl
new file mode 100644
index 000000000000..d1de33a11a49
--- /dev/null
+++ b/offapi/com/sun/star/setup/MakeFolderItemAction.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_MakeFolderItemAction_idl__
+#define __com_sun_star_setup_MakeFolderItemAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct MakeFolderItemAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strFoldername;
+
+ // DocMerge: empty anyway
+ string strItemname;
+
+ // DocMerge: empty anyway
+ string strDestinationPath;
+
+ // DocMerge: empty anyway
+ string strDestinationExecutable;
+
+ // DocMerge: empty anyway
+ string strParameter;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/MakeShortcutAction.idl b/offapi/com/sun/star/setup/MakeShortcutAction.idl
new file mode 100644
index 000000000000..15c2bbcde561
--- /dev/null
+++ b/offapi/com/sun/star/setup/MakeShortcutAction.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_MakeShortcutAction_idl__
+#define __com_sun_star_setup_MakeShortcutAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct MakeShortcutAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strSource;
+
+ // DocMerge: empty anyway
+ string strDestination;
+
+ // DocMerge: empty anyway
+ string strPath;
+
+ // DocMerge: empty anyway
+ string strDescription;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/MirrorEntry.idl b/offapi/com/sun/star/setup/MirrorEntry.idl
new file mode 100644
index 000000000000..bdd8029fea78
--- /dev/null
+++ b/offapi/com/sun/star/setup/MirrorEntry.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_MirrorEntry_idl__
+#define __com_sun_star_setup_MirrorEntry_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct MirrorEntry
+{
+ // DocMerge: empty anyway
+ string strDisplayname;
+
+ // DocMerge: empty anyway
+ string strPath;
+
+ // DocMerge: empty anyway
+ short nQuality;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/ModuleInfo.idl b/offapi/com/sun/star/setup/ModuleInfo.idl
new file mode 100644
index 000000000000..a1d71aa84d55
--- /dev/null
+++ b/offapi/com/sun/star/setup/ModuleInfo.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_ModuleInfo_idl__
+#define __com_sun_star_setup_ModuleInfo_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct ModuleInfo
+{
+ // DocMerge: empty anyway
+ string strID;
+
+ // DocMerge: empty anyway
+ string strName;
+
+ // DocMerge: empty anyway
+ string strDescription;
+
+ // DocMerge: empty anyway
+ string strOnSelect;
+
+ // DocMerge: empty anyway
+ string strOnDeselect;
+
+ // DocMerge: empty anyway
+ boolean isMinimal;
+
+ // DocMerge: empty anyway
+ boolean isDefault;
+
+ // DocMerge: empty anyway
+ boolean isHiddenRoot;
+
+ // DocMerge: empty anyway
+ boolean isDontSelectByUser;
+
+ // DocMerge: empty anyway
+ long nSizeKB;
+
+ // DocMerge: empty anyway
+ sequence < any > seqSubModules;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/ModuleState.idl b/offapi/com/sun/star/setup/ModuleState.idl
new file mode 100644
index 000000000000..54662fb68515
--- /dev/null
+++ b/offapi/com/sun/star/setup/ModuleState.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_ModuleState_idl__
+#define __com_sun_star_setup_ModuleState_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct ModuleState
+{
+ // DocMerge: empty anyway
+ string strID;
+
+ // DocMerge: empty anyway
+ boolean isSelected;
+
+ // DocMerge: empty anyway
+ boolean isInstalled;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/OSType.idl b/offapi/com/sun/star/setup/OSType.idl
new file mode 100644
index 000000000000..eab1505194d7
--- /dev/null
+++ b/offapi/com/sun/star/setup/OSType.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_OSType_idl__
+#define __com_sun_star_setup_OSType_idl__
+
+// dear porters: please do not apply any patches for new platforms here
+// it depricated anyway and any patches will cause API
+// incompatibity errors mh
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published enum OSType
+{
+ // DocMerge: empty anyway
+ INVALID,
+
+ // DocMerge: empty anyway
+ WIN,
+
+ // DocMerge: empty anyway
+ OS2,
+
+ // DocMerge: empty anyway
+ MAC,
+
+ // DocMerge: empty anyway
+ UNIX_SOLS,
+
+ // DocMerge: empty anyway
+ UNIX_SOLI,
+
+ // DocMerge: empty anyway
+ UNIX_LINUX,
+
+ // DocMerge: empty anyway
+ UNIX_HP,
+
+ // DocMerge: empty anyway
+ UNIX_SCO,
+
+ // DocMerge: empty anyway
+ UNIX_SOLSG,
+
+ // DocMerge: empty anyway
+ UNIX_SOLIG
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/ProductRegistration.idl b/offapi/com/sun/star/setup/ProductRegistration.idl
new file mode 100644
index 000000000000..9f684b810fbe
--- /dev/null
+++ b/offapi/com/sun/star/setup/ProductRegistration.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_setup_ProductRegistration_idl__
+#define __com_sun_star_setup_ProductRegistration_idl__
+
+#ifndef __com_sun_star_task_JobExecutor_idl__
+#include <com/sun/star/task/JobExecutor.idl>
+#endif
+
+#ifndef __com_sun_star_task_XJob_idl__
+#include <com/sun/star/task/XJob.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/** provides a mechanism for registering the product.
+
+ <p>Two main functionalities are covered by this service:
+ <ul><il><em>Triggering Online Registration</em><br/>
+ If, by any user interface of your choice, the user tells she wants to register
+ their product copy, ProductRegistration is the service of your choice.
+ </il><br/>
+ <il><em>Executing Registration Requests</em><br/>
+ ProductRegistration allows to remind your users to register, using a dialog with various
+ choices.
+ </il>
+ </ul></p>
+
+ @since OOo 1.1.2
+*/
+published service ProductRegistration
+{
+ /** allows to trigger certain events.
+
+ <p>The string argument of <method scope="com::sun::star::task">XJobExecutor::trigger</method> is
+ used to determine the type of the event. Currently supported events are:<br/>
+ <ul><li><b>RegistrationRequired</b><br/>
+ Determines that the registration is required to be executed.<br/>
+ This is usually triggered by some user interaction, for instance upon choosing a menu item
+ called <em>Registration</em>.</p>
+ </li>
+ </ul>
+ </p>
+ */
+ service com::sun::star::task::JobExecutor;
+
+ /** allows the registration request to be scheduled automatically.
+
+ <p>There are processes which allow to schedule events and jobs, for instance there
+ can be configuration settings scheduling which operations are to be executed upon an program
+ startup. Such processes usually require the jobs to be executed to support the
+ <type scope="com::sun::star::task">XJob</type> interface.</p>
+
+ <p>That's why this service supports the <type scope="com::sun::star::task">XJob</type>, too.<br/>
+ Calling the <method scope="com::sun::star::task">XJob::execute</method> method results in displaying a
+ dialog which asks the user to register. This is done once per session, means you need to restart the
+ process which called this.</p>
+
+ <p>At the moment, there is no specification about how to use the arguments given in the
+ <method scope="com::sun::star::task">XJob::execute</method> method, but this may change in future versions of the service
+ descriptions, so to keep your implementation compatible, you should not use these arguments.</p>
+ */
+ interface com::sun::star::task::XJob;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/ProfileItemAction.idl b/offapi/com/sun/star/setup/ProfileItemAction.idl
new file mode 100644
index 000000000000..68d432d2022f
--- /dev/null
+++ b/offapi/com/sun/star/setup/ProfileItemAction.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_ProfileItemAction_idl__
+#define __com_sun_star_setup_ProfileItemAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct ProfileItemAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strProfilename;
+
+ // DocMerge: empty anyway
+ string strSection;
+
+ // DocMerge: empty anyway
+ string strKey;
+
+ // DocMerge: empty anyway
+ string strValue;
+
+ // DocMerge: empty anyway
+ boolean bCreate;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/Setup.idl b/offapi/com/sun/star/setup/Setup.idl
new file mode 100644
index 000000000000..b6012bc46ed8
--- /dev/null
+++ b/offapi/com/sun/star/setup/Setup.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_setup_XSetup_idl__
+#include <com/sun/star/setup/XSetup.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published service Setup
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::setup::XSetup;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::lang::XServiceInfo;
+ };
+
+}; }; }; };
+
diff --git a/offapi/com/sun/star/setup/SizeInfo.idl b/offapi/com/sun/star/setup/SizeInfo.idl
new file mode 100644
index 000000000000..ae185838d4ec
--- /dev/null
+++ b/offapi/com/sun/star/setup/SizeInfo.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_SizeInfo_idl__
+#define __com_sun_star_setup_SizeInfo_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct SizeInfo
+{
+ // DocMerge: empty anyway
+ long nNormalSizeKB;
+
+ // DocMerge: empty anyway
+ long nNormalTempSizeKB;
+
+ // DocMerge: empty anyway
+ long nMinimalSizeKB;
+
+ // DocMerge: empty anyway
+ long nMinimalTempSizeKB;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/UnzipAction.idl b/offapi/com/sun/star/setup/UnzipAction.idl
new file mode 100644
index 000000000000..034de904d5d2
--- /dev/null
+++ b/offapi/com/sun/star/setup/UnzipAction.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_UnzipAction_idl__
+#define __com_sun_star_setup_UnzipAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct UnzipAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strSourceFilename;
+
+ // DocMerge: empty anyway
+ string strDestinationPath;
+
+ // DocMerge: empty anyway
+ string strPattern;
+
+ // DocMerge: empty anyway
+ boolean bUnoComponent;
+ boolean bActiveX;
+
+ // DocMerge: empty anyway
+ boolean bOverwrite;
+
+ // DocMerge: empty anyway
+ com::sun::star::util::DateTime aDateTime;
+
+ // DocMerge: empty anyway
+ long nRights;
+
+ // DocMerge: empty anyway
+ sequence <string> seqSubFiles;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/UpdateType.idl b/offapi/com/sun/star/setup/UpdateType.idl
new file mode 100644
index 000000000000..aeaa7e329cf8
--- /dev/null
+++ b/offapi/com/sun/star/setup/UpdateType.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_UpdateType_idl__
+#define __com_sun_star_setup_UpdateType_idl__
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published enum UpdateType
+{
+ // DocMerge: empty anyway
+ INVALID,
+
+ // DocMerge: empty anyway
+ EQUAL,
+
+ // DocMerge: empty anyway
+ OPTIONAL,
+
+ // DocMerge: empty anyway
+ REQUIRED
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/VersionIdentifier.idl b/offapi/com/sun/star/setup/VersionIdentifier.idl
new file mode 100644
index 000000000000..f7c9705b6061
--- /dev/null
+++ b/offapi/com/sun/star/setup/VersionIdentifier.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_VersionIdentifier_idl__
+#define __com_sun_star_setup_VersionIdentifier_idl__
+
+#include <com/sun/star/setup/OSType.idl>
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct VersionIdentifier
+{
+ // DocMerge: empty anyway
+ OSType eOSType;
+
+ // DocMerge: empty anyway
+ short nLanguage;
+
+ // DocMerge: empty anyway
+ long nBuildnumber;
+
+ // DocMerge: empty anyway
+ string strProductKey;
+
+ // DocMerge: empty anyway
+ string strInstLanguages;
+
+ // DocMerge: empty anyway
+ string strInstMinor;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/WindowsRegistryAction.idl b/offapi/com/sun/star/setup/WindowsRegistryAction.idl
new file mode 100644
index 000000000000..33e9f839be3c
--- /dev/null
+++ b/offapi/com/sun/star/setup/WindowsRegistryAction.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_WindowsRegistryAction_idl__
+#define __com_sun_star_setup_WindowsRegistryAction_idl__
+
+#ifndef __com_sun_star_setup_BaseAction_idl__
+#include <com/sun/star/setup/BaseAction.idl>
+#endif
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published struct WindowsRegistryAction: BaseAction
+{
+ // DocMerge: empty anyway
+ string strKey;
+
+ // DocMerge: empty anyway
+ string strSubkey;
+
+ // DocMerge: empty anyway
+ string strName;
+
+ // DocMerge: empty anyway
+ string strValue;
+
+ // DocMerge: empty anyway
+ boolean bCreate;
+
+ // DocMerge: empty anyway
+ boolean bHexValue;
+
+ // DocMerge: empty anyway
+ boolean bDeleteAll;
+ };
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/XSetup.idl b/offapi/com/sun/star/setup/XSetup.idl
new file mode 100644
index 000000000000..68f35cda76ae
--- /dev/null
+++ b/offapi/com/sun/star/setup/XSetup.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_setup_XSetup_idl__
+#define __com_sun_star_setup_XSetup_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#include <com/sun/star/setup/OSType.idl>
+#include <com/sun/star/setup/UpdateType.idl>
+#include <com/sun/star/setup/ModuleInfo.idl>
+#include <com/sun/star/setup/InstallEnvironment.idl>
+#include <com/sun/star/setup/InstallResponse.idl>
+#include <com/sun/star/setup/VersionIdentifier.idl>
+#include <com/sun/star/setup/SizeInfo.idl>
+#include <com/sun/star/setup/MirrorEntry.idl>
+
+module com { module sun { module star { module setup {
+
+/// @deprecated
+published interface XSetup: com::sun::star::uno::XInterface
+{
+ // DocMerge: empty anyway
+ boolean isVersionSupported ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ sequence <short> getAvailableLanguages ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ ModuleInfo getRootModule ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ void setHiddenModule ( [in] VersionIdentifier aVerIdentifier,
+ [in] string strModuleID,
+ [in] boolean bHidden );
+
+ // DocMerge: empty anyway
+ string getProductname ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ string getVendorname ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ string getDefaultDestinationPath ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ SizeInfo getStandardSizeValues ( [in] VersionIdentifier aVerIdentifier,
+ [in] sequence <short> seqLanguages );
+
+ // DocMerge: empty anyway
+ string getHelpText ( [in] VersionIdentifier aVerIdentifier,
+ [in] string strPagename );
+
+ // DocMerge: empty anyway
+ string getReadmeText ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ string getLicenseText ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ string getNativeLocation ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ sequence < any > getMirrorList ( [in] VersionIdentifier aVerIdentifier );
+
+ // DocMerge: empty anyway
+ UpdateType isUpdateAvailable ( [in] VersionIdentifier aVerIdentifier,
+ [out] VersionIdentifier aNewVerIdentifier );
+
+ // DocMerge: empty anyway
+ boolean isModuleAvailable ( [in] VersionIdentifier aVerIdentifier,
+ [in] string strModuleID );
+
+ // DocMerge: empty anyway
+ sequence < any > getActionListForInstall ( [in] VersionIdentifier aVerIdentifier,
+ [in] VersionIdentifier aOldVerIdentifier,
+ [in] InstallEnvironment aEnvironment,
+ [out] InstallResponse aResponse );
+ };
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/setup/makefile.mk b/offapi/com/sun/star/setup/makefile.mk
new file mode 100644
index 000000000000..5970e1cd884d
--- /dev/null
+++ b/offapi/com/sun/star/setup/makefile.mk
@@ -0,0 +1,74 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+TARGET=csssetup
+PACKAGE=com$/sun$/star$/setup
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------
+
+IDLFILES=\
+ UpdateType.idl \
+ ActionType.idl \
+ BaseAction.idl \
+ CopyFileAction.idl \
+ DeleteDirAction.idl \
+ DeleteFileAction.idl \
+ DeleteFolderAction.idl \
+ DeleteFolderItemAction.idl \
+ DownloadAction.idl \
+ FontAction.idl \
+ InstallEnvironment.idl \
+ InstallResponse.idl \
+ InstallType.idl \
+ MakeDirAction.idl \
+ MakeFolderAction.idl \
+ MakeFolderItemAction.idl \
+ MakeShortcutAction.idl \
+ MirrorEntry.idl \
+ ModuleInfo.idl \
+ ModuleState.idl \
+ OSType.idl \
+ ProductRegistration.idl \
+ ProfileItemAction.idl \
+ Setup.idl \
+ SizeInfo.idl \
+ UnzipAction.idl \
+ VersionIdentifier.idl \
+ WindowsRegistryAction.idl \
+ XSetup.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/sheet/AccessibleCell.idl b/offapi/com/sun/star/sheet/AccessibleCell.idl
new file mode 100644
index 000000000000..014b5c84b82f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCell.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleCell_idl__
+#define __com_sun_star_sheet_AccessibleCell_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+
+ */
+published service AccessibleCell
+{
+ /** This interface gives access to the whole content of the cell.
+
+ <ul>
+ <li>The parent returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::TABLE_CELL</const></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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is always false if the
+ parent table is showed, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is false if the cell
+ or the table is protected, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTILINE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTISELECTABLE</const> is always
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is false if the cell
+ has no background color or graphic, otherwise it is
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::RESIZEABLE</const> is false if the
+ table is protected, otherwise is it true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is true, if the
+ cell is selected.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::TRANSIENT</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in Bounding Box of the parent. Otherwise
+ it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvCell.idl b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl
new file mode 100644
index 000000000000..10e77f7bcbc6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_AccessibleCsvCell_idl__
+#define __com_sun_star_sheet_AccessibleCsvCell_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ */
+published 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
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl
new file mode 100644
index 000000000000..1ee7df9ddba1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_AccessibleCsvRuler_idl__
+#define __com_sun_star_sheet_AccessibleCsvRuler_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ */
+published 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
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvTable.idl b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl
new file mode 100644
index 000000000000..95f4a91bdf6a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_AccessibleCsvTable_idl__
+#define __com_sun_star_sheet_AccessibleCsvTable_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#include <com/sun/star/accessibility/XAccessibleTable.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ */
+published 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
diff --git a/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl
new file mode 100644
index 000000000000..df8e41e875e1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__
+#define __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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
+
+ */
+published service AccessiblePageHeaderFooterAreasView
+{
+ /** This interface gives access to the three Header/Footer areas in the
+ page preview.
+
+ <ul>
+ <li>The parent returned by <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the accessible spreadsheet page preview.</li>
+ <li>The children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface
+ <type scope="::com::sun::star::accessibility">XAccessible</type.
+ Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children
+ returns an object that supports one of the following services.</li>
+ <ul>
+ <li><type scope="::com::sun::star::text">AccessibleHeaderFooterView</type>:
+ A child where calling <method scope="::com::sun::star::text"
+ >XAccessibleContext::getAccessibleChild</method>
+ 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, than the centre 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::HEADER</const> or
+ <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::FOOTER</const>.</li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is always false until
+ the preview is closed.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is always false,
+ because the document is not editable in the page preview.
+ So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTILINE</const> makes no sense on
+ a document and so it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTISELECTABLE</const> is always
+ false, because in a page preview a selection is not
+ possible. So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::RESIZEABLE</const> 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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always false,
+ because in the page preview is no selection possible. So it
+ is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is always false,
+ because in the page preview is no selection possible. So it
+ is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
new file mode 100644
index 000000000000..5d703ebe0a0d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheet_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheet_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#include <com/sun/star/accessibility/XAccessibleTable.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+*/
+published service AccessibleSpreadsheet
+{
+ /** This interface gives access to any object in the currently visible table
+ on the desktop.
+
+ <ul>
+ <li>The parent returned by <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the accessible spreadsheet document view.</li>
+ <li>The children returned by <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children
+ returns an object that supports the following service.</li>
+ <ul>
+ <li><type scope="::com::sun::star::sheet">AccessibleCell</type>:
+ A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>
+ 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 xolumn and so on.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is the given table name.</li>
+ <li>The role is <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::TABLE</const></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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is always false if the
+ table is not deleted and the document is open, otherwise it
+ is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is false if the
+ table is protected, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is always
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::RESIZEABLE</const>is always
+ false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is true if the
+ complete table (all cells) is selected.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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. Therefor 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
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl
new file mode 100644
index 000000000000..3070a71d6443
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl
@@ -0,0 +1,166 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+
+ */
+published service AccessibleSpreadsheetDocumentView
+{
+ /** This interface gives access to any object that is contained in this
+ document.
+
+ <ul>
+ <li>The parent returned by <method>getAccessibleParent</method>
+ is the window wich contains the view of these document.</li>
+ <li>The children returned by <method>getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method>getAccessibleContext</method> for these children returns
+ an object that supports one of the following services.</li>
+ <ul>
+ <li><type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type>:
+ A child where calling <method>getAccessibleChild</method>
+ an object that supports this service is returned for
+ the current spreadsheet which is showing in this document
+ window. There is everytime one child which supports this
+ service, because it is only possible to have one spreadsheet
+ in the current document window.</li>
+ <li><type scope="::com::sun::star::drawing">AccessibleShape</type>:
+ A child where calling <method>getAccessibleChild</method>
+ an object that supports this service is returned
+ for every shape that is at the current table. These
+ objects are children of the
+ <type>AccessibleSpreadsheetDocumentView</type> regardless
+ whether they are bound to a table or a cell.</li>
+ <li><type scope="::com::sun::star::text">AccessibleParagraphView</type>:
+ A child where calling <method>getAccessibleChild</method>
+ 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><type scope="::com::sun::star::accessibility">AccessibleContext</type>:
+ A child where calling <method>getAccessibleChild</method>
+ an object that supports this service is returned for
+ the current OLE object in edit mode. It exists
+ only if a 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 than 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 childs 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 <const scope="::com::sun::star::accessibility">AccessibleRole::DOCUMENT</const></li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const> is always false until the document is
+ closed.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_LINE</const> makes no sense in on a document and
+ so it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_SELECTABLE</const> is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZEABLE</const> is always false, because you can
+ resize the window, but not the document. So it is left out
+ of the list.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTABLE</const> is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTED</const> is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>Is true if the Bounding Box lies in
+ the Bounding Box of the parent. Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>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
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl
new file mode 100644
index 000000000000..bc676463c47b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** The accessible view of a spreadsheet page preview
+
+ @since OOo 1.1.2
+
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the window wich contains the view of these page preview.</li>
+ <li>The children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleContext</method> for these children returns
+ an object that supports one of the following services.</li>
+ <ul>
+ <li><type scope="::com::sun::star::sheet"
+ >AccessiblePageHeaderFooterAreasView</type>: A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>
+ an object that supports this service is returned for
+ every header and footer that is at least partially visible.</li>
+ <li><type scope="::com::sun::star::table">AccessibleTableView</type>:
+ A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleChild::getAccessibleChild</method>
+ 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><type scope="::com::sun::star::drawing">AccessibleShape</type>:
+ A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>
+ an object that supports this service is returned
+ for every shape that is at least partially visible. These
+ objects are children of the
+ <type>AccessibleSpreadsheetPageView</type> regardless
+ whether they are bound to a table or a cell.</li>
+ <li><type scope="::com::sun::star::text">AccessibleParagraphView</type>:
+ A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>
+ 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 than 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::DOCUMENT</const></li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is always false until
+ the preview is closed.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is always false,
+ because the document is not editable in the page preview.
+ So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTILINE</const> makes no sense on a
+ document and so it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is always
+ false, because in a page preview a selection is not
+ possible. So it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::RESIZEABLE</const> 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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is always false,
+ because in the page preview is no selection possible. So
+ it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is always false,
+ because in the page preview is no selection possible. So
+ it is left out of the list.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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
diff --git a/offapi/com/sun/star/sheet/ActivationEvent.idl b/offapi/com/sun/star/sheet/ActivationEvent.idl
new file mode 100644
index 000000000000..481b4cca723a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ActivationEvent.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_ActivationEvent_idl__
+#define __com_sun_star_sheet_ActivationEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+#endif
+
+//=============================================================================
+
+ 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.0
+
+ */
+published struct ActivationEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the new active Spreadsheet.
+ */
+ com::sun::star::sheet::XSpreadsheet ActiveSheet;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/AddIn.idl b/offapi/com/sun/star/sheet/AddIn.idl
new file mode 100644
index 000000000000..8f76f268416e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AddIn.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_AddIn_idl__
+#define __com_sun_star_sheet_AddIn_idl__
+
+#ifndef __com_sun_star_lang_XServiceName_idl__
+#include <com/sun/star/lang/XServiceName.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XAddIn_idl__
+#include <com/sun/star/sheet/XAddIn.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCompatibilityNames_idl__
+#include <com/sun/star/sheet/XCompatibilityNames.idl>
+#endif
+
+//=============================================================================
+
+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 <type>AddIn</type> service, and the
+ functions that are implemented, in one or more interfaces.
+ The <type scope="com::sun::star::lang">XServiceName</type> interface
+ must describe that service, and the <type>XAddIn</type> interface
+ must describe the individual functions.</p>
+
+ <p>Each AddIn function can take parameters of the following types:</p>
+
+ <dl>
+ <dt><atom>long</atom></dt>
+ <dd>for integer values.</dd>
+
+ <dt><atom>double</atom></dt>
+ <dd>for floating point values.</dd>
+
+ <dt><atom>string</atom></dt>
+ <dd>for text strings.</dd>
+
+ <dt><atom>long[][]</atom></dt>
+ <dd>for (two-dimensional) arrays of integer values.</dd>
+
+ <dt><atom>double[][]</atom></dt>
+ <dd>for (two-dimensional) arrays of floating point values.</dd>
+
+ <dt><atom>string[][]</atom></dt>
+ <dd>for (two-dimensional) arrays of text strings.</dd>
+
+ <dt><atom>any[][]</atom></dt>
+ <dd>for (two-dimensional) arrays of mixed contents. Each <atom>any</atom>
+ will contain a <atom>double</atom> or a <atom>string</atom>, depending on
+ the data.</dd>
+
+ <dt><atom>any</atom></dt>
+ <dd>Depending on the data, a <atom>double</atom>, a <atom>string</atom>,
+ or an <atom>any[][]</atom> will be passed. If no argument is specified in
+ the function call, <void/> will be passed. This allows for optional
+ parameters.</dd>
+
+ <dt><type scope="com::sun::star::table">XCellRange</type></dt>
+ <dd>for a <type scope="com::sun::star::table">XCellRange</type> interface
+ to the source data.</dd>
+
+ <dt><type scope="com::sun::star::beans">XPropertySet</type></dt>
+ <dd>for a <type scope="com::sun::star::beans">XPropertySet</type>
+ interface to the <type>SpreadsheetDocument</type> making the function
+ call. Only one parameter of this type is allowed in each function. It
+ can be used to query document settings like
+ <member>SpreadsheetDocumentSettings::NullDate</member>.</dd>
+
+ <dt><atom>any[]</atom></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 <atom>any</atom>
+ above.</dd>
+ </dl>
+
+ <p>Each AddIn function must have one of the following return types:</p>
+
+ <ul>
+ <li><atom>long</atom></li>
+ <li><atom>double</atom></li>
+ <li><atom>string</atom></li>
+ <li><atom>long[][]</atom></li>
+ <li><atom>double[][]</atom></li>
+ <li><atom>string[][]</atom></li>
+ <li><atom>any[][]</atom></li>
+ <li><type>XVolatileResult</type></li>
+ <li><atom>any</atom></li>
+ </ul>
+
+ <p>The sequences must contain arrays as described above for the
+ parameter types.
+ An <type>XVolatileResult</type> return value must contain an object
+ implementing the <type>VolatileResult</type> service, that contains
+ a volatile result. Subsequent calls with the same parameters must
+ return the same object.
+ An <atom>any</atom> 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
+
diff --git a/offapi/com/sun/star/sheet/AddressConvention.idl b/offapi/com/sun/star/sheet/AddressConvention.idl
new file mode 100644
index 000000000000..6eae6190477d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AddressConvention.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/sheet/Border.idl b/offapi/com/sun/star/sheet/Border.idl
new file mode 100644
index 000000000000..b93549545f80
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Border.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/CellAnnotation.idl b/offapi/com/sun/star/sheet/CellAnnotation.idl
new file mode 100644
index 000000000000..16c2f3620639
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotation.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAnnotation_idl__
+#define __com_sun_star_sheet_CellAnnotation_idl__
+
+#ifndef __com_sun_star_sheet_XSheetAnnotation_idl__
+#include <com/sun/star/sheet/XSheetAnnotation.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__
+#include <com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_text_XSimpleText_idl__
+#include <com/sun/star/text/XSimpleText.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellAnnotationShape.idl b/offapi/com/sun/star/sheet/CellAnnotationShape.idl
new file mode 100644
index 000000000000..1d5cc467f299
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotationShape.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAnnotationShape_idl__
+#define __com_sun_star_sheet_CellAnnotationShape_idl__
+
+#ifndef __com_sun_star_drawing_CaptionShape_idl__
+#include <com/sun/star/drawing/CaptionShape.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellAnnotations.idl b/offapi/com/sun/star/sheet/CellAnnotations.idl
new file mode 100644
index 000000000000..5831655d4634
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotations.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAnnotations_idl__
+#define __com_sun_star_sheet_CellAnnotations_idl__
+
+#ifndef __com_sun_star_sheet_XSheetAnnotations_idl__
+#include <com/sun/star/sheet/XSheetAnnotations.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl
new file mode 100644
index 000000000000..1e70eb30c5c3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAnnotationsEnumeration_idl__
+#define __com_sun_star_sheet_CellAnnotationsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellAreaLink.idl b/offapi/com/sun/star/sheet/CellAreaLink.idl
new file mode 100644
index 000000000000..75c0a4d810b1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLink.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAreaLink_idl__
+#define __com_sun_star_sheet_CellAreaLink_idl__
+
+#ifndef __com_sun_star_sheet_XAreaLink_idl__
+#include <com/sun/star/sheet/XAreaLink.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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.0
+ */
+ [optional, property] long RefreshPeriod;
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/CellAreaLinks.idl b/offapi/com/sun/star/sheet/CellAreaLinks.idl
new file mode 100644
index 000000000000..62b601752c10
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLinks.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAreaLinks_idl__
+#define __com_sun_star_sheet_CellAreaLinks_idl__
+
+#ifndef __com_sun_star_sheet_XAreaLinks_idl__
+#include <com/sun/star/sheet/XAreaLinks.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl
new file mode 100644
index 000000000000..6fda9e4f824d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellAreaLinksEnumeration_idl__
+#define __com_sun_star_sheet_CellAreaLinksEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellDeleteMode.idl b/offapi/com/sun/star/sheet/CellDeleteMode.idl
new file mode 100644
index 000000000000..1570cb547762
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellDeleteMode.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/CellFlags.idl b/offapi/com/sun/star/sheet/CellFlags.idl
new file mode 100644
index 000000000000..1c579412797f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFlags.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/CellFormatRanges.idl b/offapi/com/sun/star/sheet/CellFormatRanges.idl
new file mode 100644
index 000000000000..c3002e1c80f6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFormatRanges.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellFormatRanges_idl__
+#define __com_sun_star_sheet_CellFormatRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl
new file mode 100644
index 000000000000..ef945a036225
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellFormatRangesEnumeration_idl__
+#define __com_sun_star_sheet_CellFormatRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellInsertMode.idl b/offapi/com/sun/star/sheet/CellInsertMode.idl
new file mode 100644
index 000000000000..48e81a78d7f2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellInsertMode.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/Cells.idl b/offapi/com/sun/star/sheet/Cells.idl
new file mode 100644
index 000000000000..125c42f516c2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Cells.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Cells_idl__
+#define __com_sun_star_sheet_Cells_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/CellsEnumeration.idl b/offapi/com/sun/star/sheet/CellsEnumeration.idl
new file mode 100644
index 000000000000..53e7a59a86e1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellsEnumeration_idl__
+#define __com_sun_star_sheet_CellsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/ComplexReference.idl b/offapi/com/sun/star/sheet/ComplexReference.idl
new file mode 100644
index 000000000000..12a8fd5db8e1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ComplexReference.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ComplexReference_idl__
+#define __com_sun_star_sheet_ComplexReference_idl__
+
+#ifndef __com_sun_star_sheet_SingleReference_idl__
+#include <com/sun/star/sheet/SingleReference.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/ConditionOperator.idl b/offapi/com/sun/star/sheet/ConditionOperator.idl
new file mode 100644
index 000000000000..5db568c7f660
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionOperator.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XSheetCondition</type>.
+ */
+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
+
diff --git a/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl
new file mode 100644
index 000000000000..7c070b721ee4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ConsolidationDescriptor_idl__
+#define __com_sun_star_sheet_ConsolidationDescriptor_idl__
+
+#ifndef __com_sun_star_sheet_XConsolidationDescriptor_idl__
+#include <com/sun/star/sheet/XConsolidationDescriptor.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl
new file mode 100644
index 000000000000..bf884ea7cbfb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 OOo3.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
diff --git a/offapi/com/sun/star/sheet/DDELink.idl b/offapi/com/sun/star/sheet/DDELink.idl
new file mode 100644
index 000000000000..0ef60285ed3c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELink.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DDELink_idl__
+#define __com_sun_star_sheet_DDELink_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDDELink_idl__
+#include <com/sun/star/sheet/XDDELink.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDDELinkResults_idl__
+#include <com/sun/star/sheet/XDDELinkResults.idl>
+#endif
+
+//=============================================================================
+
+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 <const>Application|Topic!Item</const>.</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
+
diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl
new file mode 100644
index 000000000000..b9df62f3cd70
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DDELinkInfo_idl__
+#define __com_sun_star_sheet_DDELinkInfo_idl__
+
+#ifndef __com_sun_star_sheet_DDEItemInfo_idl__
+#include <com/sun/star/sheet/DDEItemInfo.idl>
+#endif
+
+//=============================================================================
+
+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 <member>DDELinkInfo::Service</member>, the topic is stored in
+ <member>DDELinkInfo::Topic</member>. 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 OOo3.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
diff --git a/offapi/com/sun/star/sheet/DDELinkMode.idl b/offapi/com/sun/star/sheet/DDELinkMode.idl
new file mode 100644
index 000000000000..472b9626a64e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinkMode.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/sheet/DDELinks.idl b/offapi/com/sun/star/sheet/DDELinks.idl
new file mode 100644
index 000000000000..8a8d8b093756
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinks.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DDELinks_idl__
+#define __com_sun_star_sheet_DDELinks_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_sheet_XDDELinks_idl__
+#include <com/sun/star/sheet/XDDELinks.idl>
+#endif
+
+//=============================================================================
+
+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 <const>Application|Topic!Item</const>.</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
+
diff --git a/offapi/com/sun/star/sheet/DDELinksEnumeration.idl b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl
new file mode 100644
index 000000000000..93a19a052c88
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DDELinksEnumeration_idl__
+#define __com_sun_star_sheet_DDELinksEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataImportMode.idl b/offapi/com/sun/star/sheet/DataImportMode.idl
new file mode 100644
index 000000000000..a969960824a6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataImportMode.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
new file mode 100644
index 000000000000..992afdef5ed9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotTableDescriptor_idl__
+#define __com_sun_star_sheet_DataPilotTableDescriptor_idl__
+
+#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__
+#include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataPilotField</type> 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.0
+
+ */
+ [optional, property] sequence< com::sun::star::beans::PropertyValue > ImportDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the name of a <type>DataPilotSource</type> implementation
+ for the data pilot table.
+
+ @since OOo 3.3.0
+
+ */
+ [optional, property] string SourceServiceName;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies arguments that are passed to the implementation named by
+ <member>SourceServiceName</member>.
+
+ @since OOo 3.3.0
+
+ */
+ [optional, property] sequence< com::sun::star::beans::PropertyValue > ServiceArguments;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the orientation of the field.
+ */
+ [optional, property] boolean IgnoreEmptyRows;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the orientation of the field.
+ */
+ [optional, property] boolean RepeatIfEmpty;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the orientation of the field.
+ */
+ [optional, property] boolean ColumnGrand;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the orientation of the field.
+ */
+ [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;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/DataPilotField.idl b/offapi/com/sun/star/sheet/DataPilotField.idl
new file mode 100644
index 000000000000..d558f0a86f50
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotField.idl
@@ -0,0 +1,248 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotField_idl__
+#define __com_sun_star_sheet_DataPilotField_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotField_idl__
+#include <com/sun/star/sheet/XDataPilotField.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+#include <com/sun/star/sheet/XDataPilotFieldGrouping.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
+#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReference_idl__
+#include <com/sun/star/sheet/DataPilotFieldReference.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldLayoutInfo_idl__
+#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldAutoShowInfo_idl__
+#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldSortInfo_idl__
+#include <com/sun/star/sheet/DataPilotFieldSortInfo.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl>
+#endif
+
+//=============================================================================
+
+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 representred 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
+ (<const>GeneralFunction::NONE</const> 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 <member>Function</member> to the
+ value <const>GeneralFunction::NONE</const>. If the length of the
+ sequence is greater then 1, then the sequence MUST NOT contain one of
+ the values <const>GeneralFunction::NONE</const> or
+ <const>GeneralFunction::AUTO</const>.</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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl
new file mode 100644
index 000000000000..194287272546
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
new file mode 100644
index 000000000000..e678b3a18a0b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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. */
+ string MatchValue;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl
new file mode 100644
index 000000000000..da07a768a57d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroup_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroup_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>DataPilotFieldGroupItem</type>.</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 <type scope="com::sun::star::container">XNameContainer</type>
+ and <type scope="com::sun::star::container">XNameReplace</type>
+ 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 <member scope="com::sun::star::container">
+ XNameReplace::replaceByName</member> 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 <atom>string</atom> specifying the new name of the
+ group member.</li>
+ <li>an object supporting the <type scope="com::sun::star::container">
+ XNamed</type> interface, for example an instance of
+ <type>DataPilotFieldGroupItem</type> received from another group.</li>
+ </ul></p>
+
+ <p>The method <member scope="com::sun::star::container">
+ XNameContainer::insertByName</member> 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 <member scope="com::sun::star::container">
+ XNameContainer::removeByName</member> can be used to remove an
+ existing member name.</p>
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl
new file mode 100644
index 000000000000..a08826022609
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>XDataPilotFieldGrouping::createDateGroup
+ </member> 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl
new file mode 100644
index 000000000000..f486cb0d689a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>DataPilotFieldGroupItem</type>.</p>
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl
new file mode 100644
index 000000000000..380dab374dc5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+
+#ifndef __com_sun_star_sheet_XDataPilotField_idl__
+#include <com/sun/star/sheet/XDataPilotField.idl>
+#endif
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** contains the grouping information of a <type>DataPilotField</type>.
+ */
+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 <member>Start</member> 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 <member>End</member> 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 <member>GroupBy</member> contains zero,
+ grouping is performed inplace on the item values.</li>
+ <li>If <FALSE/> is set, and <member>GroupBy</member> contains one or
+ more flags from <type>DataPilotFieldGroupBy</type>, grouping is
+ performed on date or time.</li>
+ <li>If <TRUE/> is set, <member>Step</member> contains a value greater
+ than or equal to 1, and <member>GroupBy</member> set to <const>
+ DataPilotFieldGroupBy::DAYS</const>, grouping is performed on ranges
+ of days (see descriptions for <member>
+ XDataPilotFieldGrouping::createDateGroup</member> for more details
+ about day grouping).</li>
+ </ul></p>
+ */
+ boolean HasDateValues;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the start value for the grouping if <member>HasAutoStart
+ </member> is set to <FALSE/>.
+ */
+ double Start;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the end value for the grouping if <member>HasAutoEnd
+ </member> is set to <FALSE/>.
+ */
+ double End;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the size of the ranges for numeric or day grouping.
+
+ <p>Example: With <member>HasAutoStart</member> set to <FALSE/>,
+ <member>Start</member> set to 2, and <member>Step</member> 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 then 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 <type>DataPilotFieldGroups
+ </type>. 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 <member>DataPilotField::GroupInfo</member>
+ property, the modified grouping settings are applied at the DataPilot
+ field.</p>
+
+ @see DataPilotField
+ @see DataPilotFieldGroups
+ */
+ com::sun::star::container::XNameAccess Groups;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl
new file mode 100644
index 000000000000..40a65552aa99
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupItem_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupItem_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl
new file mode 100644
index 000000000000..544863db4d4b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroups_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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 <type>DataPilotFieldGroup</type>
+ 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 <type scope="com::sun::star::container">XNameContainer</type>
+ and <type scope="com::sun::star::container">XNameReplace</type>
+ interfaces can be used to manage the item groups. It is possible to
+ insert, remove, and replace item groups.</p>
+
+ <p>The method <member scope="com::sun::star::container">
+ XNameReplace::replaceByName</member> 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 <atom>any</atom> to remove all items and leave the
+ group empty. The group can be filled later with new item names.</li>
+ <li>a <atom dim="[]">string</atom> containing all item names that will
+ be part of the group.</li>
+ <li>an object supporting <type scope="com::sun::star::container">
+ XIndexAccess</type> containing elements that provide an item name per
+ element via the interface <type scope="com::sun::star::container">
+ XNamed</type>, for example an instance of <type>DataPilotFieldGroup
+ </type>.</li>
+ </ul></p>
+
+ <p>The method <member scope="com::sun::star::container">
+ XNameContainer::insertByName</member> 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 <member scope="com::sun::star::container">
+ XNameReplace::replaceByName</member>.</p>
+
+ <p>The method <member scope="com::sun::star::container">
+ XNameContainer::removeByName</member> can be used to remove an
+ existing field group.</p>
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl
new file mode 100644
index 000000000000..6b94a42df494
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>DataPilotFieldGroup</type>.</p>
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl
new file mode 100644
index 000000000000..fb3fff39a687
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>DataPilotField</type>.
+ */
+published struct DataPilotFieldLayoutInfo
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the layout mode.
+
+ @see com::sun::star::sheet::DataPilotFieldLayoutMode
+
+ */
+
+ long LayoutMode;
+
+ //-------------------------------------------------------------------------
+
+ /** If <TRUE/>, an empty row is inserted in the <type>DataPilotTable</type>
+ result table after the data
+ (including the subtotals) for each item of the field.
+ */
+
+ boolean AddEmptyLines;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl
new file mode 100644
index 000000000000..6f2025739803
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl
new file mode 100644
index 000000000000..03c74115540d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReference.idl b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl
new file mode 100644
index 000000000000..163917c79b78
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReference_idl__
+#define __com_sun_star_sheet_DataPilotFieldReference_idl__
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReferenceItemType_idl__
+#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>DataPilotFieldReference::ReferenceItemType</member> is NAMED
+ otherwise is empty
+ */
+
+ string ReferenceItemName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl
new file mode 100644
index 000000000000..b3e4d86a6998
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl
new file mode 100644
index 000000000000..d6b677997c70
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <TYPE>com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS</TYPE>)
+ or last (for <TYPE>com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT</TYPE>) 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 <const scope="::com::sun::star::sheet">DataPilotFieldReferenceType::ITEM_DIFFERENCE</const>.
+ 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 <TYPE>com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS</TYPE>)
+ or last (for <TYPE>com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT</TYPE>) 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
+ <const scope="::com::sun::star::sheet">DataPilotFieldReferenceType::ITEM_DIFFERENCE</const>.
+ Totals outside of the base field are shown as empty results.
+
+ <p>Division by zero results in an error. Otherwise, the rules for <const scope="::com::sun::star::sheet">DataPilotFieldReferenceType::ITEM_DIFFERENCE</const> 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 <const scope="::com::sun::star::sheet">DataPilotFieldReferenceType::ROW_PERCENTAGE</const>, but the total for the result's column is used.
+ */
+
+ const long COLUMN_PERCENTAGE = 6;
+
+ //-------------------------------------------------------------------------
+
+ /** Same as <const scope="::com::sun::star::sheet">DataPilotFieldReferenceType::ROW_PERCENTAGE</const>, 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl
new file mode 100644
index 000000000000..b0574945ef0c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl
new file mode 100644
index 000000000000..b024613d6e51
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DataPilotFieldSortInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldSortInfo_idl__
+
+#ifndef __com_sun_star_sheet_DataPilotFieldSortMode_idl__
+#include <com/sun/star/sheet/DataPilotFieldSortMode.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl
new file mode 100644
index 000000000000..a167ab14244f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 ist sorted by the data in the given field
+
+ @see com::sun::star::sheet::DataPilotFieldSortInfo
+
+ */
+
+ const long DATA = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFields.idl b/offapi/com/sun/star/sheet/DataPilotFields.idl
new file mode 100644
index 000000000000..aba253280da7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFields.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFields_idl__
+#define __com_sun_star_sheet_DataPilotFields_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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 representred 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl
new file mode 100644
index 000000000000..e96099eae8f7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl
new file mode 100644
index 000000000000..54f21820ed25
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItem.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotItem_idl__
+#define __com_sun_star_sheet_DataPilotItem_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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.0
+ */
+ [optional, property] long Position;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotItems.idl b/offapi/com/sun/star/sheet/DataPilotItems.idl
new file mode 100644
index 000000000000..edc3bd474e04
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItems.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotItems_idl__
+#define __com_sun_star_sheet_DataPilotItems_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl
new file mode 100644
index 000000000000..074beb4e6215
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotItemsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotItemsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
new file mode 100644
index 000000000000..7bb0bbbc9438
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <method>XDataPilotTable2::getOutputRangeByType</method> 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.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
diff --git a/offapi/com/sun/star/sheet/DataPilotSource.idl b/offapi/com/sun/star/sheet/DataPilotSource.idl
new file mode 100644
index 000000000000..d96bd6d1ba76
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSource.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSource_idl__
+#define __com_sun_star_sheet_DataPilotSource_idl__
+
+#ifndef __com_sun_star_sheet_XDimensionsSupplier_idl__
+#include <com/sun/star/sheet/XDimensionsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotResults_idl__
+#include <com/sun/star/sheet/XDataPilotResults.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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>
+ */
+published 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.0
+ */
+ [readonly, property, optional] long RowFieldCount;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the number of column fields.
+
+ @since OOo 3.0.0
+ */
+ [readonly, property, optional] long ColumnFieldCount;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the number of data fields.
+
+ @since OOo 3.0.0
+ */
+ [readonly, property, optional] long DataFieldCount;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl
new file mode 100644
index 000000000000..9f5961731a05
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceDimension_idl__
+#define __com_sun_star_sheet_DataPilotSourceDimension_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
+#include <com/sun/star/sheet/XHierarchiesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloneable_idl__
+#include <com/sun/star/util/XCloneable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
+#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_TableFilterField_idl__
+#include <com/sun/star/sheet/TableFilterField.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ */
+published 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl
new file mode 100644
index 000000000000..080f529e90e4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceDimensions_idl__
+#define __com_sun_star_sheet_DataPilotSourceDimensions_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** represents the collection of dimensions in a data pilot source.
+
+ @see com::sun::star::sheet::DataPilotSource
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl
new file mode 100644
index 000000000000..f283e157c8e1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceHierarchies_idl__
+#define __com_sun_star_sheet_DataPilotSourceHierarchies_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl
new file mode 100644
index 000000000000..ad300f8845e6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceHierarchy_idl__
+#define __com_sun_star_sheet_DataPilotSourceHierarchy_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XLevelsSupplier_idl__
+#include <com/sun/star/sheet/XLevelsSupplier.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl
new file mode 100644
index 000000000000..c94880508a2c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceLevel_idl__
+#define __com_sun_star_sheet_DataPilotSourceLevel_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XMembersSupplier_idl__
+#include <com/sun/star/sheet/XMembersSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotMemberResults_idl__
+#include <com/sun/star/sheet/XDataPilotMemberResults.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ */
+published 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl
new file mode 100644
index 000000000000..5e09f51de346
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceLevels_idl__
+#define __com_sun_star_sheet_DataPilotSourceLevels_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
new file mode 100644
index 000000000000..754fc955c30a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceMember_idl__
+#define __com_sun_star_sheet_DataPilotSourceMember_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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.0
+ */
+ [optional, property] boolean Position;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
new file mode 100644
index 000000000000..02a93be58504
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotSourceMembers_idl__
+#define __com_sun_star_sheet_DataPilotSourceMembers_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published service DataPilotSourceMembers
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access by name to the members in the collection.
+
+ @see com::sun::star::sheet::DataPilotSourceMember
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTable.idl b/offapi/com/sun/star/sheet/DataPilotTable.idl
new file mode 100644
index 000000000000..c2385c46e5fa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTable.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotTable_idl__
+#define __com_sun_star_sheet_DataPilotTable_idl__
+
+#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotTable_idl__
+#include <com/sun/star/sheet/XDataPilotTable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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.0
+
+ */
+ [optional] interface com::sun::star::util::XModifyBroadcaster;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
new file mode 100644
index 000000000000..c98e4bbc2820
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>DataPilotTablePositionData::PositionData</member> when
+ the value of <member>DataPilotTablePositionData::PositionType</member> is
+ either <const>DataPilotTablePositionType::ROW_HEADER</const> or
+ <const>DataPilotTablePositionType::COLUMN_HEADER</const>.
+
+ @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.0
+ */
+struct DataPilotTableHeaderData
+{
+ /** number of dimensions */
+ long Dimension;
+
+ /** hierarchy */
+ long Hierarchy;
+
+ /** level */
+ long Level;
+
+ /** flag */
+ long Flags;
+
+ /** member name */
+ string MemberName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
new file mode 100644
index 000000000000..aa97b0dba922
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>PositionType</member>
+ member specifies in which sub-area of the table the cell is positioned, which
+ in turn determines the type of metadata contained in the <member>PositionData</member>
+ member.</p>
+
+ @see com::sun::star::sheet::DataPilotTablePositionType
+ @see com::sun::star::sheet::DataPiotTableResultData
+ @see com::sun::star::sheet::DataPiotTableHeaderData
+
+ @since OOo 3.0.0
+ */
+struct DataPilotTablePositionData
+{
+ //-------------------------------------------------------------------------
+
+ /** This parameter specifies which sub-area of a DataPilot table a given
+ cell is positioned. See <type>DataPilotTablePositionType</type>
+ 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 <member>PositionType</member> member.</p>
+
+ <p>When the value of <member>PositionType</member> is
+ <const>DataPilotTablePositionType::RESULT</const>, <member>DataPilotTablePositionData::PositionData</member>
+ contains an instance of type <type>DataPilotTableResultData</type>,
+ whereas when the value of <member>DataPilotTablePositionData::PositionType</member>
+ is either <const>DataPilotTablePositionType::ROW_HEADER</const>
+ or <const>DataPilotTablePositionType::COLUMN_HEADER</const>, then the
+ <member>PositionData</member> member contains an instance of type <type>
+ DataPilotTableHeaderData</type>.</p>
+
+ @see com::sun::star::sheet::DataPiotTableResultData
+ @see com::sun::star::sheet::DataPiotTableHeaderData
+ */
+ any PositionData;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
new file mode 100644
index 000000000000..8ef568079f12
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.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
diff --git a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
new file mode 100644
index 000000000000..b0adfdfa4e3d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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><type>DataPilotTableResultData</type> 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.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
+ <type>DataResult</type> type.
+
+ @see com::sun::star::sheet::DataResult
+ */
+ DataResult Result;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTables.idl b/offapi/com/sun/star/sheet/DataPilotTables.idl
new file mode 100644
index 000000000000..f8dc00fa8e27
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTables.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotTables_idl__
+#define __com_sun_star_sheet_DataPilotTables_idl__
+
+#ifndef __com_sun_star_sheet_XDataPilotTables_idl__
+#include <com/sun/star/sheet/XDataPilotTables.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl
new file mode 100644
index 000000000000..a8b52e65425c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DataPilotTablesEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotTablesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DataResult.idl b/offapi/com/sun/star/sheet/DataResult.idl
new file mode 100644
index 000000000000..70f213f4011e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataResult.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+published struct DataResult
+{
+ /** contains boolean flags describing the result.
+
+ @see com::sun::star::sheet::DataResultFlags
+ */
+ long Flags;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the result value.
+ */
+ double Value;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DataResultFlags.idl b/offapi/com/sun/star/sheet/DataResultFlags.idl
new file mode 100644
index 000000000000..07f116a81c35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataResultFlags.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
new file mode 100644
index 000000000000..eab5d41f3adf
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DatabaseImportDescriptor_idl__
+#define __com_sun_star_sheet_DatabaseImportDescriptor_idl__
+
+#ifndef __com_sun_star_sheet_DataImportMode_idl__
+#include <com/sun/star/sheet/DataImportMode.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>DatabaseImportDescriptor::SourceType</member> attribute.</p>
+ */
+ [property] string SourceObject;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the SQL statement is given directly to the database
+ or is parsed before.
+
+ @since OOo 2.0.0
+
+ */
+ [optional, property] boolean IsNative;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.0
+ */
+ [optional, property] string ConnectionResource;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl
new file mode 100644
index 000000000000..ef8ddb62e508
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRange.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DatabaseRange_idl__
+#define __com_sun_star_sheet_DatabaseRange_idl__
+
+#ifndef __com_sun_star_sheet_XDatabaseRange_idl__
+#include <com/sun/star/sheet/XDatabaseRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::sheet::XDatabaseRange;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::sheet::XCellRangeReferrer;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::beans::XPropertySet;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XNamed;
+
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::sheet::DatabaseRange::MoveCells
+ /** 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;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::sheet::DatabaseRange::KeepFormats
+ /** if this property is set, cell formats are extended
+ when the size of the range is changed by an update operation.
+ */
+ [property] boolean KeepFormats;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::sheet::DatabaseRange::StripData
+ /** 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 criterias.
+ <p>This is only used if <member>SheetFilterDescriptor::UseFilterCriteriaSource</member> 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.0
+ */
+ [optional, property] long RefreshPeriod;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the imported data is only a selection of the database.
+
+ @since OOo 2.0.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 <const>FormulaMapGroupSpecialOffset::DB_AREA</const>
+ 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/sheet/DatabaseRanges.idl b/offapi/com/sun/star/sheet/DatabaseRanges.idl
new file mode 100644
index 000000000000..aed4f86aa308
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRanges.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DatabaseRanges_idl__
+#define __com_sun_star_sheet_DatabaseRanges_idl__
+
+#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__
+#include <com/sun/star/sheet/XDatabaseRanges.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl
new file mode 100644
index 000000000000..56dde2367734
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_DatabaseRangesEnumeration_idl__
+#define __com_sun_star_sheet_DatabaseRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/DimensionFlags.idl b/offapi/com/sun/star/sheet/DimensionFlags.idl
new file mode 100644
index 000000000000..2edb2368e863
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DimensionFlags.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/DocumentSettings.idl b/offapi/com/sun/star/sheet/DocumentSettings.idl
new file mode 100644
index 000000000000..4d7d6fdf3c81
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DocumentSettings.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DocumentSettings_idl__
+#define __com_sun_star_sheet_DocumentSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_document_Settings_idl__
+#include <com/sun/star/document/Settings.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>SpreadsheetViewSettings</type> 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 horiontal
+ 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl
new file mode 100644
index 000000000000..357b0b4812ba
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.0
+ */
+service ExternalDocLink : XExternalDocLink
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
new file mode 100644
index 000000000000..f0f216a0caf9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.0
+ */
+service ExternalDocLinks : XExternalDocLinks
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
new file mode 100644
index 000000000000..fa8590f7f678
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__
+#define __com_sun_star_sheet_ExternalLinkInfo_idl__
+
+#ifndef __com_sun_star_sheet_ExternalLinkType_idl__
+#include <com/sun/star/sheet/ExternalLinkType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+/** describes an external link in a formula.
+
+ @since OOo3.1
+ */
+struct ExternalLinkInfo
+{
+ //-------------------------------------------------------------------------
+ /** Link type, one of <type>ExternalLinkType</type> constants.
+ */
+ long Type;
+
+ //-------------------------------------------------------------------------
+ /** Location of this link type.
+
+ <p>Modes used:
+
+ <ol>
+ <li>If <member>Type</member> is <const>ExternalLinkType::EXTERNAL
+ </const>, this member shall contain a <atom>string</atom> 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 <member>Data</member>. Note that the
+ quotes cover both, the document name and the sheet name.</li>
+
+ <li>If <member>Type</member> is <const>ExternalLinkType::DDE</const>,
+ this member shall contain a <type>DDELinkInfo</type> describing
+ service name, topic, and all known items of a DDE link.</li>
+ </ol></p>
+ */
+ any Data;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl
new file mode 100644
index 000000000000..7803a4c3b291
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>ExternalLinkInfo</type>, used with
+ <member>FormulaParser::ExternalLinks</member>.
+
+ @since OOo3.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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/ExternalReference.idl b/offapi/com/sun/star/sheet/ExternalReference.idl
new file mode 100644
index 000000000000..8096846f726a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalReference.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::sheet">ExternalDocLink</type>
+ instance through its attribute <type scope="com::sun::star::sheet::ExternalDocLink">TokenIndex</type>.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::ExternalDocLink::TokenIndex
+ */
+ long Index;
+
+#if 0
+ //-------------------------------------------------------------------------
+
+ /** 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;
+#endif
+
+ //-------------------------------------------------------------------------
+
+ /** Reference data.
+
+ <p>This can store either <type>SingleReference</type> for a single
+ cell reference, <type>ComplexReference</type> for a cell range
+ reference, or simply a <type>string</type> for a defined name.</p>
+
+ <p>The <member>SingleReference::Sheet</member> 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
diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
new file mode 100644
index 000000000000..93652a6058f7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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. An <type scope="com::sun::star::sheet">ExternalDocLink</type>
+ 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.0
+ */
+service ExternalSheetCache : XExternalSheetCache
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/FillDateMode.idl b/offapi/com/sun/star/sheet/FillDateMode.idl
new file mode 100644
index 000000000000..5cd9dff07dab
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillDateMode.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 evey 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
+
diff --git a/offapi/com/sun/star/sheet/FillDirection.idl b/offapi/com/sun/star/sheet/FillDirection.idl
new file mode 100644
index 000000000000..b9c43e0527d8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillDirection.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FillMode.idl b/offapi/com/sun/star/sheet/FillMode.idl
new file mode 100644
index 000000000000..74bb98001e9a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillMode.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FilterConnection.idl b/offapi/com/sun/star/sheet/FilterConnection.idl
new file mode 100644
index 000000000000..16d57a4f84b1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterConnection.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FilterFormulaParser.idl b/offapi/com/sun/star/sheet/FilterFormulaParser.idl
new file mode 100644
index 000000000000..9de579584c2d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterFormulaParser.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FilterOperator.idl b/offapi/com/sun/star/sheet/FilterOperator.idl
new file mode 100644
index 000000000000..8497fd39213d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterOperator.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FilterOperator2.idl b/offapi/com/sun/star/sheet/FilterOperator2.idl
new file mode 100644
index 000000000000..a8a3e182f1b0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterOperator2.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>FilterOperator</type> 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
+
diff --git a/offapi/com/sun/star/sheet/FormulaLanguage.idl b/offapi/com/sun/star/sheet/FormulaLanguage.idl
new file mode 100644
index 000000000000..658273c524ac
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaLanguage.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type>XFormulaOpCodeMapper</type> 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroup.idl b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
new file mode 100644
index 000000000000..45223c16264d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XFormurmulaOpCodeMapper::getAvailableMappings</member> 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 <type>FormulaMapGroupSpecialOffset</type>.
+ 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
+
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
new file mode 100644
index 000000000000..90edc6b22200
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <member>XFormulaOpCodeMapper::getAvailableMappings</member> when
+ called for group <const>FormulaMapGroup::SPECIAL</const>.
+
+ <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 <member>FormulaToken::Data</member> member shall contain one of
+ the following values:</p>
+
+ <ul>
+ <li>A value of type <atom>double</atom> for literal floating-point
+ constants.</li>
+ <li>A <atom>string</atom> for literal text.</li>
+ <li>A <atom dim="[][]">any</atom> for a literal array. The contained
+ values shall be of type <atom>double</atom> or <atom>string</atom>.
+ Floating-point values and strings may occur together in an array.</li>
+ <li>A struct of type <type>SingleReference</type> for a reference to a
+ single cell in the own document.</li>
+ <li>A struct of type <type>ComplexReference</type> for a reference to
+ a range of cells in the own document.</li>
+ <li>A struct of type <type>ExternalReference</type> 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 <member>FormulaToken::Data</member> 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 <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</atom> with the programmatical name of the function, e.g.
+ "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH
+ function from the Analsysis 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 <member>FormulaToken::Data</member> member shall contain an
+ integer value of type <atom>long</atom> specifying the index of the
+ defined name. This index can be obtained from the defined name using
+ its <member>NamedRange::TokenIndex</member> 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 <member>FormulaToken::Data</member> 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 <member>FormulaToken::Data</member> 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 <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</atom> 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 <member>FormulaToken::Data</member> member shall contain a
+ positive integer value of type <atom>long</atom> specifying the number
+ of space characters.</p>
+
+ <p>Attention: This may change in next versions to support other
+ characters than simple space characters (e.g. line feeds, horizontal
+ tabulators, non-breakable spaces).</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 <member>FormulaToken::Data</member> member shall contain an
+ integer value of type <atom>long</atom> specifying the index of the
+ database range. This index can be obtained from the database range
+ using its <member>DatabaseRange::TokenIndex</member> 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 <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</atom> specifying the name of the macro function.</p>
+ */
+ const long MACRO = 11;
+
+ // -----------------------------------------------------------------------
+
+ const long COL_ROW_NAME = 12;
+
+ // -----------------------------------------------------------------------
+
+};
+
+// ===========================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl
new file mode 100644
index 000000000000..0c80854db357
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+#define __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+
+#ifndef __com_sun_star_sheet_FormulaToken_idl__
+#include <com/sun/star/sheet/FormulaToken.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl
new file mode 100644
index 000000000000..27fba17ff0c0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaParser.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FormulaParser_idl__
+#define __com_sun_star_sheet_FormulaParser_idl__
+
+#ifndef __com_sun_star_beans_PropertySet_idl__
+#include <com/sun/star/beans/PropertySet.idl>
+#endif
+#ifndef __com_sun_star_sheet_XFormulaParser_idl__
+#include <com/sun/star/sheet/XFormulaParser.idl>
+#endif
+#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
+#endif
+#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__
+#include <com/sun/star/sheet/ExternalLinkInfo.idl>
+#endif
+
+//=============================================================================
+
+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 <member>OpCodeMap
+ </member> needs to be recreated internally, so for performance reasons
+ set this <em>before</em> setting the <member>OpCodeMap</member>.
+ */
+ [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 <member>FormulaConvention
+ </member> in use. It is relevant only for <const>
+ AddressConvention::XL_OOX</const> 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 OOo3.1
+ */
+ [property] sequence< ExternalLinkInfo > ExternalLinks;
+
+ // ------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/FormulaResult.idl b/offapi/com/sun/star/sheet/FormulaResult.idl
new file mode 100644
index 000000000000..dbd1b67723de
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaResult.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FormulaToken.idl b/offapi/com/sun/star/sheet/FormulaToken.idl
new file mode 100644
index 000000000000..b9558fa164fb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaToken.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FunctionAccess.idl b/offapi/com/sun/star/sheet/FunctionAccess.idl
new file mode 100644
index 000000000000..0bce84d3627d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionAccess.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FunctionAccess_idl__
+#define __com_sun_star_sheet_FunctionAccess_idl__
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XFunctionAccess_idl__
+#include <com/sun/star/sheet/XFunctionAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** allows generic access to all spreadsheet functions.
+ */
+published service FunctionAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** contributes properties to control the behaviour 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
+
diff --git a/offapi/com/sun/star/sheet/FunctionArgument.idl b/offapi/com/sun/star/sheet/FunctionArgument.idl
new file mode 100644
index 000000000000..de413811ce4b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionArgument.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FunctionCategory.idl b/offapi/com/sun/star/sheet/FunctionCategory.idl
new file mode 100644
index 000000000000..323813080f14
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionCategory.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/FunctionDescription.idl b/offapi/com/sun/star/sheet/FunctionDescription.idl
new file mode 100644
index 000000000000..2e36034ea76b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescription.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FunctionDescription_idl__
+#define __com_sun_star_sheet_FunctionDescription_idl__
+
+#ifndef __com_sun_star_sheet_FunctionArgument_idl__
+#include <com/sun/star/sheet/FunctionArgument.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl
new file mode 100644
index 000000000000..6749ea019903
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__
+#define __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/FunctionDescriptions.idl b/offapi/com/sun/star/sheet/FunctionDescriptions.idl
new file mode 100644
index 000000000000..842979bb4d1e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescriptions.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_FunctionDescriptions_idl__
+#define __com_sun_star_sheet_FunctionDescriptions_idl__
+
+#ifndef __com_sun_star_sheet_XFunctionDescriptions_idl__
+#include <com/sun/star/sheet/XFunctionDescriptions.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::beans">PropertyValue</type> structs.
+ The properties contained in the sequence are collected in the
+ service <type>FunctionDescription</type>.</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
+
diff --git a/offapi/com/sun/star/sheet/GeneralFunction.idl b/offapi/com/sun/star/sheet/GeneralFunction.idl
new file mode 100644
index 000000000000..abf954cbec3e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GeneralFunction.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/GlobalSheetSettings.idl b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl
new file mode 100644
index 000000000000..508992fd1785
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_GlobalSheetSettings_idl__
+#define __com_sun_star_sheet_GlobalSheetSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** contributes properties to access the settings for all spreadsheets of
+ a spreadsheet document.
+ */
+published service GlobalSheetSettings
+{
+ //-------------------------------------------------------------------------
+
+//! service com::sun::star::beans::PropertySet;
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //=========================================================================
+
+ /** specifies whether the cursor is moved after entering into cells.
+ */
+ [property] boolean MoveSelection;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the direction the cursor moves after entering cells.
+
+ @see com::sun::star::sheet::MoveDirection
+ */
+ [property] short MoveDirection;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the enter key can be used to start editing a cell.
+ */
+ [property] boolean EnterEdit;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether cell formatting is extended when entering data.
+ */
+ [property] boolean ExtendFormat;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether ranges are highlighted on the sheet when
+ editing a formula.
+ */
+ [property] boolean RangeFinder;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether formula references are extended when cells
+ are inserted below or to the right of them.
+ */
+ [property] boolean ExpandReferences;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the current selection is highlighted in
+ column and row headers.
+ */
+ [property] boolean MarkHeader;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the enter key moves the cursor to the column
+ it was in before using the tab key to change columns.
+ */
+ [property] boolean UseTabCol;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the metric for all spreadsheet documents.
+
+ @see com::sun::star::util::MeasureUnit
+ */
+ [property] 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>
+ */
+ [property] short Scale;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether automatic completion of text in a cell is used.
+ */
+ [property] boolean DoAutoComplete;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the function that is displayed in the status bar.
+
+ @see com::sun::star::sheet::StatusBarFunction
+ */
+ [property] short StatusBarFunction;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the string lists used for sorting and filling.
+
+ <p>Each string contains the members of a list, separated by
+ commas.</p>
+ */
+ [property] sequence< string > UserLists;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the update mode for external linked data.
+
+ <p>0 = always</p>
+ <p>1 = never</p>
+ <p>2 = on demand</p>
+ */
+ [optional, property] short LinkUpdateMode;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether all sheets or only selected sheets are printed.
+ */
+ [optional, property] boolean PrintAllSheets;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether empty pages are printed.
+ */
+ [optional, property] boolean PrintEmptyPages;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether printer metrics are used for display.
+ */
+ [optional, property] boolean UsePrinterMetrics;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether a warning is shown before replacing cells
+ (i.e. when pasting from clipboard).
+ */
+ [optional, property] boolean ReplaceCellsWarning;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/GoalResult.idl b/offapi/com/sun/star/sheet/GoalResult.idl
new file mode 100644
index 000000000000..e9a00a156064
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GoalResult.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/HeaderFooterContent.idl b/offapi/com/sun/star/sheet/HeaderFooterContent.idl
new file mode 100644
index 000000000000..39c551c0880c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/HeaderFooterContent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_HeaderFooterContent_idl__
+#define __com_sun_star_sheet_HeaderFooterContent_idl__
+
+#ifndef __com_sun_star_sheet_XHeaderFooterContent_idl__
+#include <com/sun/star/sheet/XHeaderFooterContent.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/LabelRange.idl b/offapi/com/sun/star/sheet/LabelRange.idl
new file mode 100644
index 000000000000..a5e1b98302a2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRange.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_LabelRange_idl__
+#define __com_sun_star_sheet_LabelRange_idl__
+
+#ifndef __com_sun_star_sheet_XLabelRange_idl__
+#include <com/sun/star/sheet/XLabelRange.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/LabelRanges.idl b/offapi/com/sun/star/sheet/LabelRanges.idl
new file mode 100644
index 000000000000..d8659f7a625b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRanges.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_LabelRanges_idl__
+#define __com_sun_star_sheet_LabelRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XLabelRanges_idl__
+#include <com/sun/star/sheet/XLabelRanges.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl
new file mode 100644
index 000000000000..18817df0d228
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_LabelRangesEnumeration_idl__
+#define __com_sun_star_sheet_LabelRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/LocalizedName.idl b/offapi/com/sun/star/sheet/LocalizedName.idl
new file mode 100644
index 000000000000..1f8a7a8eebf6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LocalizedName.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_LocalizedName_idl__
+#define __com_sun_star_sheet_LocalizedName_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/MemberResult.idl b/offapi/com/sun/star/sheet/MemberResult.idl
new file mode 100644
index 000000000000..c8f1c360543e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MemberResult.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ */
+published 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/MemberResultFlags.idl b/offapi/com/sun/star/sheet/MemberResultFlags.idl
new file mode 100644
index 000000000000..05bcc602ccc5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MemberResultFlags.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/MoveDirection.idl b/offapi/com/sun/star/sheet/MoveDirection.idl
new file mode 100644
index 000000000000..75b95961f72c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MoveDirection.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/NamedRange.idl b/offapi/com/sun/star/sheet/NamedRange.idl
new file mode 100644
index 000000000000..445bf984c7e6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRange.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_NamedRange_idl__
+#define __com_sun_star_sheet_NamedRange_idl__
+
+#ifndef __com_sun_star_sheet_XNamedRange_idl__
+#include <com/sun/star/sheet/XNamedRange.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+#endif
+
+//=============================================================================
+
+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 <const>FormulaMapGroupSpecialOffset::NAME</const> 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
+
diff --git a/offapi/com/sun/star/sheet/NamedRangeFlag.idl b/offapi/com/sun/star/sheet/NamedRangeFlag.idl
new file mode 100644
index 000000000000..cb69c8ec782d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRangeFlag.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/NamedRanges.idl b/offapi/com/sun/star/sheet/NamedRanges.idl
new file mode 100644
index 000000000000..e7be40c8c6e5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRanges.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_NamedRanges_idl__
+#define __com_sun_star_sheet_NamedRanges_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XNamedRanges_idl__
+#include <com/sun/star/sheet/XNamedRanges.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_document_XActionLockable_idl__
+#include <com/sun/star/document/XActionLockable.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl
new file mode 100644
index 000000000000..9bfeea931a01
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_NamedRangesEnumeration_idl__
+#define __com_sun_star_sheet_NamedRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/NoConvergenceException.idl b/offapi/com/sun/star/sheet/NoConvergenceException.idl
new file mode 100644
index 000000000000..b427b67f28ea
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NoConvergenceException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_NoConvergenceException_idl__
+#define __com_sun_star_sheet_NoConvergenceException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/sheet/PasteOperation.idl b/offapi/com/sun/star/sheet/PasteOperation.idl
new file mode 100644
index 000000000000..0e57b94e81de
--- /dev/null
+++ b/offapi/com/sun/star/sheet/PasteOperation.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/RangeSelectionArguments.idl b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl
new file mode 100644
index 000000000000..8c9f688d8989
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/sheet/RangeSelectionEvent.idl b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl
new file mode 100644
index 000000000000..859466b51d5d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_RangeSelectionEvent_idl__
+#define __com_sun_star_sheet_RangeSelectionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/sheet/RecentFunctions.idl b/offapi/com/sun/star/sheet/RecentFunctions.idl
new file mode 100644
index 000000000000..636a0bcf8f31
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RecentFunctions.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_RecentFunctions_idl__
+#define __com_sun_star_sheet_RecentFunctions_idl__
+
+#ifndef __com_sun_star_sheet_XRecentFunctions_idl__
+#include <com/sun/star/sheet/XRecentFunctions.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** contains the list of recently used spreadsheet functions.
+ */
+published service RecentFunctions
+{
+ //-------------------------------------------------------------------------
+
+ /** provides access to the list of recently used spreadsheet functions.
+ */
+ interface com::sun::star::sheet::XRecentFunctions;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/ReferenceFlags.idl b/offapi/com/sun/star/sheet/ReferenceFlags.idl
new file mode 100644
index 000000000000..1c2c3d6aa534
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ReferenceFlags.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/ResultEvent.idl b/offapi/com/sun/star/sheet/ResultEvent.idl
new file mode 100644
index 000000000000..3fc5184da6ae
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ResultEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ResultEvent_idl__
+#define __com_sun_star_sheet_ResultEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>AddIn</type> service, except <type>XVolatileResult</type>.</p>
+ */
+ any Value;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/Scenario.idl b/offapi/com/sun/star/sheet/Scenario.idl
new file mode 100644
index 000000000000..a47b2c3df484
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Scenario.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Scenario_idl__
+#define __com_sun_star_sheet_Scenario_idl__
+
+#ifndef __com_sun_star_sheet_XScenario_idl__
+#include <com/sun/star/sheet/XScenario.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XScenarioEnhanced_idl__
+#include <com/sun/star/sheet/XScenarioEnhanced.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/Scenarios.idl b/offapi/com/sun/star/sheet/Scenarios.idl
new file mode 100644
index 000000000000..31f3da181f0b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Scenarios.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Scenarios_idl__
+#define __com_sun_star_sheet_Scenarios_idl__
+
+#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__
+#include <com/sun/star/sheet/XScenariosSupplier.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/ScenariosEnumeration.idl b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl
new file mode 100644
index 000000000000..ca6c0a7b8335
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ScenariosEnumeration_idl__
+#define __com_sun_star_sheet_ScenariosEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/Shape.idl b/offapi/com/sun/star/sheet/Shape.idl
new file mode 100644
index 000000000000..0aca01b81b52
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Shape.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_Shape_idl__
+#define __com_sun_star_sheet_Shape_idl__
+
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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>
+ */
+ [readonly, property] com::sun::star::uno::XInterface Anchor;
+ //-------------------------------------------------------------------------
+ /** 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
diff --git a/offapi/com/sun/star/sheet/SheetCell.idl b/offapi/com/sun/star/sheet/SheetCell.idl
new file mode 100644
index 000000000000..ecde3d5c3594
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCell.idl
@@ -0,0 +1,340 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetCell_idl__
+#define __com_sun_star_sheet_SheetCell_idl__
+
+
+#ifndef __com_sun_star_table_Cell_idl__
+#include <com/sun/star/table/Cell.idl>
+#endif
+
+#ifndef __com_sun_star_text_Text_idl__
+#include <com/sun/star/text/Text.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+#endif
+
+
+#ifndef __com_sun_star_document_XActionLockable_idl__
+#include <com/sun/star/document/XActionLockable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#include <com/sun/star/util/XReplaceable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XIndent_idl__
+#include <com/sun/star/util/XIndent.idl>
+#endif
+
+#ifndef __com_sun_star_table_XColumnRowRange_idl__
+#include <com/sun/star/table/XColumnRowRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellAddressable_idl__
+#include <com/sun/star/sheet/XCellAddressable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationAnchor_idl__
+#include <com/sun/star/sheet/XSheetAnnotationAnchor.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextFieldsSupplier_idl__
+#include <com/sun/star/text/XTextFieldsSupplier.idl>
+#endif
+
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::table">XCell</type> and
+ <type scope="com::sun::star::text">XText</type>.
+ */
+ interface com::sun::star::document::XActionLockable;
+
+ //-------------------------------------------------------------------------
+
+ /** provides "Find & Replace" functionality.
+
+ <p>The property
+ <member scope="com::sun::star::util">SearchDescriptor::SearchWords</member>
+ has a different meaning in spreadsheets: If set to <TRUE/>, the
+ spreadsheet searches for cells containing the serch 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.
+ */
+ interface com::sun::star::text::XTextFieldsSupplier;
+
+ //-------------------------------------------------------------------------
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ /**
+
+ @since OOo 2.0.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 result type of a formula.
+
+ @see com::sun::star::sheet::FormulaResult
+ */
+ [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 adress of the range as string, e.g. "$Sheet1.$B$2".
+ */
+ [optional, readonly, property] string AbsoluteName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SheetCellCursor.idl b/offapi/com/sun/star/sheet/SheetCellCursor.idl
new file mode 100644
index 000000000000..23724f423174
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellCursor.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetCellCursor_idl__
+#define __com_sun_star_sheet_SheetCellCursor_idl__
+
+#ifndef __com_sun_star_table_CellCursor_idl__
+#include <com/sun/star/table/CellCursor.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SheetCellRange_idl__
+#include <com/sun/star/sheet/SheetCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetCellCursor_idl__
+#include <com/sun/star/sheet/XSheetCellCursor.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XUsedAreaCursor_idl__
+#include <com/sun/star/sheet/XUsedAreaCursor.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SheetCellRange.idl b/offapi/com/sun/star/sheet/SheetCellRange.idl
new file mode 100644
index 000000000000..b87d52b7f0c4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRange.idl
@@ -0,0 +1,434 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetCellRange_idl__
+#define __com_sun_star_sheet_SheetCellRange_idl__
+
+
+#ifndef __com_sun_star_table_CellRange_idl__
+#include <com/sun/star/table/CellRange.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+#endif
+
+
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#include <com/sun/star/util/XReplaceable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XMergeable_idl__
+#include <com/sun/star/util/XMergeable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XIndent_idl__
+#include <com/sun/star/util/XIndent.idl>
+#endif
+
+#ifndef __com_sun_star_table_XColumnRowRange_idl__
+#include <com/sun/star/table/XColumnRowRange.idl>
+#endif
+
+#ifndef __com_sun_star_table_XAutoFormattable_idl__
+#include <com/sun/star/table/XAutoFormattable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetCellRange_idl__
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeFormula_idl__
+#include <com/sun/star/sheet/XCellRangeFormula.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeAddressable_idl__
+#include <com/sun/star/sheet/XCellRangeAddressable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetOperation_idl__
+#include <com/sun/star/sheet/XSheetOperation.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellSeries_idl__
+#include <com/sun/star/sheet/XCellSeries.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XArrayFormulaRange_idl__
+#include <com/sun/star/sheet/XArrayFormulaRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XMultipleOperation_idl__
+#include <com/sun/star/sheet/XMultipleOperation.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSortable_idl__
+#include <com/sun/star/util/XSortable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XImportable_idl__
+#include <com/sun/star/util/XImportable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSubTotalCalculatable_idl__
+#include <com/sun/star/sheet/XSubTotalCalculatable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetFilterableEx_idl__
+#include <com/sun/star/sheet/XSheetFilterableEx.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellFormatRangesSupplier_idl__
+#include <com/sun/star/sheet/XCellFormatRangesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__
+#include <com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+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 & Replace" functionality.
+
+ <p>The property
+ <member scope="com::sun::star::util">SearchDescriptor::SearchWords</member>
+ has a different meaning in spreadsheets: If set to <TRUE/>, the
+ spreadsheet searches for cells containing the serch 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.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 adress of the range as string, e.g. "$Sheet1.$B$2:$D$5".
+ */
+ [optional, readonly, property] string AbsoluteName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SheetCellRanges.idl b/offapi/com/sun/star/sheet/SheetCellRanges.idl
new file mode 100644
index 000000000000..020521203af5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRanges.idl
@@ -0,0 +1,257 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetCellRanges_idl__
+#define __com_sun_star_sheet_SheetCellRanges_idl__
+
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#include <com/sun/star/table/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+#endif
+
+
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#include <com/sun/star/util/XReplaceable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XIndent_idl__
+#include <com/sun/star/util/XIndent.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetOperation_idl__
+#include <com/sun/star/sheet/XSheetOperation.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__
+#include <com/sun/star/sheet/XSheetCellRangeContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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 & Replace" functionality.
+
+ <p>The property
+ <member scope="com::sun::star::util">SearchDescriptor::SearchWords</member>
+ has a different meaning in spreadsheets: If set to <TRUE/>, the
+ spreadsheet searches for cells containing the serch 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 adress of the ranges as string, e.g. "$Sheet1.$B$2:$D$5".
+ */
+ [optional, readonly, property] string AbsoluteName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl
new file mode 100644
index 000000000000..f0989e3cffd2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetCellRangesEnumeration_idl__
+#define __com_sun_star_sheet_SheetCellRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
new file mode 100644
index 000000000000..cd4a12abde76
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 behaviour 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 <type>TableFilterField2</type>
+ structures supporting a wider range of comparison operators, compared
+ to the <type>TableFilterField</type> structure provided by interface
+ <type>XSheetFilterDescriptor</type>.
+
+ @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 <member>TableFilterField::StringValue</member>
+ strings are interpreted as regular expressions.
+ */
+ [property] boolean UseRegularExpressions;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies if the <member>SheetFilterDescriptor::OutputPosition</member>
+ position is saved for future calls.
+
+ <p>This is only used if
+ <member>SheetFilterDescriptor::CopyOutputData</member> 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
+ <member>SheetFilterDescriptor::CopyOutputData</member> 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
+
diff --git a/offapi/com/sun/star/sheet/SheetLink.idl b/offapi/com/sun/star/sheet/SheetLink.idl
new file mode 100644
index 000000000000..b81b79ce19be
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLink.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetLink_idl__
+#define __com_sun_star_sheet_SheetLink_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>XSheetLinkable::link</member> creates a <type>SheetLink</type>
+ object in the document's <type>SheetLinks</type> 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 <const>Url</const> 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
+
diff --git a/offapi/com/sun/star/sheet/SheetLinkMode.idl b/offapi/com/sun/star/sheet/SheetLinkMode.idl
new file mode 100644
index 000000000000..60794b5849ed
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinkMode.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/SheetLinks.idl b/offapi/com/sun/star/sheet/SheetLinks.idl
new file mode 100644
index 000000000000..ee960b37e57c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinks.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetLinks_idl__
+#define __com_sun_star_sheet_SheetLinks_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl
new file mode 100644
index 000000000000..85749701c85a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetLinksEnumeration_idl__
+#define __com_sun_star_sheet_SheetLinkssEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SheetRangesQuery.idl b/offapi/com/sun/star/sheet/SheetRangesQuery.idl
new file mode 100644
index 000000000000..623220a1df20
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetRangesQuery.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__
+#define __com_sun_star_sheet_SheetRangesQuery_idl__
+
+#ifndef __com_sun_star_sheet_XCellRangesQuery_idl__
+#include <com/sun/star/sheet/XCellRangesQuery.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XFormulaQuery_idl__
+#include <com/sun/star/sheet/XFormulaQuery.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl
new file mode 100644
index 000000000000..64e1e240434c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_SheetSortDescriptor_idl__
+#define __com_sun_star_sheet_SheetSortDescriptor_idl__
+
+#ifndef __com_sun_star_table_TableSortDescriptor_idl__
+#include <com/sun/star/table/TableSortDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** a description of how a cell range is to be sorted.
+
+ <p>This service extends the <type scope="com::sun::star::table">TableSortDescriptor</type>
+ 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
+ <member>SheetSortDescriptor::IsUserListEnabled</member> 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
+ <member>SheetSortDescriptor::CopyOutputData</member> is <TRUE/>.</p>
+ */
+ [property] com::sun::star::table::CellAddress OutputPosition;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl
new file mode 100644
index 000000000000..6c0723c06d55
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_SheetSortDescriptor2_idl__
+#define __com_sun_star_sheet_SheetSortDescriptor2_idl__
+
+#ifndef __com_sun_star_table_TableSortDescriptor2_idl__
+#include <com/sun/star/table/TableSortDescriptor2.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** a description of how a cell range is to be sorted.
+
+ <p>This service extends the <type scope="com::sun::star::table">TableSortDescriptor2</type>
+ 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
+ <member>SheetSortDescriptor::IsUserListEnabled</member> 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
+ <member>SheetSortDescriptor::CopyOutputData</member> is <TRUE/>.</p>
+ */
+ [property] com::sun::star::table::CellAddress OutputPosition;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the first row or column (depending on
+ <member scope="com::sun::star::table">TableSortDescriptor::Orientation</member>) is a header which
+ should not be sorted.
+ */
+ [property] boolean ContainsHeader;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SingleReference.idl b/offapi/com/sun/star/sheet/SingleReference.idl
new file mode 100644
index 000000000000..a4e191d08280
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SingleReference.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/Solver.idl b/offapi/com/sun/star/sheet/Solver.idl
new file mode 100644
index 000000000000..25fb5ac92f41
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Solver.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Solver_idl__
+#define __com_sun_star_sheet_Solver_idl__
+
+#ifndef __com_sun_star_sheet_XSolver_idl__
+#include <com/sun/star/sheet/XSolver.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** A solver for a model that is defined by spreadsheet cells.
+ */
+service Solver: XSolver;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SolverConstraint.idl b/offapi/com/sun/star/sheet/SolverConstraint.idl
new file mode 100644
index 000000000000..10d735f92a15
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SolverConstraint.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SolverConstraint_idl__
+#define __com_sun_star_sheet_SolverConstraint_idl__
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SolverConstraintOperator_idl__
+#include <com/sun/star/sheet/SolverConstraintOperator.idl>
+#endif
+
+//=============================================================================
+
+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 <atom>double</atom> or
+ <type scope="com::sun::star::table">CellAddress</type>.
+ */
+ any Right;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SolverConstraintOperator.idl b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl
new file mode 100644
index 000000000000..c73be84a1ac6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>SolverConstraint</type>.
+ */
+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
+
diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
new file mode 100644
index 000000000000..0b21a050d099
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Spreadsheet_idl__
+#define __com_sun_star_sheet_Spreadsheet_idl__
+
+#ifndef __com_sun_star_sheet_SheetCellRange_idl__
+#include <com/sun/star/sheet/SheetCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_util_XProtectable_idl__
+#include <com/sun/star/util/XProtectable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
+#include <com/sun/star/sheet/XDataPilotTablesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__
+#include <com/sun/star/sheet/XScenariosSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
+#include <com/sun/star/sheet/XSheetAnnotationsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPageSupplier_idl__
+#include <com/sun/star/drawing/XDrawPageSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableChartsSupplier_idl__
+#include <com/sun/star/table/XTableChartsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeMovement_idl__
+#include <com/sun/star/sheet/XCellRangeMovement.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XPrintAreas_idl__
+#include <com/sun/star/sheet/XPrintAreas.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetPageBreak_idl__
+#include <com/sun/star/sheet/XSheetPageBreak.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetOutline_idl__
+#include <com/sun/star/sheet/XSheetOutline.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAuditing_idl__
+#include <com/sun/star/sheet/XSheetAuditing.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetLinkable_idl__
+#include <com/sun/star/sheet/XSheetLinkable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_Scenario_idl__
+#include <com/sun/star/sheet/Scenario.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XExternalSheetName_idl__
+#include <com/sun/star/sheet/XExternalSheetName.idl>
+#endif
+
+#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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocument.idl b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
new file mode 100644
index 000000000000..3c5ad45d7942
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
@@ -0,0 +1,288 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocument_idl__
+#define __com_sun_star_sheet_SpreadsheetDocument_idl__
+
+#ifndef __com_sun_star_document_OfficeDocument_idl__
+#include <com/sun/star/document/OfficeDocument.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl>
+#endif
+
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_document_XActionLockable_idl__
+#include <com/sun/star/document/XActionLockable.idl>
+#endif
+
+#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XProtectable_idl__
+#include <com/sun/star/util/XProtectable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCalculatable_idl__
+#include <com/sun/star/sheet/XCalculatable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDocumentAuditing_idl__
+#include <com/sun/star/sheet/XDocumentAuditing.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XConsolidatable_idl__
+#include <com/sun/star/sheet/XConsolidatable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XGoalSeek_idl__
+#include <com/sun/star/sheet/XGoalSeek.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+
+#ifndef __com_sun_star_sheet_XNamedRanges_idl__
+#include <com/sun/star/sheet/XNamedRanges.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__
+#include <com/sun/star/sheet/XDatabaseRanges.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XLabelRanges_idl__
+#include <com/sun/star/sheet/XLabelRanges.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XAreaLinks_idl__
+#include <com/sun/star/sheet/XAreaLinks.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XExternalDocLinks_idl__
+#include <com/sun/star/sheet/XExternalDocLinks.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::lang">XComponent</type>.</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;
+
+ //-------------------------------------------------------------------------
+
+#if 0
+ /** contains the collection of external document links in the document.
+
+ @since OOo 3.1
+ */
+ [optional, readonly, property] com::sun::star::sheet::XExternalDocLinks ExternalDocLinks;
+#endif
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl
new file mode 100644
index 000000000000..e89ae136053b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl
@@ -0,0 +1,250 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+#define __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XDevice_idl__
+#include <com/sun/star/awt/XDevice.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>SpreadsheetDocumentSettings::IsIterationEnabled</member>.</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
+ <member>SpreadsheetDocumentSettings::IsIterationEnabled</member>.</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.
+ */
+ [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.
+
+ @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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl
new file mode 100644
index 000000000000..75b685071eb9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_SpreadsheetDrawPage_idl__
+#define __com_sun_star_sheet_SpreadsheetDrawPage_idl__
+
+#ifndef __com_sun_star_drawing_XDrawPage_idl__
+#include <com/sun/star/drawing/XDrawPage.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShapeGrouper_idl__
+#include <com/sun/star/drawing/XShapeGrouper.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** This abstract service is implemented by every page of a
+ <type>SpreadsheetDocument</type>.
+
+ @example create and insert a couple of <type scope="com::sun::star::drawing">LineShape</type>s:
+
+ <listing>
+ 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%
+ </listing>
+
+ @since OOo 1.1.2
+ */
+published service SpreadsheetDrawPage
+{
+
+
+ /** manages the <type scope="com::sun::star::drawing">Shape</type>s of this page.
+
+ <p>It also lets you add new <type scope="com::sun::star::drawing">Shape</type>s. The program currently
+ requires that these <type scope="com::sun::star::drawing">Shape</type>s 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
+ <type scope="com::sun::star::drawing">Shape</type>s.
+ */
+ interface com::sun::star::drawing::XShapeGrouper;
+
+
+ /** returns the services implemented by this instance.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/SpreadsheetView.idl b/offapi/com/sun/star/sheet/SpreadsheetView.idl
new file mode 100644
index 000000000000..40ade27fedad
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetView.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_SpreadsheetView_idl__
+#define __com_sun_star_sheet_SpreadsheetView_idl__
+
+#ifndef __com_sun_star_frame_Controller_idl__
+#include <com/sun/star/frame/Controller.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewSettings_idl__
+#include <com/sun/star/sheet/SpreadsheetViewSettings.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewPane_idl__
+#include <com/sun/star/sheet/SpreadsheetViewPane.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheetView_idl__
+#include <com/sun/star/sheet/XSpreadsheetView.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XViewSplitable_idl__
+#include <com/sun/star/sheet/XViewSplitable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XViewFreezable_idl__
+#include <com/sun/star/sheet/XViewFreezable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XRangeSelection_idl__
+#include <com/sun/star/sheet/XRangeSelection.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XActivationBroadcaster_idl__
+#include <com/sun/star/sheet/XActivationBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__
+#include <com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <type scope="com::sun::star::sheet">SheetCell</type>,
+ <type scope="com::sun::star::sheet">SheetCellRange</type>,
+ <type scope="com::sun::star::sheet">SheetCellRanges</type>,
+ <type scope="com::sun::star::drawing">Shape</type> or
+ <type scope="com::sun::star::drawing">Shapes</type> 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
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
new file mode 100755
index 000000000000..d672dd8931e9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl
new file mode 100644
index 000000000000..254601559a16
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_SpreadsheetViewPane_idl__
+#define __com_sun_star_sheet_SpreadsheetViewPane_idl__
+
+#ifndef __com_sun_star_sheet_XViewPane_idl__
+#include <com/sun/star/sheet/XViewPane.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+#endif
+
+#ifndef __com_sun_star_view_XControlAccess_idl__
+#include <com/sun/star/view/XControlAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl
new file mode 100644
index 000000000000..de2d6c70fc8c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__
+#define __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
new file mode 100644
index 000000000000..c1b56ff7ffc6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
@@ -0,0 +1,199 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewSettings_idl__
+#define __com_sun_star_sheet_SpreadsheetViewSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+//=============================================================================
+
+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 solid (colored) handles when drawing
+ objects are selected.
+ */
+ [property] boolean SolidHandles;
+
+ //-------------------------------------------------------------------------
+
+ /** 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.
+ */
+ [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
+ <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
+ */
+ [property] short ZoomValue;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/Spreadsheets.idl b/offapi/com/sun/star/sheet/Spreadsheets.idl
new file mode 100644
index 000000000000..0e04297f1a99
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Spreadsheets.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_Spreadsheets_idl__
+#define __com_sun_star_sheet_Spreadsheets_idl__
+
+#ifndef __com_sun_star_sheet_XSpreadsheets_idl__
+#include <com/sun/star/sheet/XSpreadsheets.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangesAccess_idl__
+#include <com/sun/star/sheet/XCellRangesAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl
new file mode 100644
index 000000000000..e42bb9d9d93b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SpreadsheetsEnumeration_idl__
+#define __com_sun_star_sheet_SpreadsheetsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/StatusBarFunction.idl b/offapi/com/sun/star/sheet/StatusBarFunction.idl
new file mode 100644
index 000000000000..8d2fe522ede7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/StatusBarFunction.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/SubTotalColumn.idl b/offapi/com/sun/star/sheet/SubTotalColumn.idl
new file mode 100644
index 000000000000..45ebf2b9853e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalColumn.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SubTotalColumn_idl__
+#define __com_sun_star_sheet_SubTotalColumn_idl__
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SubTotalDescriptor.idl b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl
new file mode 100644
index 000000000000..399cb5b1d7d1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SubTotalDescriptor_idl__
+#define __com_sun_star_sheet_SubTotalDescriptor_idl__
+
+#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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 behaviour 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
+ /** procides 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
+ <member>SubTotalDescriptor::EnableUserSortList</member>
+ 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
+ <member>SubTotalDescriptor::EnableSort</member> 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
+
diff --git a/offapi/com/sun/star/sheet/SubTotalField.idl b/offapi/com/sun/star/sheet/SubTotalField.idl
new file mode 100644
index 000000000000..bbec0c9706e8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalField.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SubTotalField_idl__
+#define __com_sun_star_sheet_SubTotalField_idl__
+
+#ifndef __com_sun_star_sheet_XSubTotalField_idl__
+#include <com/sun/star/sheet/XSubTotalField.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl
new file mode 100644
index 000000000000..49d6523a9d93
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__
+#define __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableAutoFormat.idl b/offapi/com/sun/star/sheet/TableAutoFormat.idl
new file mode 100644
index 000000000000..8f9af3b41ef7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormat.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableAutoFormat_idl__
+#define __com_sun_star_sheet_TableAutoFormat_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl
new file mode 100644
index 000000000000..636ca5d6e856
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableAutoFormatEnumeration_idl__
+#define __com_sun_star_sheet_TableAutoFormatEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatField.idl b/offapi/com/sun/star/sheet/TableAutoFormatField.idl
new file mode 100644
index 000000000000..90ae519a4c51
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatField.idl
@@ -0,0 +1,329 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableAutoFormatField_idl__
+#define __com_sun_star_sheet_TableAutoFormatField_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontSlant_idl__
+#include <com/sun/star/awt/FontSlant.idl>
+#endif
+
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellHoriJustify_idl__
+#include <com/sun/star/table/CellHoriJustify.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellVertJustify_idl__
+#include <com/sun/star/table/CellVertJustify.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellOrientation_idl__
+#include <com/sun/star/table/CellOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_table_TableBorder_idl__
+#include <com/sun/star/table/TableBorder.idl>
+#endif
+
+//=============================================================================
+
+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 comlex 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 <member>TableAutoFormatField::CellBackColor</member>
+ 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.
+ */
+ [optional, property] com::sun::star::table::CellVertJustify 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 egde of the cell rotation.
+ */
+ [optional, property] com::sun::star::table::CellVertJustify 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/TableAutoFormats.idl b/offapi/com/sun/star/sheet/TableAutoFormats.idl
new file mode 100644
index 000000000000..bffc1cdccbb2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormats.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableAutoFormats_idl__
+#define __com_sun_star_sheet_TableAutoFormats_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl
new file mode 100644
index 000000000000..3d7b19ed411c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__
+#define __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableCellStyle.idl b/offapi/com/sun/star/sheet/TableCellStyle.idl
new file mode 100644
index 000000000000..94559721145a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableCellStyle.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableCellStyle_idl__
+#define __com_sun_star_sheet_TableCellStyle_idl__
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#include <com/sun/star/table/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CellStyle_idl__
+#include <com/sun/star/style/CellStyle.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** contains the properties of a table cell style.
+
+ <p>This service extends the service
+ <type scope="com::sun::star::style">CellStyle</type> 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
+
diff --git a/offapi/com/sun/star/sheet/TableConditionalEntry.idl b/offapi/com/sun/star/sheet/TableConditionalEntry.idl
new file mode 100644
index 000000000000..d0a10cd8f4fc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalEntry.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableConditionalEntry_idl__
+#define __com_sun_star_sheet_TableConditionalEntry_idl__
+
+#ifndef __com_sun_star_sheet_XSheetCondition_idl__
+#include <com/sun/star/sheet/XSheetCondition.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntry_idl__
+#include <com/sun/star/sheet/XSheetConditionalEntry.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl
new file mode 100644
index 000000000000..815563a4aa93
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__
+#define __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableConditionalFormat.idl b/offapi/com/sun/star/sheet/TableConditionalFormat.idl
new file mode 100644
index 000000000000..4c21a61ce712
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalFormat.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableConditionalFormat_idl__
+#define __com_sun_star_sheet_TableConditionalFormat_idl__
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/TableFilterField.idl b/offapi/com/sun/star/sheet/TableFilterField.idl
new file mode 100644
index 000000000000..69d9a5bcc6ee
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>TableFilterField::NumericValue</member>
+ or the <member>TableFilterField::StringValue</member> is used.
+ */
+ boolean IsNumeric;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl
new file mode 100644
index 000000000000..d7383f477bdc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField2.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>FilterOperator2</type> constants group as
+ member, whereas the <type>TableFilterField</type> struct uses the
+ <type>FilterOperator</type> 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
+ <type>FilterOperator2</type>.
+ */
+ long Operator;
+
+ //-------------------------------------------------------------------------
+
+ /** selects whether the <member>TableFilterField2::NumericValue</member>
+ or the <member>TableFilterField2::StringValue</member> is used.
+ */
+ boolean IsNumeric;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/TableOperationMode.idl b/offapi/com/sun/star/sheet/TableOperationMode.idl
new file mode 100644
index 000000000000..bc7c610f40d0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableOperationMode.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/TablePageBreakData.idl b/offapi/com/sun/star/sheet/TablePageBreakData.idl
new file mode 100644
index 000000000000..5a80bfc19e2d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TablePageBreakData.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/TablePageStyle.idl b/offapi/com/sun/star/sheet/TablePageStyle.idl
new file mode 100644
index 000000000000..6673fb80f9de
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TablePageStyle.idl
@@ -0,0 +1,221 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TablePageStyle_idl__
+#define __com_sun_star_sheet_TablePageStyle_idl__
+
+#ifndef __com_sun_star_style_PageStyle_idl__
+#include <com/sun/star/style/PageStyle.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XHeaderFooterContent_idl__
+#include <com/sun/star/sheet/XHeaderFooterContent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** represents a page style for a spreadsheet.
+
+ <p>This service extends the service
+ <type scope="com::sun::star::style">PageStyle</type> 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.0
+
+ */
+ [property, optional] short ScaleToPagesX;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the number of vertical pages the sheet will printed on.
+
+ @since OOo 2.0.0
+
+ */
+ [property, optional] short ScaleToPagesY;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/TableValidation.idl b/offapi/com/sun/star/sheet/TableValidation.idl
new file mode 100644
index 000000000000..f71ab2b1e6aa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableValidation.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_TableValidation_idl__
+#define __com_sun_star_sheet_TableValidation_idl__
+
+#ifndef __com_sun_star_sheet_XSheetCondition_idl__
+#include <com/sun/star/sheet/XSheetCondition.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_ValidationType_idl__
+#include <com/sun/star/sheet/ValidationType.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_ValidationAlertStyle_idl__
+#include <com/sun/star/sheet/ValidationAlertStyle.idl>
+#endif
+
+//=============================================================================
+
+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 <member>TableValidation::ShowInputMessage</member>
+ is set to <TRUE/>.</p>
+ */
+ [property] string InputTitle;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the text of the input message.
+
+ <p>This is only used if <member>TableValidation::ShowInputMessage</member>
+ 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 <member>TableValidation::ShowErrorMessage</member>
+ is set to <TRUE/>.</p>
+ */
+ [property] string ErrorTitle;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the text of the error message.
+
+ <p>This is only used if <member>TableValidation::ShowErrorMessage</member>
+ 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 <member>TableValidation::ShowErrorMessage</member>
+ 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 <type>TableValidationVisibility</type>
+ */
+ [optional,property] short ShowList;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/TableValidationVisibility.idl b/offapi/com/sun/star/sheet/TableValidationVisibility.idl
new file mode 100644
index 000000000000..3d122d13ba9f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableValidationVisibility.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl
new file mode 100644
index 000000000000..d8edb544e2d9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_UniqueCellFormatRanges_idl__
+#define __com_sun_star_sheet_UniqueCellFormatRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl
new file mode 100644
index 000000000000..ebfda93bf203
--- /dev/null
+++ b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__
+#define __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/ValidationAlertStyle.idl b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl
new file mode 100644
index 000000000000..3afbd65372df
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/ValidationType.idl b/offapi/com/sun/star/sheet/ValidationType.idl
new file mode 100644
index 000000000000..0c6d7a433570
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ValidationType.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 detemines which contents are valid.
+ */
+ CUSTOM
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/VolatileResult.idl b/offapi/com/sun/star/sheet/VolatileResult.idl
new file mode 100644
index 000000000000..791416855998
--- /dev/null
+++ b/offapi/com/sun/star/sheet/VolatileResult.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_VolatileResult_idl__
+#define __com_sun_star_sheet_VolatileResult_idl__
+
+#ifndef __com_sun_star_sheet_XVolatileResult_idl__
+#include <com/sun/star/sheet/XVolatileResult.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XVolatileResult</type> interface allows the addition of
+ listeners which are notified when the value changes.</p>
+
+ @see com::sun::star::sheet::AddIn
+ */
+published service VolatileResult
+{
+ // ------------------------------------------------------------------------
+
+ /** porovides handling with a volatile function result.
+ */
+ interface com::sun::star::sheet::XVolatileResult;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
new file mode 100644
index 000000000000..7c57ab280508
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XActivationBroadcaster_idl__
+#define __com_sun_star_sheet_XActivationBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XActivationEventListener_idl__
+#include <com/sun/star/sheet/XActivationEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** provides methods to add and remove XActivationEventListener
+
+ @since OOo 2.0.0
+
+ */
+published interface XActivationBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** allows a component supporting the
+ <type>XActivationEventListener</type> interface to
+ register as listener. The component will be notified with a
+ <type>ActivationEvent</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XActivationEventListener.idl b/offapi/com/sun/star/sheet/XActivationEventListener.idl
new file mode 100644
index 000000000000..ede31cf591d0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XActivationEventListener_idl__
+#define __com_sun_star_sheet_XActivationEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_ActivationEvent_idl__
+#include <com/sun/star/sheet/ActivationEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>XSpreadsheetViewEventProvider</type> component.</p>
+
+ @param aEvent
+ the event that gives further information on which Spreadsheet is active now.
+
+ @see ActivationEvent
+ @see XSpreadsheetViewEventProvieder
+
+ @since OOo 2.0.0
+
+ */
+ void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XAddIn.idl b/offapi/com/sun/star/sheet/XAddIn.idl
new file mode 100644
index 000000000000..f506de2e5587
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAddIn.idl
@@ -0,0 +1,218 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XAddIn_idl__
+#define __com_sun_star_sheet_XAddIn_idl__
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XAreaLink.idl b/offapi/com/sun/star/sheet/XAreaLink.idl
new file mode 100644
index 000000000000..9d92564945c0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAreaLink.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XAreaLink_idl__
+#define __com_sun_star_sheet_XAreaLink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XAreaLinks.idl b/offapi/com/sun/star/sheet/XAreaLinks.idl
new file mode 100644
index 000000000000..aca3f2ac57ed
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAreaLinks.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XAreaLinks_idl__
+#define __com_sun_star_sheet_XAreaLinks_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XArrayFormulaRange.idl b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl
new file mode 100644
index 000000000000..6941b8c5808d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XArrayFormulaRange_idl__
+#define __com_sun_star_sheet_XArrayFormulaRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl
new file mode 100644
index 000000000000..6761606bc4dd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XArrayFormulaTokens_idl__
+#define __com_sun_star_sheet_XArrayFormulaTokens_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FormulaToken_idl__
+#include <com/sun/star/sheet/FormulaToken.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XCalculatable.idl b/offapi/com/sun/star/sheet/XCalculatable.idl
new file mode 100644
index 000000000000..4c46f8b5829a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCalculatable.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCalculatable_idl__
+#define __com_sun_star_sheet_XCalculatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void enableAutomaticCalculation( [in] boolean bEnabled );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XCellAddressable.idl b/offapi/com/sun/star/sheet/XCellAddressable.idl
new file mode 100644
index 000000000000..b057301da9fd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellAddressable.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellAddressable_idl__
+#define __com_sun_star_sheet_XCellAddressable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** represents a cell which can be addressed with a
+ <type scope="com::sun::star::table">CellAddress</type>.
+ */
+published interface XCellAddressable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns the address of the cell in the spreadsheet document.
+
+ <p>The <type scope="com::sun::star::table">CellAddress</type>
+ can be used to address the cell within its document.</p>
+ */
+ com::sun::star::table::CellAddress getCellAddress();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl
new file mode 100644
index 000000000000..f2c660513fdd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellFormatRangesSupplier_idl__
+#define __com_sun_star_sheet_XCellFormatRangesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XCellRangeAddressable.idl b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl
new file mode 100644
index 000000000000..f0391fafd856
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangeAddressable_idl__
+#define __com_sun_star_sheet_XCellRangeAddressable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** represents a cell which can be addressed with a
+ <type scope="com::sun::star::table">CellRangeAddress</type>.
+ */
+published interface XCellRangeAddressable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns the address of the cell range in the spreadsheet document.
+
+ <p>The <type scope="com::sun::star::table">CellRangeAddress</type>
+ can be used to address the range within its document.</p>
+ */
+ com::sun::star::table::CellRangeAddress getRangeAddress();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XCellRangeData.idl b/offapi/com/sun/star/sheet/XCellRangeData.idl
new file mode 100644
index 000000000000..3e08587a3aa3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeData.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#define __com_sun_star_sheet_XCellRangeData_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+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 <atom>double</atom>
+ or a <atom>string</atom>.</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 <atom>double</atom>
+ or a <atom>string</atom>.</p>
+
+ @throws <type scope="com::sun::star::uno">RuntimeException</type>
+ If the size of the array is different from the current size.
+ */
+ void setDataArray( [in] sequence< sequence< any > > aArray );
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XCellRangeFormula.idl b/offapi/com/sun/star/sheet/XCellRangeFormula.idl
new file mode 100644
index 000000000000..3de2eba0ddde
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeFormula.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangeFormula_idl__
+#define __com_sun_star_sheet_XCellRangeFormula_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::table">XCell::getFormula()</member>
+ 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
+ <member scope="com::sun::star::table">XCell::setFormula()</member>
+ call for the corresponding cell.</p>
+
+ @throws <type scope="com::sun::star::uno">RuntimeException</type>
+ If the size of the array is different from the current size.
+ */
+ void setFormulaArray( [in] sequence< sequence< string > > aArray );
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XCellRangeMovement.idl b/offapi/com/sun/star/sheet/XCellRangeMovement.idl
new file mode 100644
index 000000000000..230c3606b845
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeMovement.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangeMovement_idl__
+#define __com_sun_star_sheet_XCellRangeMovement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_CellInsertMode_idl__
+#include <com/sun/star/sheet/CellInsertMode.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_CellDeleteMode_idl__
+#include <com/sun/star/sheet/CellDeleteMode.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XCellRangeReferrer.idl b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl
new file mode 100644
index 000000000000..95ba302b90fe
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
+#define __com_sun_star_sheet_XCellRangeReferrer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XCellRangesAccess.idl b/offapi/com/sun/star/sheet/XCellRangesAccess.idl
new file mode 100644
index 000000000000..d22d2a4c6e6e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangesAccess.idl
@@ -0,0 +1,152 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangesAccess_idl__
+#define __com_sun_star_sheet_XCellRangesAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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 <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XCellRangesQuery.idl b/offapi/com/sun/star/sheet/XCellRangesQuery.idl
new file mode 100644
index 000000000000..44c9b8b4053b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangesQuery.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellRangesQuery_idl__
+#define __com_sun_star_sheet_XCellRangesQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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 <type>CellFlags</type> flags.
+
+ <p>Attention: Despite the <type>CellFlags</type> flags are
+ <atom>long</atom> values, this method expects a <atom>short</atom>
+ parameter.
+
+ @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 <type>FormulaResult</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XCellSeries.idl b/offapi/com/sun/star/sheet/XCellSeries.idl
new file mode 100644
index 000000000000..27e6794b6eec
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellSeries.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCellSeries_idl__
+#define __com_sun_star_sheet_XCellSeries_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FillDirection_idl__
+#include <com/sun/star/sheet/FillDirection.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FillMode_idl__
+#include <com/sun/star/sheet/FillMode.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FillDateMode_idl__
+#include <com/sun/star/sheet/FillDateMode.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XCompatibilityNames.idl b/offapi/com/sun/star/sheet/XCompatibilityNames.idl
new file mode 100644
index 000000000000..28170f8eadc8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCompatibilityNames.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XCompatibilityNames_idl__
+#define __com_sun_star_sheet_XCompatibilityNames_idl__
+
+#ifndef __com_sun_star_sheet_LocalizedName_idl__
+#include <com/sun/star/sheet/LocalizedName.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>XAddIn::getProgrammaticFuntionName</member> 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
+
diff --git a/offapi/com/sun/star/sheet/XConsolidatable.idl b/offapi/com/sun/star/sheet/XConsolidatable.idl
new file mode 100644
index 000000000000..ba02e0741480
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConsolidatable.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XConsolidatable_idl__
+#define __com_sun_star_sheet_XConsolidatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XConsolidationDescriptor_idl__
+#include <com/sun/star/sheet/XConsolidationDescriptor.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl
new file mode 100644
index 000000000000..e23069c57a84
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XConsolidationDescriptor_idl__
+#define __com_sun_star_sheet_XConsolidationDescriptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDDELink.idl b/offapi/com/sun/star/sheet/XDDELink.idl
new file mode 100644
index 000000000000..3f2a71ed4cbd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELink.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDDELink_idl__
+#define __com_sun_star_sheet_XDDELink_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDDELinkResults.idl b/offapi/com/sun/star/sheet/XDDELinkResults.idl
new file mode 100644
index 000000000000..b0ca1afd5205
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELinkResults.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDDELinkResults_idl__
+#define __com_sun_star_sheet_XDDELinkResults_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/sheet/XDDELinks.idl b/offapi/com/sun/star/sheet/XDDELinks.idl
new file mode 100644
index 000000000000..6863a4432c8c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELinks.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDDELinks_idl__
+#define __com_sun_star_sheet_XDDELinks_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDDELink_idl__
+#include <com/sun/star/sheet/XDDELink.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DDELinkMode_idl__
+#include <com/sun/star/sheet/DDELinkMode.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl
new file mode 100644
index 000000000000..06d74a921077
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__
+#define __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__
+
+#ifndef __com_sun_star_sheet_XDataPilotField_idl__
+#include <com/sun/star/sheet/XDataPilotField.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Provides access to the <type>DataPilotField</type> used to layout
+ multiple data fields.
+
+ <p>This data field can be inserted into the rows dimension or columns
+ dimension by changing its <member scope="DataPilotField">Orientation</member>
+ 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 <type>DataPilotField</type> 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 <member scope="DataPilotField">Orientation</member> property.</p>
+ */
+ XDataPilotField getDataLayoutField();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl
new file mode 100644
index 000000000000..ab86bf29e05a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__
+#define __com_sun_star_sheet_XDataPilotDescriptor_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::container">XNamed</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotField.idl b/offapi/com/sun/star/sheet/XDataPilotField.idl
new file mode 100644
index 000000000000..43f98d55f029
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotField.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotField_idl__
+#define __com_sun_star_sheet_XDataPilotField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
new file mode 100644
index 000000000000..43ab69bb99d5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+#define __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>DataPilotField::GroupInfo</member> property. The returned
+ struct contains the sequence of groups in its member
+ <member>DataPilotFieldGroupInfo::Groups</member>.</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 perfomed 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 <member>DataPilotFieldGroupInfo::HasAutoStart
+ </member> is set to <FALSE/>, then the value of <member>
+ DataPilotFieldGroupInfo::Start</member> must be a floating-point
+ value representing a valid date/time value (if <member>
+ DataPilotFieldGroupInfo::HasAutoStart</member> is set to <TRUE/>,
+ the value of <member>DataPilotFieldGroupInfo::Start</member> will
+ be ignored).</li>
+
+ <li>If the member <member>DataPilotFieldGroupInfo::HasAutoEnd
+ </member> is set to <FALSE/>, then the value of <member>
+ DataPilotFieldGroupInfo::End</member> must be a floating-point
+ value representing a valid date/time value( if <member>
+ DataPilotFieldGroupInfo::HasAutoEnd</member> is set to <TRUE/>,
+ the value of <member>DataPilotFieldGroupInfo::End</member> will be
+ ignored).</li>
+
+ <li>If the members <member>DataPilotFieldGroupInfo::HasAutoStart
+ </member> and <member>DataPilotFieldGroupInfo::HasAutoEnd</member>
+ are set to <FALSE/> both, then the value of <member>
+ DataPilotFieldGroupInfo::Start</member> must be less than or equal
+ to the value of <member>DataPilotFieldGroupInfo::End</member>.</li>
+
+ <li>The member <member>DataPilotFieldGroupInfo::HasDateValues</member>
+ must be set to <TRUE/>.</li>
+
+ <li>The member <member>DataPilotFieldGroupInfo::Step</member> 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 <member>DataPilotFieldGroupInfo::GroupBy</member>
+ must contain exactly one of the flags from <type>DataPilotFieldGroupBy</type>.
+ A combination of several flags will not be accepted. If
+ <const>DataPilotFieldGroupBy::DAYS</const> is specified, the
+ value of the member <member>DataPilotFieldGroupInfo::Step</member>
+ 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 <member>
+ DataPilotFieldGroupInfo::SourceField</member> will be ignored.</li>
+
+ <li>The contents of the member <member>
+ DataPilotFieldGroupInfo::Groups</member> 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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl
new file mode 100644
index 000000000000..b8f51d27cfcd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotMemberResults_idl__
+#define __com_sun_star_sheet_XDataPilotMemberResults_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_MemberResult_idl__
+#include <com/sun/star/sheet/MemberResult.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotResults.idl b/offapi/com/sun/star/sheet/XDataPilotResults.idl
new file mode 100644
index 000000000000..38e4c2ec6886
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotResults.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotResults_idl__
+#define __com_sun_star_sheet_XDataPilotResults_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataResult_idl__
+#include <com/sun/star/sheet/DataResult.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotTable.idl b/offapi/com/sun/star/sheet/XDataPilotTable.idl
new file mode 100644
index 000000000000..00aae3780bd9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTable.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotTable_idl__
+#define __com_sun_star_sheet_XDataPilotTable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotTable2.idl b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
new file mode 100644
index 000000000000..df7ec30041a8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotTable2_idl__
+#define __com_sun_star_sheet_XDataPilotTable2_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotTable_idl__
+#include <com/sun/star/sheet/XDataPilotTable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotOutputRangeType_idl__
+#include <com/sun/star/sheet/DataPilotOutputRangeType.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldFilter_idl__
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#endif
+
+#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 <type scope="com::sun::star::sheet">XDataPilotTable</type>.
+
+ <type scope="com::sun::star::sheet">XDataPilotTable2</type> extends the old
+ <type scope="com::sun::star::sheet">XDataPilotTable</type> interface with
+ additional methods.
+
+ @see com::sun::star::sheet::XDataPilotTable
+
+ @since OOo 3.0.0
+ */
+interface XDataPilotTable2: com::sun::star::sheet::XDataPilotTable
+{
+ /** When the address of a cell within the result area is given,
+ <method>XDataPilotTable2::getDrillDownData</method> 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 <method>XDataPilotTable2::insertDrillDownSheet</method>
+ */
+ 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 <type>DataPilotTablePositionData</type> 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 <type scope="com::sun::star::table">CellRangeAddress</type> depicting
+ the range specified. See <type>DataPilotOutputRangeType</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotTables.idl b/offapi/com/sun/star/sheet/XDataPilotTables.idl
new file mode 100644
index 000000000000..f4706cdb223c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTables.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotTables_idl__
+#define __com_sun_star_sheet_XDataPilotTables_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::container">XNameAccess</type> 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
+ <member>XDataPilotTables::addTable</member>.</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 aAoutputAddress
+ 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 aOutputAddress,
+ [in] com::sun::star::sheet::XDataPilotDescriptor xDescriptor );
+
+ //-------------------------------------------------------------------------
+
+ /** deletes a data pilot table from the collection.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl
new file mode 100644
index 000000000000..1df209f6d669
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
+#define __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XDataPilotTables_idl__
+#include <com/sun/star/sheet/XDataPilotTables.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDatabaseRange.idl b/offapi/com/sun/star/sheet/XDatabaseRange.idl
new file mode 100644
index 000000000000..9826ab8278e6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDatabaseRange.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDatabaseRange_idl__
+#define __com_sun_star_sheet_XDatabaseRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+#endif
+
+//=============================================================================
+
+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 <member>XDatabaseRange::refresh()</member> 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 <member>XDatabaseRange::refresh()</member> 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
+
diff --git a/offapi/com/sun/star/sheet/XDatabaseRanges.idl b/offapi/com/sun/star/sheet/XDatabaseRanges.idl
new file mode 100644
index 000000000000..1794f3c7eb42
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDatabaseRanges.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__
+#define __com_sun_star_sheet_XDatabaseRanges_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDimensionsSupplier.idl b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl
new file mode 100644
index 000000000000..309fdee4c522
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDimensionsSupplier_idl__
+#define __com_sun_star_sheet_XDimensionsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/XDocumentAuditing.idl b/offapi/com/sun/star/sheet/XDocumentAuditing.idl
new file mode 100644
index 000000000000..25a82ffb6970
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDocumentAuditing.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDocumentAuditing_idl__
+#define __com_sun_star_sheet_XDocumentAuditing_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
new file mode 100644
index 000000000000..ec5e6e2cb9c7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XDrillDownDataSupplier_idl__
+#define __com_sun_star_sheet_XDrillDownDataSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_DataPilotFieldFilter_idl__
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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 <method>XDataPilotTable2::getDrillDownData</method>
+ or <method>XDataPilotTable2::insertDrillDownSheet</method>. If the data source
+ service does not implement this interface, then the aformentioned two methods
+ will have no effect.
+
+ @see com::sun::star::sheet::DataPilotSource
+
+ @since OOo 3.0.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 origintal source data as 2-dimensional
+ sequences of <type scope="com::sun::star::uno">Any</any>. The first row
+ must be the header row. Each <type scope="com::sun::star::uno">Any</type>
+ instance must contain either <type>double</type> value for a numeric cell, or
+ a <type>string</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
new file mode 100644
index 000000000000..58461f90296a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__
+#define __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XEnhancedMouseClickHandler_idl__
+#include <com/sun/star/awt/XEnhancedMouseClickHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** provides methods to add and remove EnhancedMouseClickHandler
+
+ @since OOo 2.0.0
+
+ */
+published interface XEnhancedMouseClickBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** allows a component supporting the
+ <type>XEnhancedMouseClickHandler</type> interface to
+ register as listener. The component will be notified with a
+ <type>EnhancedMouseEvent</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl
new file mode 100644
index 000000000000..1a9662dbeed7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::sheet">ExternalDocLink</type> service.
+
+ @see com::sun::star::sheet::ExternalDocLink
+
+ @since OOo 3.1.0
+ */
+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
+ <type scope="com::sun::star::sheet">ExternalDocLink</type>. 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 <type scope="com::sun::star::sheet">ExternalDocLinks</type> 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
diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
new file mode 100644
index 000000000000..642b3c57eb14
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::sheet">ExternalDocLinks</type> service.
+
+ @see com::sun::star::sheet::ExternalDocLinks
+
+ @since OOo 3.1.0
+ */
+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
diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
new file mode 100644
index 000000000000..23827d7a04e2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::sheet">ExternalSheetCache</type> service.
+
+ @see com::sun::star::sheet::ExternalSheetCache
+
+ @since OOo 3.1.0
+ */
+interface XExternalSheetCache
+{
+ /** It sets a cached value for a specified cell position. The value is expected
+ to be either of type <type>string</type> or of type <type>double</type>. 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 <type>string</type> or <type>double</type>.
+
+ @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
+ <member>SingleReference::Sheet</member> member if it is part of an
+ external reference token.
+
+ <p>Each external sheet cache has a unique index value inside the
+ <type>ExternalDocLink</type> instance.</p>
+
+ @see FormulaToken
+ @see ExternalReference
+ */
+ [attribute, readonly] long TokenIndex;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XExternalSheetName.idl b/offapi/com/sun/star/sheet/XExternalSheetName.idl
new file mode 100644
index 000000000000..dd0cc73c67ec
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalSheetName.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XExternalSheetName_idl__
+#define __com_sun_star_sheet_XExternalSheetName_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XFillAcrossSheet.idl b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl
new file mode 100644
index 000000000000..b00ccb8158c6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFillAcrossSheet_idl__
+#define __com_sun_star_sheet_XFillAcrossSheet_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XFilterFormulaParser.idl b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl
new file mode 100644
index 000000000000..e78c01d75876
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XFormulaParser</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl
new file mode 100644
index 000000000000..e0ca0655d3e3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFormulaOpCodeMapper_idl__
+#define __com_sun_star_sheet_XFormulaOpCodeMapper_idl__
+
+#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 programmatical 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
+ <member>getMappings</member> 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 <type>FormulaLanguage</type>
+ constants. If a constant unknown to the implementation is passed,
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+
+ @returns
+ a sequence of <type>FormulaToken</type> 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 <type>FormulaToken
+ </type> containing the internal OpCode used by the spreadsheet
+ application in <member>FormulaToken::OpCode</member> and by
+ contract maybe additional information in <member>
+ FormulaToken::Data</member>.</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 <member>
+ OpCodeUnknown</member> assigned.</p>
+
+ <p>Additional information in <member>FormulaToken::Data</member>
+ is returned for:
+ <ul>
+ <li>Add-in names: the programmatical name. The OpCode value used
+ for add-ins can be queried with the <member>OpCodeExternal</member>
+ 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 <type>FormulaLanguage</type>
+ constants. If a constant unknown to the implementation is passed,
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+
+ @param Groups
+ Group of mappings to be returned, a bit mask of <type>
+ FormulaMapGroup</type> constants.
+
+ @returns
+ Sequence of <type>FormulaOpCodeMapEntry</type>.
+
+ <p>Each element of the formula language in parameter Language is
+ mapped to a <type>FormulaToken</type> containing the internal
+ OpCode used by the spreadsheet application in <member>
+ FormulaToken::OpCode</member> and by contract maybe additional
+ information in <member>FormulaToken::Data</member>. See <member>
+ getMappings</member> for more details.</p>
+ */
+ sequence< FormulaOpCodeMapEntry > getAvailableMappings(
+ [in] long Language, [in] long Groups )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+service FormulaOpCodeMapper : XFormulaOpCodeMapper;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XFormulaParser.idl b/offapi/com/sun/star/sheet/XFormulaParser.idl
new file mode 100644
index 000000000000..73b317e7f848
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaParser.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/XFormulaQuery.idl b/offapi/com/sun/star/sheet/XFormulaQuery.idl
new file mode 100644
index 000000000000..9188332dd184
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaQuery.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFormulaQuery_idl__
+#define __com_sun_star_sheet_XFormulaQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#endif
+
+//=============================================================================
+
+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/> = repeates 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/> = repeates 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
+
diff --git a/offapi/com/sun/star/sheet/XFormulaTokens.idl b/offapi/com/sun/star/sheet/XFormulaTokens.idl
new file mode 100644
index 000000000000..5edfe0b9840d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaTokens.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFormulaTokens_idl__
+#define __com_sun_star_sheet_XFormulaTokens_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FormulaToken_idl__
+#include <com/sun/star/sheet/FormulaToken.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XFunctionAccess.idl b/offapi/com/sun/star/sheet/XFunctionAccess.idl
new file mode 100644
index 000000000000..c12401421b35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFunctionAccess.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFunctionAccess_idl__
+#define __com_sun_star_sheet_XFunctionAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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><atom>long</atom> or <atom>double</atom></dt>
+ <dd>for a numeric value.</dd>
+
+ <dt><atom>string</atom></dt>
+ <dd>for a textual value.</dd>
+
+ <dt><atom>long[][]</atom> or <atom>double[][]</atom></dt>
+ <dd>for an array of numeric values.</dd>
+
+ <dt><atom>string[][]</atom></dt>
+ <dd>for an array of textual values.</dd>
+
+ <dt><atom>any[][]</atom></dt>
+ <dd>for a mixed array, where each element must be of <void/>,
+ <atom>long</atom>, <atom>double</atom> or <atom>string</atom>
+ type.</dd>
+
+ <dt><type scope="com::sun::star::table">XCellRange</type></dt>
+ <dd>for a <type>SheetCellRange</type> 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><atom>double</atom></dt>
+ <dd>for a numeric result.</dd>
+
+ <dt><atom>string</atom></dt>
+ <dd>for a textual result.</dd>
+
+ <dt><atom>any[][]</atom></dt>
+ <dd>for an array result, containing <atom>double</atom> and
+ <atom>string</atom> values.</dd>
+ </dl>
+
+ @throws <type scope="com::sun::star::container">NoSuchElementException</type>
+ if the named function does not exist.
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XFunctionDescriptions.idl b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl
new file mode 100644
index 000000000000..6346de137820
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XFunctionDescriptions_idl__
+#define __com_sun_star_sheet_XFunctionDescriptions_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::beans">PropertyValue</type> structs.
+ The properties contained in the sequence are collected in the service
+ <type>FunctionDescription</type>.</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 <type>RecentFunctions</type>.</p>
+
+ @returns
+ the sequence of property values (described in
+ <type>FunctionDescription</type>).
+ */
+ sequence< com::sun::star::beans::PropertyValue > getById( [in] long nId )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XGoalSeek.idl b/offapi/com/sun/star/sheet/XGoalSeek.idl
new file mode 100644
index 000000000000..a6e627574f88
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XGoalSeek.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XGoalSeek_idl__
+#define __com_sun_star_sheet_XGoalSeek_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GoalResult_idl__
+#include <com/sun/star/sheet/GoalResult.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XHeaderFooterContent.idl b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl
new file mode 100644
index 000000000000..6b491fadabf0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XHeaderFooterContent_idl__
+#define __com_sun_star_sheet_XHeaderFooterContent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl
new file mode 100644
index 000000000000..8b96a2888a04
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
+#define __com_sun_star_sheet_XHierarchiesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/XLabelRange.idl b/offapi/com/sun/star/sheet/XLabelRange.idl
new file mode 100644
index 000000000000..0fc837e8d244
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLabelRange.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XLabelRange_idl__
+#define __com_sun_star_sheet_XLabelRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XLabelRanges.idl b/offapi/com/sun/star/sheet/XLabelRanges.idl
new file mode 100644
index 000000000000..b1cf0aaeac09
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLabelRanges.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XLabelRanges_idl__
+#define __com_sun_star_sheet_XLabelRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XLevelsSupplier.idl b/offapi/com/sun/star/sheet/XLevelsSupplier.idl
new file mode 100644
index 000000000000..ec867a5ecf94
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLevelsSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XLevelsSupplier_idl__
+#define __com_sun_star_sheet_XLevelsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published 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
+
diff --git a/offapi/com/sun/star/sheet/XMembersSupplier.idl b/offapi/com/sun/star/sheet/XMembersSupplier.idl
new file mode 100644
index 000000000000..44c9669bc247
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMembersSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XMembersSupplier_idl__
+#define __com_sun_star_sheet_XMembersSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ */
+published interface XMembersSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns the collection of members.
+
+ @see com::sun::star::sheet::DataPilotSourceMembers
+ */
+ com::sun::star::container::XNameAccess getMembers();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl
new file mode 100644
index 000000000000..eb6ade5c3883
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XMultiFormulaTokens_idl__
+#define __com_sun_star_sheet_XMultiFormulaTokens_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_FormulaToken_idl__
+#include <com/sun/star/sheet/FormulaToken.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::sheet">XMultiFormulaTokens::getCount</member>
+ method. When the client code tries to access formula tokens at index that
+ is outside the allowed index range, the implementation shall return an
+ <type scope="com::sun::star::lang">IndexOutOfBoundsException</member>.
+ */
+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
+ <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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
+ <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XMultipleOperation.idl b/offapi/com/sun/star/sheet/XMultipleOperation.idl
new file mode 100644
index 000000000000..c0ba09d28674
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMultipleOperation.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XMultipleOperation_idl__
+#define __com_sun_star_sheet_XMultipleOperation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_TableOperationMode_idl__
+#include <com/sun/star/sheet/TableOperationMode.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+ <const>TableOperationMode::ROW</const> or
+ <const>TableOperationMode::COLUMN</const>) or a single formula
+ cell (mode <const>TableOperationMode::BOTH</const>).
+
+ @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 <const>TableOperationMode::ROW</const>)
+ or by the formula cell used for two value series (mode
+ <const>TableOperationMode::BOTH</const>). This parameter is not
+ used if mode is <const>TableOperationMode::COLUMN</const>.
+
+ @param aRowCell
+ contains the address of the cell that is referenced by
+ formulas in a column (mode <const>TableOperationMode::COLUMN</const>)
+ or by the formula cell used for two value series (mode
+ <const>TableOperationMode::BOTH</const>). This parameter is not
+ used if mode is <const>TableOperationMode::ROW</const>.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XNamedRange.idl b/offapi/com/sun/star/sheet/XNamedRange.idl
new file mode 100644
index 000000000000..678594c41d15
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XNamedRange.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XNamedRange_idl__
+#define __com_sun_star_sheet_XNamedRange_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>NamedRangeFlag</type>.</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 <type>NamedRangeFlag</type>.
+ */
+ void setType( [in] long nType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XNamedRanges.idl b/offapi/com/sun/star/sheet/XNamedRanges.idl
new file mode 100644
index 000000000000..36fb40485ce6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XNamedRanges.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XNamedRanges_idl__
+#define __com_sun_star_sheet_XNamedRanges_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_Border_idl__
+#include <com/sun/star/sheet/Border.idl>
+#endif
+
+//=============================================================================
+
+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 <type>NamedRangeFlag</type>.
+
+ <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 <const>aBorder</const>.
+ 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 <member>Border::TOP</member>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XPrintAreas.idl b/offapi/com/sun/star/sheet/XPrintAreas.idl
new file mode 100644
index 000000000000..78a0bf352512
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XPrintAreas.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XPrintAreas_idl__
+#define __com_sun_star_sheet_XPrintAreas_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>XPrintAreas::setPrintTitleColumns</member>.</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
+ <member>XPrintAreas::setPrintTitleColumns</member>.</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 bootom, using
+ <member>XPrintAreas::setPrintTitleRows</member>.</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
+ <member>XPrintAreas::setPrintTitleRows</member>.</p>
+
+ @param aTitleRows
+ the title rows range.
+ */
+ void setTitleRows( [in] com::sun::star::table::CellRangeAddress aTitleRows );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XRangeSelection.idl b/offapi/com/sun/star/sheet/XRangeSelection.idl
new file mode 100644
index 000000000000..e5a43d211a15
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelection.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XRangeSelection_idl__
+#define __com_sun_star_sheet_XRangeSelection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>RangeSelectionArguments</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl
new file mode 100644
index 000000000000..b67d55f72728
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XRangeSelectionChangeListener_idl__
+#define __com_sun_star_sheet_XRangeSelectionChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_RangeSelectionEvent_idl__
+#include <com/sun/star/sheet/RangeSelectionEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
+
diff --git a/offapi/com/sun/star/sheet/XRangeSelectionListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl
new file mode 100644
index 000000000000..41e9755127e2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XRangeSelectionListener_idl__
+#define __com_sun_star_sheet_XRangeSelectionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_RangeSelectionEvent_idl__
+#include <com/sun/star/sheet/RangeSelectionEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
+
diff --git a/offapi/com/sun/star/sheet/XRecentFunctions.idl b/offapi/com/sun/star/sheet/XRecentFunctions.idl
new file mode 100644
index 000000000000..91a3436f9bb9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRecentFunctions.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XRecentFunctions_idl__
+#define __com_sun_star_sheet_XRecentFunctions_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XResultListener.idl b/offapi/com/sun/star/sheet/XResultListener.idl
new file mode 100644
index 000000000000..7f72f0fd0a35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XResultListener_idl__
+#define __com_sun_star_sheet_XResultListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_ResultEvent_idl__
+#include <com/sun/star/sheet/ResultEvent.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XScenario.idl b/offapi/com/sun/star/sheet/XScenario.idl
new file mode 100644
index 000000000000..4ff1ad532d6a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenario.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XScenario_idl__
+#define __com_sun_star_sheet_XScenario_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
new file mode 100644
index 000000000000..cd4b895f1258
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XScenarioEnhanced_idl__
+#define __com_sun_star_sheet_XScenarioEnhanced_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+
+//=============================================================================
+
+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.0
+
+ */
+interface XScenarioEnhanced: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** gets the ranges to the scenario.
+ */
+ sequence< com::sun::star::table::CellRangeAddress > getRanges();
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XScenarios.idl b/offapi/com/sun/star/sheet/XScenarios.idl
new file mode 100644
index 000000000000..d294bdf72b42
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenarios.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XScenarios_idl__
+#define __com_sun_star_sheet_XScenarios_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XScenariosSupplier.idl b/offapi/com/sun/star/sheet/XScenariosSupplier.idl
new file mode 100644
index 000000000000..f04770fe08aa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenariosSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__
+#define __com_sun_star_sheet_XScenariosSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XScenarios_idl__
+#include <com/sun/star/sheet/XScenarios.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotation.idl b/offapi/com/sun/star/sheet/XSheetAnnotation.idl
new file mode 100644
index 000000000000..a999cf8f32b8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotation.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAnnotation_idl__
+#define __com_sun_star_sheet_XSheetAnnotation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl
new file mode 100644
index 000000000000..e53477080bea
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationAnchor_idl__
+#define __com_sun_star_sheet_XSheetAnnotationAnchor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAnnotation_idl__
+#include <com/sun/star/sheet/XSheetAnnotation.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl
new file mode 100644
index 000000000000..5075cc2f52b4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__
+#define __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotations.idl b/offapi/com/sun/star/sheet/XSheetAnnotations.idl
new file mode 100644
index 000000000000..c3fa31ac674e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotations.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAnnotations_idl__
+#define __com_sun_star_sheet_XSheetAnnotations_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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 thta 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl
new file mode 100644
index 000000000000..9b696060a977
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
+#define __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetAnnotations_idl__
+#include <com/sun/star/sheet/XSheetAnnotations.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetAuditing.idl b/offapi/com/sun/star/sheet/XSheetAuditing.idl
new file mode 100644
index 000000000000..43342f5a6f6b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAuditing.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetAuditing_idl__
+#define __com_sun_star_sheet_XSheetAuditing_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetCellCursor.idl b/offapi/com/sun/star/sheet/XSheetCellCursor.idl
new file mode 100644
index 000000000000..3141231437cd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellCursor.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetCellCursor_idl__
+#define __com_sun_star_sheet_XSheetCellCursor_idl__
+
+#ifndef __com_sun_star_sheet_XSheetCellRange_idl__
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetCellRange.idl b/offapi/com/sun/star/sheet/XSheetCellRange.idl
new file mode 100644
index 000000000000..f025a44e3e25
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRange.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetCellRange_idl__
+#define __com_sun_star_sheet_XSheetCellRange_idl__
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Spreadsheet</type> object.
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+ com::sun::star::sheet::XSpreadsheet getSpreadsheet();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl
new file mode 100644
index 000000000000..b063b2ed3f95
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__
+#define __com_sun_star_sheet_XSheetCellRangeContainer_idl__
+
+#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetCellRanges.idl b/offapi/com/sun/star/sheet/XSheetCellRanges.idl
new file mode 100644
index 000000000000..7b87269d779f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRanges.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__
+#define __com_sun_star_sheet_XSheetCellRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetCondition.idl b/offapi/com/sun/star/sheet/XSheetCondition.idl
new file mode 100644
index 000000000000..3fc4635f9b4a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCondition.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetCondition_idl__
+#define __com_sun_star_sheet_XSheetCondition_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_ConditionOperator_idl__
+#include <com/sun/star/sheet/ConditionOperator.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl
new file mode 100644
index 000000000000..8e8b10af5e14
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#define __com_sun_star_sheet_XSheetConditionalEntries_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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><type>ConditionOperator</type> Operator</dt>
+ <dd>contains the operation to perform for this condition.</dd>
+
+ <dt><atom>string</atom> Formula1</dt>
+ <dd>contains the value or formula for the operation.</dd>
+
+ <dt><atom>string</atom> Formula2</dt>
+ <dd>contains the second value or formula for the operation (used with
+ <const>ConditionOperator::BETWEEN</const> or
+ <const>ConditionOperator::NOT_BETWEEN</const> operations).</dd>
+
+ <dt><type scope="com::sun::star::table">CellAddress</type>
+ SourcePosition</dt>
+ <dd>contains the base address for relative cell references in formulas.
+ </dd>
+
+ <dt><atom>string</atom> 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl
new file mode 100644
index 000000000000..2ecc635393b6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntry_idl__
+#define __com_sun_star_sheet_XSheetConditionalEntry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
new file mode 100644
index 000000000000..b3864f373c8a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
new file mode 100644
index 000000000000..ba8b7904366e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>TableFilterField2</type> struct,
+ whereas the <type>XSheetFilterDescriptor</type> interface uses the
+ <type>TableFilterField</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetFilterable.idl b/offapi/com/sun/star/sheet/XSheetFilterable.idl
new file mode 100644
index 000000000000..0dbdca51a94f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterable.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetFilterable_idl__
+#define __com_sun_star_sheet_XSheetFilterable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** represents something that can be filtered using an XSheetFilterDesriptor.
+
+ @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 );
+
+ //-------------------------------------------------------------------------
+
+ /** performa 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetFilterableEx.idl b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl
new file mode 100644
index 000000000000..591e9b18ed72
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XSheetFilterableEx_idl__
+#define __com_sun_star_sheet_XSheetFilterableEx_idl__
+
+#ifndef __com_sun_star_sheet_XSheetFilterable_idl__
+#include <com/sun/star/sheet/XSheetFilterable.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetLinkable.idl b/offapi/com/sun/star/sheet/XSheetLinkable.idl
new file mode 100644
index 000000000000..159176dce9d3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetLinkable.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetLinkable_idl__
+#define __com_sun_star_sheet_XSheetLinkable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SheetLinkMode_idl__
+#include <com/sun/star/sheet/SheetLinkMode.idl>
+#endif
+
+//=============================================================================
+
+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 <member>XSheetLinkable::link</member> creates a
+ <type>SheetLink</type> object in the document's <type>SheetLinks</type>
+ 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 <const>SheetLinkMode::NORMAL</const>,
+ formulas are copied. With <const>SheetLinkMode::VALUE</const>,
+ 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 <const>SheetLinkMode::NORMAL</const>,
+ formulas are copied. With <const>SheetLinkMode::VALUE</const>,
+ 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 <type>SheetLink</type> 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 <type>SheetLink</type>
+ 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 <type>SheetLink</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetOperation.idl b/offapi/com/sun/star/sheet/XSheetOperation.idl
new file mode 100644
index 000000000000..a547cfa66e91
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetOperation.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetOperation_idl__
+#define __com_sun_star_sheet_XSheetOperation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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 <type>CellFlags</type> flags selecting the
+ contents to be deleted.
+ */
+ void clearContents( [in] long nContentFlags );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XSheetOutline.idl b/offapi/com/sun/star/sheet/XSheetOutline.idl
new file mode 100644
index 000000000000..0f3de869d980
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetOutline.idl
@@ -0,0 +1,141 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetOutline_idl__
+#define __com_sun_star_sheet_XSheetOutline_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_TableOrientation_idl__
+#include <com/sun/star/table/TableOrientation.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSheetPageBreak.idl b/offapi/com/sun/star/sheet/XSheetPageBreak.idl
new file mode 100644
index 000000000000..7d590f18eac0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetPageBreak.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetPageBreak_idl__
+#define __com_sun_star_sheet_XSheetPageBreak_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_TablePageBreakData_idl__
+#include <com/sun/star/sheet/TablePageBreakData.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::table">TableColumn::IsStartOfNewPage</member>
+ 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
+ <member scope="com::sun::star::table">TableRow::IsStartOfNewPage</member>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XSheetPastable.idl b/offapi/com/sun/star/sheet/XSheetPastable.idl
new file mode 100644
index 000000000000..db2053f83273
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetPastable.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSheetPastable_idl__
+#define __com_sun_star_sheet_XSheetPastable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_PasteOperation_idl__
+#include <com/sun/star/sheet/PasteOperation.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_CellInsertMode_idl__
+#include <com/sun/star/sheet/CellInsertMode.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSolver.idl b/offapi/com/sun/star/sheet/XSolver.idl
new file mode 100644
index 000000000000..aaf54ddb7586
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSolver.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSolver_idl__
+#define __com_sun_star_sheet_XSolver_idl__
+
+#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SolverConstraint_idl__
+#include <com/sun/star/sheet/SolverConstraint.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSolverDescription.idl b/offapi/com/sun/star/sheet/XSolverDescription.idl
new file mode 100644
index 000000000000..0efe1e202e94
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSolverDescription.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSolverDescription_idl__
+#define __com_sun_star_sheet_XSolverDescription_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::beans">XPropertySet</type> 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
+
diff --git a/offapi/com/sun/star/sheet/XSpreadsheet.idl b/offapi/com/sun/star/sheet/XSpreadsheet.idl
new file mode 100644
index 000000000000..3f7628ad5a4a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheet.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
+#define __com_sun_star_sheet_XSpreadsheet_idl__
+
+#ifndef __com_sun_star_sheet_XSheetCellRange_idl__
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl
new file mode 100644
index 000000000000..a60248d22b75
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__
+#define __com_sun_star_sheet_XSpreadsheetDocument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheets_idl__
+#include <com/sun/star/sheet/XSpreadsheets.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSpreadsheetView.idl b/offapi/com/sun/star/sheet/XSpreadsheetView.idl
new file mode 100644
index 000000000000..baefdb2359c7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheetView.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XSpreadsheetView_idl__
+#define __com_sun_star_sheet_XSpreadsheetView_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** is the main interface of a <type>SpreadsheetView</type>. 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
+
diff --git a/offapi/com/sun/star/sheet/XSpreadsheets.idl b/offapi/com/sun/star/sheet/XSpreadsheets.idl
new file mode 100644
index 000000000000..f50157768667
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheets.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSpreadsheets_idl__
+#define __com_sun_star_sheet_XSpreadsheets_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl
new file mode 100644
index 000000000000..c1c1524a14a5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSubTotalCalculatable_idl__
+#define __com_sun_star_sheet_XSubTotalCalculatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl
new file mode 100644
index 000000000000..2a2d0afe1293
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
+#define __com_sun_star_sheet_XSubTotalDescriptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SubTotalColumn_idl__
+#include <com/sun/star/sheet/SubTotalColumn.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XSubTotalField.idl b/offapi/com/sun/star/sheet/XSubTotalField.idl
new file mode 100644
index 000000000000..3af87e72df3c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalField.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XSubTotalField_idl__
+#define __com_sun_star_sheet_XSubTotalField_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_SubTotalColumn_idl__
+#include <com/sun/star/sheet/SubTotalColumn.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl
new file mode 100644
index 000000000000..73e758af6539
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__
+#define __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>UniqueCellFormatRanges</type> collection.</p>
+
+ @returns
+ the collection of equal-formatted cell range collections.
+
+ @see com::sun::star::sheet::UniqueCellFormatRanges
+ */
+ com::sun::star::container::XIndexAccess getUniqueCellFormatRanges();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/XUsedAreaCursor.idl b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl
new file mode 100644
index 000000000000..528b55c07a5c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XUsedAreaCursor_idl__
+#define __com_sun_star_sheet_XUsedAreaCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XViewFreezable.idl b/offapi/com/sun/star/sheet/XViewFreezable.idl
new file mode 100644
index 000000000000..46464036e704
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewFreezable.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XViewFreezable_idl__
+#define __com_sun_star_sheet_XViewFreezable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** enables a <type>SpreadsheetView</type> 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
+ <member>XViewSplitable::getIsWindowSplit()</member> and
+ <member>XViewFreezable::hasFrozenPanes()</member>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XViewPane.idl b/offapi/com/sun/star/sheet/XViewPane.idl
new file mode 100644
index 000000000000..41f441e6a803
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewPane.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XViewPane_idl__
+#define __com_sun_star_sheet_XViewPane_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XViewPanesSupplier.idl b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl
new file mode 100644
index 000000000000..130498695c6e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XViewPanesSupplier_idl__
+#define __com_sun_star_sheet_XViewPanesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/sheet/XViewSplitable.idl b/offapi/com/sun/star/sheet/XViewSplitable.idl
new file mode 100644
index 000000000000..d5145addb9ee
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewSplitable.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_XViewSplitable_idl__
+#define __com_sun_star_sheet_XViewSplitable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** enables a <type>SpreadsheetView</type> 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
+ <member>XViewSplitable::getIsWindowSplit()</member> and
+ <member>XViewFreezable::hasFrozenPanes()</member>
+ 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
+
diff --git a/offapi/com/sun/star/sheet/XVolatileResult.idl b/offapi/com/sun/star/sheet/XVolatileResult.idl
new file mode 100644
index 000000000000..9378e09472f0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XVolatileResult.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XVolatileResult_idl__
+#define __com_sun_star_sheet_XVolatileResult_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XResultListener_idl__
+#include <com/sun/star/sheet/XResultListener.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void addResultListener(
+ [in] com::sun::star::sheet::XResultListener aListener );
+
+ //-------------------------------------------------------------------------
+
+ /** removes the specified listener.
+ */
+ [oneway] void removeResultListener(
+ [in] com::sun::star::sheet::XResultListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/_NamedRange.idl b/offapi/com/sun/star/sheet/_NamedRange.idl
new file mode 100644
index 000000000000..3218992d3d03
--- /dev/null
+++ b/offapi/com/sun/star/sheet/_NamedRange.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet__NamedRange_idl__
+#define __com_sun_star_sheet__NamedRange_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** @deprecated
+ @see com::sun::star::sheet::NamedRangeFlag
+ */
+published constants _NamedRange
+{
+ //-------------------------------------------------------------------------
+
+ /** 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
+
diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk
new file mode 100644
index 000000000000..c5b15a5b07af
--- /dev/null
+++ b/offapi/com/sun/star/sheet/makefile.mk
@@ -0,0 +1,350 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssheet
+PACKAGE=com$/sun$/star$/sheet
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleCell.idl\
+ AccessibleCsvCell.idl\
+ AccessibleCsvRuler.idl\
+ AccessibleCsvTable.idl\
+ AccessiblePageHeaderFooterAreasView.idl\
+ AccessibleSpreadsheet.idl\
+ AccessibleSpreadsheetDocumentView.idl\
+ AccessibleSpreadsheetPageView.idl\
+ ActivationEvent.idl\
+ AddressConvention.idl\
+ AddIn.idl\
+ Border.idl\
+ CellAnnotation.idl\
+ CellAnnotationShape.idl\
+ CellAnnotations.idl\
+ CellAnnotationsEnumeration.idl\
+ CellAreaLink.idl\
+ CellAreaLinks.idl\
+ CellAreaLinksEnumeration.idl\
+ CellDeleteMode.idl\
+ CellFlags.idl\
+ CellFormatRanges.idl\
+ CellFormatRangesEnumeration.idl\
+ CellInsertMode.idl\
+ Cells.idl\
+ CellsEnumeration.idl\
+ ComplexReference.idl\
+ ConditionOperator.idl\
+ ConsolidationDescriptor.idl\
+ DDEItemInfo.idl\
+ DDELink.idl\
+ DDELinkInfo.idl\
+ DDELinkMode.idl\
+ DDELinks.idl\
+ DDELinksEnumeration.idl\
+ DataImportMode.idl\
+ DataPilotDescriptor.idl\
+ DataPilotField.idl\
+ DataPilotFieldAutoShowInfo.idl\
+ DataPilotFieldFilter.idl\
+ DataPilotFieldGroup.idl\
+ DataPilotFieldGroupBy.idl\
+ DataPilotFieldGroupEnumeration.idl\
+ DataPilotFieldGroupInfo.idl\
+ DataPilotFieldGroupItem.idl\
+ DataPilotFieldGroups.idl\
+ DataPilotFieldGroupsEnumeration.idl\
+ DataPilotFieldLayoutInfo.idl\
+ DataPilotFieldLayoutMode.idl\
+ DataPilotFieldOrientation.idl\
+ DataPilotFieldReference.idl\
+ DataPilotFieldReferenceItemType.idl\
+ DataPilotFieldReferenceType.idl\
+ DataPilotFieldShowItemsMode.idl\
+ DataPilotFieldSortInfo.idl\
+ DataPilotFieldSortMode.idl\
+ DataPilotFields.idl\
+ DataPilotFieldsEnumeration.idl\
+ DataPilotItem.idl\
+ DataPilotItems.idl\
+ DataPilotItemsEnumeration.idl\
+ DataPilotOutputRangeType.idl\
+ DataPilotSource.idl\
+ DataPilotSourceDimension.idl\
+ DataPilotSourceDimensions.idl\
+ DataPilotSourceHierarchies.idl\
+ DataPilotSourceHierarchy.idl\
+ DataPilotSourceLevel.idl\
+ DataPilotSourceLevels.idl\
+ DataPilotSourceMember.idl\
+ DataPilotSourceMembers.idl\
+ DataPilotTable.idl\
+ DataPilotTableHeaderData.idl\
+ DataPilotTablePositionData.idl\
+ DataPilotTablePositionType.idl\
+ DataPilotTableResultData.idl\
+ DataPilotTables.idl\
+ DataPilotTablesEnumeration.idl\
+ DataResult.idl\
+ DataResultFlags.idl\
+ DatabaseImportDescriptor.idl\
+ DatabaseRange.idl\
+ DatabaseRanges.idl\
+ DatabaseRangesEnumeration.idl\
+ DimensionFlags.idl\
+ DocumentSettings.idl\
+ ExternalDocLink.idl\
+ ExternalDocLinks.idl\
+ ExternalLinkType.idl\
+ ExternalLinkInfo.idl\
+ ExternalReference.idl\
+ ExternalSheetCache.idl\
+ FillDateMode.idl\
+ FillDirection.idl\
+ FillMode.idl\
+ FilterConnection.idl\
+ FilterFormulaParser.idl\
+ FilterOperator.idl\
+ FilterOperator2.idl\
+ FormulaLanguage.idl\
+ FormulaMapGroup.idl\
+ FormulaMapGroupSpecialOffset.idl\
+ FormulaOpCodeMapEntry.idl\
+ FormulaParser.idl\
+ FormulaResult.idl\
+ FormulaToken.idl\
+ FunctionAccess.idl\
+ FunctionArgument.idl\
+ FunctionCategory.idl\
+ FunctionDescription.idl\
+ FunctionDescriptionEnumeration.idl\
+ FunctionDescriptions.idl\
+ GeneralFunction.idl\
+ GlobalSheetSettings.idl\
+ GoalResult.idl\
+ HeaderFooterContent.idl\
+ LabelRange.idl\
+ LabelRanges.idl\
+ LabelRangesEnumeration.idl\
+ LocalizedName.idl\
+ MemberResult.idl\
+ MemberResultFlags.idl\
+ MoveDirection.idl\
+ NamedRange.idl\
+ NamedRangeFlag.idl\
+ NamedRanges.idl\
+ NamedRangesEnumeration.idl\
+ NoConvergenceException.idl\
+ PasteOperation.idl\
+ RangeSelectionArguments.idl\
+ RangeSelectionEvent.idl\
+ RecentFunctions.idl\
+ ReferenceFlags.idl\
+ ResultEvent.idl\
+ Scenario.idl\
+ Scenarios.idl\
+ ScenariosEnumeration.idl\
+ Shape.idl\
+ SheetCell.idl\
+ SheetCellCursor.idl\
+ SheetCellRange.idl\
+ SheetCellRanges.idl\
+ SheetCellRangesEnumeration.idl\
+ SheetFilterDescriptor.idl\
+ SheetLink.idl\
+ SheetLinkMode.idl\
+ SheetLinks.idl\
+ SheetLinksEnumeration.idl\
+ SheetRangesQuery.idl\
+ SheetSortDescriptor.idl\
+ SheetSortDescriptor2.idl\
+ SingleReference.idl\
+ Solver.idl\
+ SolverConstraint.idl\
+ SolverConstraintOperator.idl\
+ Spreadsheet.idl\
+ SpreadsheetDocument.idl\
+ SpreadsheetDocumentSettings.idl\
+ SpreadsheetDrawPage.idl\
+ SpreadsheetView.idl\
+ SpreadsheetViewObjectsMode.idl\
+ SpreadsheetViewPane.idl\
+ SpreadsheetViewPanesEnumeration.idl\
+ SpreadsheetViewSettings.idl\
+ Spreadsheets.idl\
+ SpreadsheetsEnumeration.idl\
+ StatusBarFunction.idl\
+ SubTotalColumn.idl\
+ SubTotalDescriptor.idl\
+ SubTotalField.idl\
+ SubTotalFieldsEnumeration.idl\
+ TableAutoFormat.idl\
+ TableAutoFormatEnumeration.idl\
+ TableAutoFormatField.idl\
+ TableAutoFormats.idl\
+ TableAutoFormatsEnumeration.idl\
+ TableCellStyle.idl\
+ TableCellStyle.idl\
+ TableConditionalEntry.idl\
+ TableConditionalEntryEnumeration.idl\
+ TableConditionalFormat.idl\
+ TableFilterField.idl\
+ TableFilterField2.idl\
+ TableOperationMode.idl\
+ TablePageBreakData.idl\
+ TablePageStyle.idl\
+ TableValidation.idl\
+ TableValidationVisibility.idl\
+ UniqueCellFormatRanges.idl\
+ UniqueCellFormatRangesEnumeration.idl\
+ ValidationAlertStyle.idl\
+ ValidationType.idl\
+ VolatileResult.idl\
+ XActivationBroadcaster.idl\
+ XActivationEventListener.idl\
+ XAddIn.idl\
+ XAreaLink.idl\
+ XAreaLinks.idl\
+ XArrayFormulaRange.idl\
+ XArrayFormulaTokens.idl\
+ XCalculatable.idl\
+ XCellAddressable.idl\
+ XCellFormatRangesSupplier.idl\
+ XCellRangeAddressable.idl\
+ XCellRangeData.idl\
+ XCellRangeFormula.idl\
+ XCellRangeMovement.idl\
+ XCellRangeReferrer.idl\
+ XCellRangesAccess.idl\
+ XCellRangesQuery.idl\
+ XCellSeries.idl\
+ XCompatibilityNames.idl\
+ XConsolidatable.idl\
+ XConsolidationDescriptor.idl\
+ XDDELink.idl\
+ XDDELinkResults.idl\
+ XDDELinks.idl\
+ XDataPilotDataLayoutFieldSupplier.idl\
+ XDataPilotDescriptor.idl\
+ XDataPilotField.idl\
+ XDataPilotFieldGrouping.idl\
+ XDataPilotMemberResults.idl\
+ XDataPilotResults.idl\
+ XDataPilotTable.idl\
+ XDataPilotTable2.idl\
+ XDataPilotTables.idl\
+ XDataPilotTablesSupplier.idl\
+ XDatabaseRange.idl\
+ XDatabaseRanges.idl\
+ XDimensionsSupplier.idl\
+ XDocumentAuditing.idl\
+ XDrillDownDataSupplier.idl\
+ XEnhancedMouseClickBroadcaster.idl\
+ XExternalDocLink.idl\
+ XExternalDocLinks.idl\
+ XExternalSheetCache.idl\
+ XExternalSheetName.idl\
+ XFillAcrossSheet.idl\
+ XFilterFormulaParser.idl\
+ XFormulaOpCodeMapper.idl\
+ XFormulaParser.idl\
+ XFormulaQuery.idl\
+ XFormulaTokens.idl\
+ XFunctionAccess.idl\
+ XFunctionDescriptions.idl\
+ XGoalSeek.idl\
+ XHeaderFooterContent.idl\
+ XHierarchiesSupplier.idl\
+ XLabelRange.idl\
+ XLabelRanges.idl\
+ XLevelsSupplier.idl\
+ XMembersSupplier.idl\
+ XMultiFormulaTokens.idl\
+ XMultipleOperation.idl\
+ XNamedRange.idl\
+ XNamedRanges.idl\
+ XPrintAreas.idl\
+ XRangeSelection.idl\
+ XRangeSelectionChangeListener.idl\
+ XRangeSelectionListener.idl\
+ XRecentFunctions.idl\
+ XResultListener.idl\
+ XScenario.idl\
+ XScenarioEnhanced.idl\
+ XScenarios.idl\
+ XScenariosSupplier.idl\
+ XSheetAnnotation.idl\
+ XSheetAnnotationAnchor.idl\
+ XSheetAnnotationShapeSupplier.idl\
+ XSheetAnnotations.idl\
+ XSheetAnnotationsSupplier.idl\
+ XSheetAuditing.idl\
+ XSheetCellCursor.idl\
+ XSheetCellRange.idl\
+ XSheetCellRangeContainer.idl\
+ XSheetCellRanges.idl\
+ XSheetCondition.idl\
+ XSheetConditionalEntries.idl\
+ XSheetConditionalEntry.idl\
+ XSheetFilterDescriptor.idl\
+ XSheetFilterDescriptor2.idl\
+ XSheetFilterable.idl\
+ XSheetFilterableEx.idl\
+ XSheetLinkable.idl\
+ XSheetOperation.idl\
+ XSheetOutline.idl\
+ XSheetPageBreak.idl\
+ XSheetPastable.idl\
+ XSolver.idl\
+ XSolverDescription.idl\
+ XSpreadsheet.idl\
+ XSpreadsheetDocument.idl\
+ XSpreadsheetView.idl\
+ XSpreadsheets.idl\
+ XSubTotalCalculatable.idl\
+ XSubTotalDescriptor.idl\
+ XSubTotalField.idl\
+ XUniqueCellFormatRangesSupplier.idl\
+ XUsedAreaCursor.idl\
+ XViewFreezable.idl\
+ XViewPane.idl\
+ XViewPanesSupplier.idl\
+ XViewSplitable.idl\
+ XVolatileResult.idl\
+ _NamedRange.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/smarttags/SmartTagAction.idl b/offapi/com/sun/star/smarttags/SmartTagAction.idl
new file mode 100644
index 000000000000..a07c93eb5385
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagAction.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>SmartTagRecognizer</type> service.</p>
+
+ @since OOo 2.3.0
+ */
+
+service SmartTagAction : XSmartTagAction {};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
new file mode 100644
index 000000000000..60223c89d4ac
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>SmartTagAction</type> service.</p>
+
+ @since OOo 2.3.0
+ */
+
+service SmartTagRecognizer : XSmartTagRecognizer {};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
new file mode 100644
index 000000000000..b72034a64cb7
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <method>XSmartTagRecognizer::recognize()</method></p>
+
+ @since OOo 2.3.0
+ */
+
+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
diff --git a/offapi/com/sun/star/smarttags/XSmartTagAction.idl b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
new file mode 100644
index 000000000000..271dd84b0d19
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/XSmartTagAction.idl
@@ -0,0 +1,358 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_smarttags_XSmartTagAction_idl__
+#define __com_sun_star_smarttags_XSmartTagAction_idl__
+
+#ifndef __com_sun_star_container_XStringKeyMap_idl__
+#include <com/sun/star/container/XStringKeyMap.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module smarttags {
+
+//=============================================================================
+
+/** provides access to smart tag actions.
+
+ @since OOo 2.3.0
+ */
+
+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
+ an 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 specifiy 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.
+
+ @return
+ the number of actions available for the given smart tag
+ type.
+ */
+ long getActionCount( [in] string aSmartTagName,
+ [in] com::sun::star::frame::XController xController );
+
+ //-------------------------------------------------------------------------
+ /** 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 independant name of an action.
+
+ @param nActionID
+ The identifier of the requested action.
+
+ @param xController
+ The current controller of the document.
+
+ @return
+ the language independant 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
diff --git a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
new file mode 100644
index 000000000000..c84d75878a8b
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl
@@ -0,0 +1,231 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_smarttags_XSmartTagRecognizer_idl__
+#define __com_sun_star_smarttags_XSmartTagRecognizer_idl__
+
+#ifndef __com_sun_star_uno_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_i18n_XBreakIterator_idl__
+#include <com/sun/star/i18n/XBreakIterator.idl>
+#endif
+
+#ifndef __com_sun_star_smarttags_SmartTagRecognizerMode_idl__
+#include <com/sun/star/smarttags/SmartTagRecognizerMode.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextMarkup_idl__
+#include <com/sun/star/text/XTextMarkup.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module smarttags {
+
+//=============================================================================
+
+/**
+ provides access to a smart tag recognizer.
+
+ @since OOo 2.3.0
+ */
+
+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 UFT16 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
diff --git a/offapi/com/sun/star/smarttags/makefile.mk b/offapi/com/sun/star/smarttags/makefile.mk
new file mode 100644
index 000000000000..40d83a29897f
--- /dev/null
+++ b/offapi/com/sun/star/smarttags/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=csssmarttags
+PACKAGE=com$/sun$/star$/smarttags
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ SmartTagAction.idl\
+ SmartTagRecognizer.idl\
+ SmartTagRecognizerMode.idl\
+ XSmartTagAction.idl\
+ XSmartTagRecognizer.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/style/BreakType.idl b/offapi/com/sun/star/style/BreakType.idl
new file mode 100644
index 000000000000..cbdc599a323b
--- /dev/null
+++ b/offapi/com/sun/star/style/BreakType.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_BreakType_idl__
+#define __com_sun_star_style_BreakType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::BreakType
+/** These enumeration values are used to specify if and how a page or
+ column break is applied.
+ */
+published enum BreakType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::NONE
+ /** No column or page break is applied.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::COLUMN_BEFORE
+ /** 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,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::COLUMN_AFTER
+ /** 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,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::COLUMN_BOTH
+ /** 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,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::PAGE_BEFORE
+ /** 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,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::PAGE_AFTER
+ /** 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,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::BreakType::PAGE_BOTH
+ /** 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
diff --git a/offapi/com/sun/star/style/CaseMap.idl b/offapi/com/sun/star/style/CaseMap.idl
new file mode 100644
index 000000000000..143a20240429
--- /dev/null
+++ b/offapi/com/sun/star/style/CaseMap.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_CaseMap_idl__
+#define __com_sun_star_style_CaseMap_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::style::CaseMap
+/** These constants are used to specify a case-related mapping for
+ formatting and displaying characters.
+ */
+published constants CaseMap
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::CaseMap::NONE
+ /** The case of the characters is unchanged.
+ */
+ const short NONE = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::CaseMap::UPPERCASE
+ /** All characters are put in upper case.
+ */
+ const short UPPERCASE = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::CaseMap::LOWERCASE
+ /** All characters are put in lower case.
+ */
+ const short LOWERCASE = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::CaseMap::TITLE
+ /** The first character of each word is put in upper case.
+ */
+ const short TITLE = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::CaseMap::SMALLCAPS
+ /** All characters are put in upper case, but with a smaller font height.
+ */
+ const short SMALLCAPS = 4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/CellStyle.idl b/offapi/com/sun/star/style/CellStyle.idl
new file mode 100644
index 000000000000..d0bb6ac2ce2c
--- /dev/null
+++ b/offapi/com/sun/star/style/CellStyle.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_style_CellStyle_idl__
+#define __com_sun_star_style_CellStyle_idl__
+
+#ifndef __com_sun_star_style_Style_idl__
+#include <com/sun/star/style/Style.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/style/CharacterProperties.idl b/offapi/com/sun/star/style/CharacterProperties.idl
new file mode 100644
index 000000000000..6c6bf3d99a7b
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterProperties.idl
@@ -0,0 +1,450 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#define __com_sun_star_style_CharacterProperties_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontSlant_idl__
+#include <com/sun/star/awt/FontSlant.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 of raisement/lowerment of 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 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 determins 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 determins 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 determins 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 determins whether the ruby text is printed
+ above/left or below/right of the text.
+ */
+ [optional, property] boolean RubyIsAbove;
+
+ //-------------------------------------------------------------------------
+
+ /** This optional property determins 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 determins whether the text formatting tries to
+ fit rotated text into the surrounded line height.
+ */
+ [optional, property] boolean CharRotationIsFitToLine;
+
+ //-------------------------------------------------------------------------
+
+ /** This optional property determins 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.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;
+
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/style/CharacterPropertiesAsian.idl b/offapi/com/sun/star/style/CharacterPropertiesAsian.idl
new file mode 100644
index 000000000000..844bf2038e1b
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterPropertiesAsian.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#define __com_sun_star_style_CharacterPropertiesAsian_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_awt_FontSlant_idl__
+#include <com/sun/star/awt/FontSlant.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/style/CharacterPropertiesComplex.idl b/offapi/com/sun/star/style/CharacterPropertiesComplex.idl
new file mode 100644
index 000000000000..12f7dab0d4a4
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterPropertiesComplex.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_CharacterProperties_Complex_idl__
+#define __com_sun_star_style_CharacterProperties_Complex_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_awt_FontSlant_idl__
+#include <com/sun/star/awt/FontSlant.idl>
+#endif
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/style/CharacterStyle.idl b/offapi/com/sun/star/style/CharacterStyle.idl
new file mode 100644
index 000000000000..568cb2fda40e
--- /dev/null
+++ b/offapi/com/sun/star/style/CharacterStyle.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_CharacterStyle_idl__
+#define __com_sun_star_style_CharacterStyle_idl__
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_Style_idl__
+#include <com/sun/star/style/Style.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+/** specifies a stylesheet for characters within a
+ <type scope="com::sun::star::text">Text</type>.
+ */
+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
diff --git a/offapi/com/sun/star/style/DropCapFormat.idl b/offapi/com/sun/star/style/DropCapFormat.idl
new file mode 100644
index 000000000000..e9588f6cf736
--- /dev/null
+++ b/offapi/com/sun/star/style/DropCapFormat.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_DropCapFormat_idl__
+#define __com_sun_star_style_DropCapFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::style::DropCapFormat
+/** This struct describes drop caps at a paragraph object.
+ */
+published struct DropCapFormat
+{
+ // DocMerge from xml: field com::sun::star::style::DropCapFormat::Lines
+ /** This is the number of lines used for a drop cap.
+ */
+ byte Lines;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::DropCapFormat::Count
+ /** This is the number of characters in the drop cap.
+ */
+ byte Count;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::DropCapFormat::Distance
+ /** This is the distance between the drop cap in the following text.
+ */
+ short Distance;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/GraphicLocation.idl b/offapi/com/sun/star/style/GraphicLocation.idl
new file mode 100644
index 000000000000..d957c9efbdf6
--- /dev/null
+++ b/offapi/com/sun/star/style/GraphicLocation.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#define __com_sun_star_style_GraphicLocation_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::GraphicLocation
+/** These enumeration values are used to specify the location of a
+ graphic object within its surroundings.
+ */
+published enum GraphicLocation
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::NONE
+ /** This value specifies that a location is not yet assigned.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::LEFT_TOP
+ /** The graphic is located in the top left corner.
+ */
+ LEFT_TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::MIDDLE_TOP
+ /** The graphic is located in the middle of the top edge.
+ */
+ MIDDLE_TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::RIGHT_TOP
+ /** The graphic is located in the top right corner.
+ */
+ RIGHT_TOP,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::LEFT_MIDDLE
+ /** The graphic is located in the middle of the left edge.
+ */
+ LEFT_MIDDLE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::MIDDLE_MIDDLE
+ /** The graphic is located at the center of the surrounding object.
+ */
+ MIDDLE_MIDDLE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::RIGHT_MIDDLE
+ /** The graphic is located in the middle of the right edge.
+ */
+ RIGHT_MIDDLE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::LEFT_BOTTOM
+ /** The graphic is located in the bottom left corner.
+ */
+ LEFT_BOTTOM,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::MIDDLE_BOTTOM
+ /** The graphic is located in the middle of the bottom edge.
+ */
+ MIDDLE_BOTTOM,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::RIGHT_BOTTOM
+ /** The graphic is located in the bottom right corner.
+ */
+ RIGHT_BOTTOM,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::AREA
+ /** The graphic is scaled to fill the whole surrounding area.
+ */
+ AREA,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::GraphicLocation::TILED
+ /** The graphic is repeatedly spread over the surrounding object
+ like tiles.
+ */
+ TILED
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/HorizontalAlignment.idl b/offapi/com/sun/star/style/HorizontalAlignment.idl
new file mode 100644
index 000000000000..8f66b5f8d541
--- /dev/null
+++ b/offapi/com/sun/star/style/HorizontalAlignment.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_HorizontalAlignment_idl__
+#define __com_sun_star_style_HorizontalAlignment_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::HorizontalAlignment
+/** values specify the horizontal alignment of
+ an object within a container object.
+ */
+published enum HorizontalAlignment
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HorizontalAlignment:: LEFT,
+
+ // DocMerge from xml: value com::sun::star::style::HorizontalAlignment::LEFT
+ /** set the horizontal alignment to the left margin from the container object
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HorizontalAlignment:: CENTER,
+
+ // DocMerge from xml: value com::sun::star::style::HorizontalAlignment::CENTER
+ /** set the horizontal alignment to the center between the margins from the container object
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR HorizontalAlignment:: RIGHT
+
+ // DocMerge from xml: value com::sun::star::style::HorizontalAlignment::RIGHT
+ /** set the horizontal alignment to the right margin from the container object
+ */
+ RIGHT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/LineNumberPosition.idl b/offapi/com/sun/star/style/LineNumberPosition.idl
new file mode 100644
index 000000000000..da8cf4347b17
--- /dev/null
+++ b/offapi/com/sun/star/style/LineNumberPosition.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_LineNumberPosition_idl__
+#define __com_sun_star_style_LineNumberPosition_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::style::LineNumberPosition
+/** These constants are used to specify the position of the numbering
+ of lines.
+ */
+published constants LineNumberPosition
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineNumberPosition::LEFT
+ /** the number occurs on the left side of the pages.
+ */
+ const short LEFT = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineNumberPosition::RIGHT
+ /** the number occurs on the right side of the pages.
+ */
+ const short RIGHT = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineNumberPosition::INSIDE
+ /** the number occurs alternating on the inner side of the pages.
+ */
+ const short INSIDE = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineNumberPosition::OUTSIDE
+ /** the number occurs alternating on the outside side of the pages.
+ */
+ const short OUTSIDE = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/LineSpacing.idl b/offapi/com/sun/star/style/LineSpacing.idl
new file mode 100644
index 000000000000..03706c9fc354
--- /dev/null
+++ b/offapi/com/sun/star/style/LineSpacing.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_LineSpacing_idl__
+#define __com_sun_star_style_LineSpacing_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::style::LineSpacing
+/** This structure is used to specify the height of a text line.@see LineSpacingMode
+ */
+published struct LineSpacing
+{
+ // DocMerge from xml: field com::sun::star::style::LineSpacing::Mode
+ /** This value specifies the way the height is specified.
+ */
+ short Mode;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::LineSpacing::Height
+ /** This value specifies the height in regard to <var>Mode</var>.
+ */
+ short Height;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/LineSpacingMode.idl b/offapi/com/sun/star/style/LineSpacingMode.idl
new file mode 100644
index 000000000000..fe90131b577d
--- /dev/null
+++ b/offapi/com/sun/star/style/LineSpacingMode.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_LineSpacingMode_idl__
+#define __com_sun_star_style_LineSpacingMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::style::LineSpacingMode
+/** These constants specify the interpretation of LineHeight.
+ */
+published constants LineSpacingMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineSpacingMode::PROP
+ /** This constant specifies the height value as a proportional value.
+ */
+ const short PROP = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineSpacingMode::MINIMUM
+ /** This constant specifies the height as the minimum line height.
+ */
+ const short MINIMUM = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineSpacingMode::LEADING
+ /** This constant specifies the height value as the distance to the previous line.
+ */
+ const short LEADING = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::LineSpacingMode::FIX
+ /** This constant specifies the height value as a fixed line height.
+ */
+ const short FIX = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/NumberingAlignment.idl b/offapi/com/sun/star/style/NumberingAlignment.idl
new file mode 100644
index 000000000000..8792b04101a5
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingAlignment.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_NumberingAlignment_idl__
+#define __com_sun_star_style_NumberingAlignment_idl__
+
+#ifndef __com_sun_star_style_HorizontalAlignment_idl__
+#include <com/sun/star/style/HorizontalAlignment.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::NumberingAlignment
+/** specify the alignment of a numbering level.
+ */
+published service NumberingAlignment
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingAlignment::Alignment
+ /** 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;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingAlignment::TextMarginDistance
+ /** the minimum distance between the numbering symbol and the following text.
+ */
+ [property] short TextMarginDistance;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingAlignment::TextNumberingDistance
+ /** the distance between left margin and the numbering symbol.
+ */
+ [property] short TextNumberingDistance;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingAlignment::Insertion
+ /** the distance between the numbering symbol and text.
+ */
+ [property] short Insertion;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/NumberingLevel.idl b/offapi/com/sun/star/style/NumberingLevel.idl
new file mode 100644
index 000000000000..a08fd8d040ba
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingLevel.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_NumberingLevel_idl__
+#define __com_sun_star_style_NumberingLevel_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::NumberingLevel
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::NumberingType
+ /** specifies the type of numbering.@see NumberingType
+ */
+ [property] short NumberingType;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::ParentNumbering
+ /** specifies the number of higher numbering levels that
+ are included in the representation of the current number.
+ */
+ [property] short ParentNumbering;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::Prefix
+ /** This prefix is inserted in front of the numbering symbol(s).
+ */
+ [property] string Prefix;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::Suffix
+ /** This suffix is inserted after the numbering symbol(s).
+ */
+ [property] string Suffix;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::CharStyleName
+ /** This is the name of the character style that is used for the symbol(s).
+ */
+ [property] string CharStyleName;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::BulletId
+ /** The bullet symbol with this code in the assigned font is used.
+ */
+ [property] short BulletId;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::BulletFontName
+ /** This is the name of the font that is used for the bullet.
+ */
+ [property] string BulletFontName;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::GraphicURL
+ /** This is the URL of a graphic file to use as a symbol.
+ */
+ [property] string GraphicURL;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::style::NumberingLevel::StartWith
+ /** This specifies the start value for the numbering.
+ */
+ [property] short StartWith;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/NumberingRule.idl b/offapi/com/sun/star/style/NumberingRule.idl
new file mode 100644
index 000000000000..72555e5d1913
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingRule.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_NumberingRule_idl__
+#define __com_sun_star_style_NumberingRule_idl__
+
+#ifndef __com_sun_star_style_NumberingAlignment_idl__
+#include <com/sun/star/style/NumberingAlignment.idl>
+#endif
+
+#ifndef __com_sun_star_style_NumberingLevel_idl__
+#include <com/sun/star/style/NumberingLevel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::NumberingRule
+/** specifies a rule to format numberings.
+
+ <p>It is normally represented by a sequence of
+ <type scope="com::sun::star::beans">PropertyValue</type>s.</p>
+ */
+published service NumberingRule
+{
+ // DocMerge: empty anyway
+ service com::sun::star::style::NumberingAlignment;
+
+ // DocMerge: empty anyway
+ service com::sun::star::style::NumberingLevel;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl
new file mode 100644
index 000000000000..25094b1ed677
--- /dev/null
+++ b/offapi/com/sun/star/style/NumberingType.idl
@@ -0,0 +1,480 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 "一,二,三..."
+ */
+ 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 "甲,乙,丙..."
+ */
+ const short TIAN_GAN_ZH = 18;
+
+ //-------------------------------------------------------------------------
+ /** Bullet for Chinese Di Zi
+ as "子,丑,寅..."
+ */
+ 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 "壹,貳,參..."
+ */
+ const short NUMBER_UPPER_KO = 25;
+
+ //-------------------------------------------------------------------------
+ /** Numbering for Korean hangul number
+ as "일,이,삼..."
+ */
+ const short NUMBER_HANGUL_KO = 26;
+
+ //-------------------------------------------------------------------------
+ /** Bullet for Korean Hangul Jamo
+ as "ㄱ,ㄴ,ㄷ..."
+ */
+ const short HANGUL_JAMO_KO = 27;
+
+ //-------------------------------------------------------------------------
+ /** Bullet for Korean Hangul Syllable
+ as "가,나,다..."
+ */
+ const short HANGUL_SYLLABLE_KO = 28;
+
+ //-------------------------------------------------------------------------
+ /** Bullet for Korean Hangul Circled Jamo
+ as "㉠,㉡,㉢..."
+ */
+ const short HANGUL_CIRCLED_JAMO_KO = 29;
+
+ //-------------------------------------------------------------------------
+ /** Bullet for Korean Hangul Circled Syllable
+ as "㉮,㉯,㉰..."
+ */
+ const short HANGUL_CIRCLED_SYLLABLE_KO = 30;
+
+ //-------------------------------------------------------------------------
+ /** Numbering in Arabic alphabet letters
+ as "أ,ب,ت..."
+
+ @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.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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/style/PageProperties.idl b/offapi/com/sun/star/style/PageProperties.idl
new file mode 100644
index 000000000000..2ace32f8cc73
--- /dev/null
+++ b/offapi/com/sun/star/style/PageProperties.idl
@@ -0,0 +1,502 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_PageProperties_idl__
+#define __com_sun_star_style_PageProperties_idl__
+
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+
+#ifndef __com_sun_star_style_PageStyleLayout_idl__
+#include <com/sun/star/style/PageStyleLayout.idl>
+#endif
+
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextColumns_idl__
+#include <com/sun/star/text/XTextColumns.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_text_WritingMode2_idl__
+#include <com/sun/star/text/WritingMode2.idl>
+#endif
+
+//=============================================================================
+
+ 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;
+//-----------------------------------------------------------------------------
+/**
+ */
+//[property] BackGraphic;
+//-----------------------------------------------------------------------------
+/** contains the URL of the background graphic.
+ */
+[property] string BackGraphicURL;
+//-----------------------------------------------------------------------------
+/** contains the filter name of the background graphic.
+ */
+[property] string BackGraphicFilter;
+//-----------------------------------------------------------------------------
+/** determins the location of the background graphic.
+ */
+[property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+//-----------------------------------------------------------------------------
+/** determins if the background color is transparent.
+
+ <p>If this property is set to <TRUE/>,
+ <member>PageStyle::BackColor</member> will not be used.</p>
+ */
+[property] boolean BackTransparent;
+//-----------------------------------------------------------------------------
+/** determins the left margin of the page.
+ */
+[property] long LeftMargin;
+//-----------------------------------------------------------------------------
+/** determins the right margin of the page.
+ */
+[property] long RightMargin;
+//-----------------------------------------------------------------------------
+/** determins the top margin of the page.
+ */
+[property] long TopMargin;
+//-----------------------------------------------------------------------------
+/** determins 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;
+//-----------------------------------------------------------------------------
+/** determins the left border distance of the page.
+ */
+[property] long LeftBorderDistance;
+//-----------------------------------------------------------------------------
+/** determins the right border distance of the page.
+ */
+[property] long RightBorderDistance;
+//-----------------------------------------------------------------------------
+/** determins the top border distance of the page.
+ */
+[property] long TopBorderDistance;
+//-----------------------------------------------------------------------------
+/** determins the bottom border distance of the page.
+ */
+[property] long BottomBorderDistance;
+//-----------------------------------------------------------------------------
+/** determins the shadow of the page.
+ */
+[property] com::sun::star::table::ShadowFormat ShadowFormat;
+//-----------------------------------------------------------------------------
+/** determins if the page format is landscape.
+ */
+[property] boolean IsLandscape;
+//-----------------------------------------------------------------------------
+/** determins the default numbering type for this page.
+ */
+[property] short NumberingType;
+//-----------------------------------------------------------------------------
+/** determins 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;
+//-----------------------------------------------------------------------------
+/** determins 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 <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service
+ <type scope="com::sun::star::xml">AttributeContainer</type>.</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;
+//-----------------------------------------------------------------------------
+/**
+ */
+//[property, maybevoid] HeaderBackGraphic;
+//-----------------------------------------------------------------------------
+/** contains the URL of the background graphic of the header.
+ */
+[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/>,
+ <member>PageStyle::HeaderBackColor</member> 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;
+//-----------------------------------------------------------------------------
+/** 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;
+//-----------------------------------------------------------------------------
+/**
+ */
+//[property, maybevoid] FooterBackGraphic;
+//-----------------------------------------------------------------------------
+/** contains the URL of the background graphic in the footer.
+ */
+[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.
+ */
+//-----------------------------------------------------------------------------
+/** contains .
+ */
+[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 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><type scope="com::sun::star::text">HorizontalAdjust</type>s.</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 <type
+ scope="com::sun::star::text">WritingMode2</type> constants */
+[optional,property] short WritingMode;
+//-----------------------------------------------------------------------------
+/** contains the mode of the text grid (none, lines, ...), as
+ represented by <type scope="com::sun::star::text">TextGridMode</type>
+ 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;
+
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/style/PageStyle.idl b/offapi/com/sun/star/style/PageStyle.idl
new file mode 100644
index 000000000000..9810198a3257
--- /dev/null
+++ b/offapi/com/sun/star/style/PageStyle.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_style_PageStyle_idl__
+#define __com_sun_star_style_PageStyle_idl__
+
+#ifndef __com_sun_star_style_Style_idl__
+#include <com/sun/star/style/Style.idl>
+#endif
+
+#ifndef __com_sun_star_style_PageProperties_idl__
+#include <com/sun/star/style/PageProperties.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/style/PageStyleLayout.idl b/offapi/com/sun/star/style/PageStyleLayout.idl
new file mode 100644
index 000000000000..6c91d53c3215
--- /dev/null
+++ b/offapi/com/sun/star/style/PageStyleLayout.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_style_PageStyleLayout_idl__
+#define __com_sun_star_style_PageStyleLayout_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module style {
+
+//=============================================================================
+
+/** spefifies 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
+
diff --git a/offapi/com/sun/star/style/ParagraphAdjust.idl b/offapi/com/sun/star/style/ParagraphAdjust.idl
new file mode 100644
index 000000000000..fe77e6dd42d8
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphAdjust.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_ParagraphAdjust_idl__
+#define __com_sun_star_style_ParagraphAdjust_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::ParagraphAdjust
+/** These enumeration values describe the formatting of a text paragraph.
+ */
+published enum ParagraphAdjust
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::ParagraphAdjust::LEFT
+ /** adjusted to the left border
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::ParagraphAdjust::RIGHT
+ /** adjusted to the right border
+ */
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::ParagraphAdjust::BLOCK
+ /** adjusted to both borders / stretched, except for last line
+ */
+ BLOCK,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::ParagraphAdjust::CENTER
+ /** adjusted to the center
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::ParagraphAdjust::STRETCH
+ /** adjusted to both borders / stretched, including last line
+ */
+ STRETCH
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/ParagraphProperties.idl b/offapi/com/sun/star/style/ParagraphProperties.idl
new file mode 100644
index 000000000000..65e24f2fa895
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphProperties.idl
@@ -0,0 +1,463 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#define __com_sun_star_style_ParagraphProperties_idl__
+
+#ifndef __com_sun_star_style_ParagraphAdjust_idl__
+#include <com/sun/star/style/ParagraphAdjust.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_LineSpacing_idl__
+#include <com/sun/star/style/LineSpacing.idl>
+#endif
+
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+
+#ifndef __com_sun_star_style_TabStop_idl__
+#include <com/sun/star/style/TabStop.idl>
+#endif
+
+#ifndef __com_sun_star_style_DropCapFormat_idl__
+#include <com/sun/star/style/DropCapFormat.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+#ifndef __com_sun_star_style_BreakType_idl__
+#include <com/sun/star/style/BreakType.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+ 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.
+ */
+ [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 <member>ParagraphProperties::ParaAdjust</member>
+ is set to <const>ParagraphAdjust::BLOCK</const>.</p>
+ */
+ [property] short ParaLastLineAdjust;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if single words are stretched.
+
+ <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member> and
+ <member>ParagraphProperties::ParaLastLineAdjust</member> 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 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 thei 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
+ <type>XStyleFamiliesSupplier</type>.</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;
+
+ //-------------------------------------------------------------------------
+ /** determins 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 maximum number of characters to remain before the
+ hyphen character (when hyphenation is applied).
+ */
+ [optional, property] short ParaHyphenationMaxLeadingChars;
+
+ //-------------------------------------------------------------------------
+ /** specifies the maximum number of characters to remain after the
+ hyphen character (when hyphenation is applied).
+ */
+ [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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/style/ParagraphPropertiesAsian.idl b/offapi/com/sun/star/style/ParagraphPropertiesAsian.idl
new file mode 100644
index 000000000000..48e513acd65b
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphPropertiesAsian.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl b/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl
new file mode 100644
index 000000000000..987344c4528d
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphPropertiesComplex.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type scope="com::sun::star::text">WritingMode2</type> constants
+ */
+ [property] short WritingMode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/style/ParagraphStyle.idl b/offapi/com/sun/star/style/ParagraphStyle.idl
new file mode 100644
index 000000000000..66836a9454ef
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphStyle.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_ParagraphStyle_idl__
+#define __com_sun_star_style_ParagraphStyle_idl__
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_Style_idl__
+#include <com/sun/star/style/Style.idl>
+#endif
+
+#ifndef _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+/** specifies a stylesheet for paragraphs within a
+ <type scope="com::sun::star::text">Text</type>.
+ */
+published service ParagraphStyle
+{
+ //-------------------------------------------------------------------------
+ /// specifies administrative properties.
+ service Style;
+
+ //-------------------------------------------------------------------------
+ /** contains user defined attributes for paragraphs.
+
+ @see <type scope="com::sun::star::xml">ParaUserDefinedAttributesSupplier</type>
+ */
+ [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
+ <member scope="com::sun::star::text">PageDescName</member>
+ properties.
+ </P>
+ */
+ [optional, readonly, property] string PageStyleName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/offapi/com/sun/star/style/ParagraphStyleCategory.idl b/offapi/com/sun/star/style/ParagraphStyleCategory.idl
new file mode 100644
index 000000000000..7dde09ffd0cb
--- /dev/null
+++ b/offapi/com/sun/star/style/ParagraphStyleCategory.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_style_ParagraphStyleCategory_idl__
+#define __com_sun_star_style_ParagraphStyleCategory_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::style::ParagraphStyleCategory
+/** These constants are used to specify the category of paragraph styles in text documents.
+ */
+published constants ParagraphStyleCategory
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::TEXT
+ /** is applied to styles that are used for common text.
+ */
+ const short TEXT = 0;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::CHAPTER
+ /** is applied to styles that are used as headings.
+ */
+ const short CHAPTER = 1;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::LIST
+ /** is applied to styles that used in numberings and lists.
+ */
+ const short LIST = 2;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::INDEX
+ /** is applied to styles that are used in indexes.
+ */
+ const short INDEX = 3;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::EXTRA
+ /** is applied to styles that are used in special regions like headers, footers, and footnote text.
+ */
+ const short EXTRA = 4;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::style::ParagraphStyleCategory::HTML
+ /** is applied to styles that are used to support HTML.
+ */
+ const short HTML = 5;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
+
diff --git a/offapi/com/sun/star/style/Style.idl b/offapi/com/sun/star/style/Style.idl
new file mode 100644
index 000000000000..e19a7f82c005
--- /dev/null
+++ b/offapi/com/sun/star/style/Style.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_Style_idl__
+#define __com_sun_star_style_Style_idl__
+
+#ifndef __com_sun_star_style_XStyle_idl__
+#include <com/sun/star/style/XStyle.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XMultiPropertyStates_idl__
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+/** This service specifies a single style sheet.
+ */
+published service Style
+{
+ //-------------------------------------------------------------------------
+ /** contains user defined attributes.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ [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 optimisation, 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 localised.</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 alowed 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/style/StyleFamilies.idl b/offapi/com/sun/star/style/StyleFamilies.idl
new file mode 100644
index 000000000000..5dd1afad2d39
--- /dev/null
+++ b/offapi/com/sun/star/style/StyleFamilies.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_StyleFamilies_idl__
+#define __com_sun_star_style_StyleFamilies_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::StyleFamilies
+/** 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
+{
+
+
+ // DocMerge from xml: service com::sun::star::style::StyleFamilies: interface com::sun::star::container::XNameAccess
+ /** This mandatory interface makes it possible to get access to the
+ style families by their names.
+
+ <p>The elements within this collection are <type>StyleFamily</type> instances.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ // DocMerge from xml: service com::sun::star::style::StyleFamilies: interface com::sun::star::container::XIndexAccess
+ /** This optional interface makes it possible to get access to the
+ style families by index.
+
+ <p>The elements within this collection are <type>StyleFamily</type> instances.
+ */
+ [optional] interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/StyleFamily.idl b/offapi/com/sun/star/style/StyleFamily.idl
new file mode 100644
index 000000000000..ae4e1be0cad7
--- /dev/null
+++ b/offapi/com/sun/star/style/StyleFamily.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_StyleFamily_idl__
+#define __com_sun_star_style_StyleFamily_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::StyleFamily
+/** This service is a container of style sheets of the same style family.@see StyleFamilies
+ */
+published service StyleFamily
+{
+
+
+ // DocMerge from xml: service com::sun::star::style::StyleFamily: interface com::sun::star::container::XNameAccess
+ /** 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
+ <type>Style</type> and are accessed via an <type>XStyle</type>.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ // DocMerge from xml: service com::sun::star::style::StyleFamily: interface com::sun::star::container::XNameContainer
+ /** 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
+ <type>Style</type> and are accessed via an <type>XStyle</type>.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ // DocMerge from xml: service com::sun::star::style::StyleFamily: interface com::sun::star::container::XIndexAccess
+ /** 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
+ <type>Style</type> and are accessed via an <type>XStyle</type>.
+ */
+ [optional] interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/TabAlign.idl b/offapi/com/sun/star/style/TabAlign.idl
new file mode 100644
index 000000000000..74a9b11af128
--- /dev/null
+++ b/offapi/com/sun/star/style/TabAlign.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_TabAlign_idl__
+#define __com_sun_star_style_TabAlign_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::TabAlign
+/** These enumeration values are used to specify the alignment of
+ the text range delimited by a tabulator.
+ */
+published enum TabAlign
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::TabAlign::LEFT
+ /** The text range is left-aligned between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::TabAlign::CENTER
+ /** The text range is centered between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::TabAlign::RIGHT
+ /** The text range is right-aligned between the previous tabulator
+ (or the left border, if none) and this tabulator.
+ */
+ RIGHT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::TabAlign::DECIMAL
+ /** The decimal point of the text range to the left of this
+ tabulator is aligned to the position of this tabulator.
+ */
+ DECIMAL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::style::TabAlign::DEFAULT
+ /** The default alignment for tabulators is applied.
+ */
+ DEFAULT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/TabStop.idl b/offapi/com/sun/star/style/TabStop.idl
new file mode 100644
index 000000000000..37a8eb47e2d7
--- /dev/null
+++ b/offapi/com/sun/star/style/TabStop.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_TabStop_idl__
+#define __com_sun_star_style_TabStop_idl__
+
+#ifndef __com_sun_star_style_TabAlign_idl__
+#include <com/sun/star/style/TabAlign.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::style::TabStop
+/** This structure is used to specify a single tabulator stop.
+ */
+published struct TabStop
+{
+ // DocMerge from xml: field com::sun::star::style::TabStop::Position
+ /** This field specifies the position of the tabulator in relation
+ to the left border.
+ */
+ long Position;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::TabStop::Alignment
+ /** This field specifies the alignment of the text range before the
+ tabulator.
+ */
+ com::sun::star::style::TabAlign Alignment;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::TabStop::DecimalChar
+ /** This field specifies which delimiter is used for the decimal.
+ */
+ char DecimalChar;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::style::TabStop::FillChar
+ /** 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
diff --git a/offapi/com/sun/star/style/VerticalAlignment.idl b/offapi/com/sun/star/style/VerticalAlignment.idl
new file mode 100644
index 000000000000..940c16a6b681
--- /dev/null
+++ b/offapi/com/sun/star/style/VerticalAlignment.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#define __com_sun_star_style_VerticalAlignment_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::style::VerticalAlignment
+/** specify the horizontal alignment of
+ an object within a container object.
+ */
+published enum VerticalAlignment
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTING FOR VerticalAlignment:: TOP,
+
+ // DocMerge from xml: value com::sun::star::style::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,
+
+ // DocMerge from xml: value com::sun::star::style::VerticalAlignment::MIDDLE
+ /** set the vertical alignment to the top margin from the container object.
+ */
+ MIDDLE,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTING FOR VerticalAlignment:: BOTTOM
+
+ // DocMerge from xml: value com::sun::star::style::VerticalAlignment::BOTTOM
+ /** set the vertical alignment to the bottom margin from the container object.
+ */
+ BOTTOM
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/XAutoStyle.idl b/offapi/com/sun/star/style/XAutoStyle.idl
new file mode 100644
index 000000000000..41d40ce80af7
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyle.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XAutoStyle_idl__
+#define __com_sun_star_style_XAutoStyle_idl__
+
+#ifndef __com_sun_star_style_XStyle_idl__
+#include <com/sun/star/style/XStyle.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XMultiPropertyStates_idl__
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/style/XAutoStyleFamily.idl b/offapi/com/sun/star/style/XAutoStyleFamily.idl
new file mode 100644
index 000000000000..9a448b6392a9
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyleFamily.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XAutoStyleFamily_idl__
+#define __com_sun_star_style_XAutoStyleFamily_idl__
+#ifndef __com_sun_star_style_XAutoStyle_idl__
+#include <com/sun/star/style/XAutoStyle.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::style::StyleFamilies
+/** 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
diff --git a/offapi/com/sun/star/style/XAutoStyles.idl b/offapi/com/sun/star/style/XAutoStyles.idl
new file mode 100644
index 000000000000..4293ab6cab65
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStyles.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XAutoStyles_idl__
+#define __com_sun_star_style_XAutoStyles_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/style/XAutoStylesSupplier.idl b/offapi/com/sun/star/style/XAutoStylesSupplier.idl
new file mode 100644
index 000000000000..2c4a3dc4f724
--- /dev/null
+++ b/offapi/com/sun/star/style/XAutoStylesSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XAutoStylesSupplier_idl__
+#define __com_sun_star_style_XAutoStylesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_style_XAutoStyles_idl__
+#include <com/sun/star/style/XAutoStyles.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::style::XStyleFamiliesSupplier
+/** 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
diff --git a/offapi/com/sun/star/style/XDefaultsSupplier.idl b/offapi/com/sun/star/style/XDefaultsSupplier.idl
new file mode 100644
index 000000000000..2ece9ece2a31
--- /dev/null
+++ b/offapi/com/sun/star/style/XDefaultsSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XDefaultsSupplier_idl__
+#define __com_sun_star_style_XDefaultsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/style/XStyle.idl b/offapi/com/sun/star/style/XStyle.idl
new file mode 100644
index 000000000000..0117bf5167a5
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyle.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XStyle_idl__
+#define __com_sun_star_style_XStyle_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/style/XStyleCondition.idl b/offapi/com/sun/star/style/XStyleCondition.idl
new file mode 100644
index 000000000000..e74f3f01a2df
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleCondition.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XStyleCondition_idl__
+#define __com_sun_star_style_XStyleCondition_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+/** This interface makes it possible to access conditional styles of the object.
+
+ @deprecated This interface was never implemented or referenced.
+ */
+published interface XStyleCondition: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the style condition for the specified type.
+ */
+ string getStyleConditionByType( [in] short TextType );
+
+ //-------------------------------------------------------------------------
+
+ /** sets the style condition for the specified type.
+ */
+ [oneway] void setStyleConditionByType( [in] string StyleName,
+ [in] short TextType );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/XStyleFamiliesSupplier.idl b/offapi/com/sun/star/style/XStyleFamiliesSupplier.idl
new file mode 100644
index 000000000000..8d26373ce6a6
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleFamiliesSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
+#define __com_sun_star_style_XStyleFamiliesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::style::XStyleFamiliesSupplier
+/** This interface provides access to the style families within the
+ container document.
+ */
+published interface XStyleFamiliesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::style::XStyleFamiliesSupplier::getStyleFamilies
+ /** This method returns the collection of style families available
+ in the container document.@see StyleFamilies
+ */
+ com::sun::star::container::XNameAccess getStyleFamilies();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/XStyleLoader.idl b/offapi/com/sun/star/style/XStyleLoader.idl
new file mode 100644
index 000000000000..5fbc1d6588a4
--- /dev/null
+++ b/offapi/com/sun/star/style/XStyleLoader.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_XStyleLoader_idl__
+#define __com_sun_star_style_XStyleLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module style {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::style::XStyleLoader
+/** enables the object to import styles from documents.
+ */
+published interface XStyleLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::style::XStyleLoader::loadStylesFromURL
+ /** 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 string URL:
+ The directory and the filename from document with the styles
+ @param aOptions :
+ Specifies which of the Style families the method should load.
+ The sequence <PropertyValue/> 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>
+ <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 <member>XStyleLoader::loadStylesFromURL</member>
+ with their current values.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getStyleLoaderOptions();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/style/makefile.mk b/offapi/com/sun/star/style/makefile.mk
new file mode 100644
index 000000000000..969f0589d9c3
--- /dev/null
+++ b/offapi/com/sun/star/style/makefile.mk
@@ -0,0 +1,87 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssstyle
+PACKAGE=com$/sun$/star$/style
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ BreakType.idl\
+ CaseMap.idl\
+ CellStyle.idl\
+ CharacterProperties.idl\
+ CharacterPropertiesAsian.idl\
+ CharacterPropertiesComplex.idl\
+ CharacterStyle.idl\
+ DropCapFormat.idl\
+ GraphicLocation.idl\
+ HorizontalAlignment.idl\
+ LineNumberPosition.idl\
+ LineSpacing.idl\
+ LineSpacingMode.idl\
+ NumberingAlignment.idl\
+ NumberingLevel.idl\
+ NumberingRule.idl\
+ NumberingType.idl\
+ PageProperties.idl\
+ PageStyle.idl\
+ PageStyleLayout.idl\
+ ParagraphAdjust.idl\
+ ParagraphProperties.idl\
+ ParagraphPropertiesAsian.idl\
+ ParagraphPropertiesComplex.idl\
+ ParagraphStyle.idl\
+ ParagraphStyleCategory.idl\
+ Style.idl\
+ StyleFamilies.idl\
+ StyleFamily.idl\
+ TabAlign.idl\
+ TabStop.idl\
+ VerticalAlignment.idl\
+ XDefaultsSupplier.idl\
+ XStyle.idl\
+ XStyleFamiliesSupplier.idl\
+ XStyleLoader.idl\
+ XStyleCondition.idl\
+ XAutoStylesSupplier.idl\
+ XAutoStyles.idl\
+ XAutoStyleFamily.idl\
+ XAutoStyle.idl
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/svg/XSVGPrinter.idl b/offapi/com/sun/star/svg/XSVGPrinter.idl
new file mode 100644
index 000000000000..059da696ac83
--- /dev/null
+++ b/offapi/com/sun/star/svg/XSVGPrinter.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_XSVGPrinter_idl__
+#define __com_sun_star_sync_XSVGPrinter_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module svg {
+
+/** @deprecated
+*/
+published interface XSVGPrinter: com::sun::star::uno::XInterface
+{
+ // DocMerge: empty anyway
+ boolean startJob( [in] com::sun::star::xml::sax::XDocumentHandler aHandler,
+ [in] sequence< byte > aJobSetup,
+ [in] string aJobName,
+ [in] unsigned long nCopies,
+ [in] boolean bCollate );
+
+ // DocMerge: empty anyway
+ void printPage( [in] sequence< byte > aPrintPage );
+
+ // DocMerge: empty anyway
+ void endJob();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/svg/XSVGWriter.idl b/offapi/com/sun/star/svg/XSVGWriter.idl
new file mode 100644
index 000000000000..d4ff549a8c53
--- /dev/null
+++ b/offapi/com/sun/star/svg/XSVGWriter.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_XSVGWriter_idl__
+#define __com_sun_star_sync_XSVGWriter_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module svg {
+
+/** @deprecated
+*/
+published interface XSVGWriter: com::sun::star::uno::XInterface
+{
+ // DocMerge: empty anyway
+ void write( [in] com::sun::star::xml::sax::XDocumentHandler aHandler,
+ [in] sequence< byte > aMtf );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/svg/makefile.mk b/offapi/com/sun/star/svg/makefile.mk
new file mode 100644
index 000000000000..7f5f045261bd
--- /dev/null
+++ b/offapi/com/sun/star/svg/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssvg
+PACKAGE=com$/sun$/star$/svg
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XSVGPrinter.idl\
+ XSVGWriter.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/sync/SyncAction.idl b/offapi/com/sun/star/sync/SyncAction.idl
new file mode 100644
index 000000000000..aa7d689409d7
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncAction.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncAction_idl__
+#define __com_sun_star_sync_SyncAction_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/** contains a synchronization element
+
+ @deprecated
+ */
+published constants SyncAction
+{
+ const unsigned long NONE = 0x00000000;
+
+ const unsigned long COPY_TO_SERVER = 0x00000001;
+
+ const unsigned long COPY_TO_CLIENT = 0x00000002;
+
+ const unsigned long REMOVE_FROM_CLIENT = 0x00000100;
+
+ const unsigned long REMOVE_FROM_SERVER = 0x00000200;
+
+ const unsigned long CONFLICT_UID = 0x01000000;
+
+ const unsigned long CONFLICT_AMBIGUITY = 0x02000000;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncCollector.idl b/offapi/com/sun/star/sync/SyncCollector.idl
new file mode 100644
index 000000000000..b174c87052ed
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncCollector.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncCollector_idl__
+#define __com_sun_star_sync_SyncCollector_idl__
+
+#ifndef __com_sun_star_sync_XSyncCollector_idl__
+#include <com/sun/star/sync/XSyncCollector.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+/// @deprecated
+published service SyncCollector
+{
+ interface com::sun::star::sync::XSyncCollector;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncElement.idl b/offapi/com/sun/star/sync/SyncElement.idl
new file mode 100644
index 000000000000..c44136ad3c73
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncElement.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncElement_idl__
+#define __com_sun_star_sync_SyncElement_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/** contains a synchronization element
+
+ @deprecated
+ */
+published struct SyncElement
+{
+ /** contains the ContentIdentifier of this synchronization element
+ */
+ string ContentIdentifier;
+
+ //-------------------------------------------------------------------------
+
+ unsigned long Type;
+
+ //-------------------------------------------------------------------------
+
+ unsigned long UID;
+
+ //-------------------------------------------------------------------------
+
+ unsigned long Generation;
+
+ //-------------------------------------------------------------------------
+
+ unsigned long Event;
+
+ //-------------------------------------------------------------------------
+
+ unsigned long Action;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncEvent.idl b/offapi/com/sun/star/sync/SyncEvent.idl
new file mode 100644
index 000000000000..4fc64b0d7b67
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncEvent.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncEvent_idl__
+#define __com_sun_star_sync_SyncEvent_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/** contains a synchronization element
+
+ @deprecated
+ */
+published constants SyncEvent
+{
+ const unsigned long NONE = 0;
+
+ const unsigned long CREATED = 1;
+
+ const unsigned long DELETED = 2;
+
+ const unsigned long CHANGED = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncInfo.idl b/offapi/com/sun/star/sync/SyncInfo.idl
new file mode 100644
index 000000000000..b5400ee3a446
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncInfo.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncInfo_idl__
+#define __com_sun_star_sync_SyncInfo_idl__
+
+#ifndef __com_sun_star_sync_SyncScheme_idl__
+#include <com/sun/star/sync/SyncScheme.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+published typedef sequence< string > FilterData;
+
+//=============================================================================
+
+/// @deprecated
+published struct SyncInfo
+{
+ SyncScheme ServerScheme;
+
+ SyncScheme ClientScheme;
+
+ FilterData SyncFilter;
+
+ unsigned long SyncMode;
+
+ unsigned long SyncOptions;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncMode.idl b/offapi/com/sun/star/sync/SyncMode.idl
new file mode 100644
index 000000000000..6b8739e4c06c
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncMode.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncMode_idl__
+#define __com_sun_star_sync_SyncMode_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/** contains a synchronization element
+
+ @deprecated
+ */
+published constants SyncMode
+{
+ const unsigned long NONE = 0x00000000;
+
+ const unsigned long CLIENT_TO_SERVER = 0x00000001;
+
+ const unsigned long SERVER_TO_CLIENT = 0x00000002;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncOptions.idl b/offapi/com/sun/star/sync/SyncOptions.idl
new file mode 100644
index 000000000000..3a6f98fc0a97
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncOptions.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncOptions_idl__
+#define __com_sun_star_sync_SyncOptions_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/** contains a synchronization element
+
+ @deprecated
+ */
+published constants SyncOptions
+{
+ const unsigned long NONE = 0x00000000;
+
+ const unsigned long DONT_COPY = 0x00000001;
+
+ const unsigned long DONT_REMOVE = 0x00000002;
+
+ const unsigned long SERVER_WINS = 0x00000100;
+
+ const unsigned long CLIENT_WINS = 0x00000200;
+
+ const unsigned long CREATE_BACKUP = 0x00010000;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncScheme.idl b/offapi/com/sun/star/sync/SyncScheme.idl
new file mode 100644
index 000000000000..727479a74384
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncScheme.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncScheme_idl__
+#define __com_sun_star_sync_SyncScheme_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module sync {
+
+/** contains the scheme name of this SyncScheme
+
+ @derepcated
+ */
+published struct SyncScheme
+{
+ /** contains the scheme name of this SyncScheme
+ */
+ string Scheme;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the root for this SyncScheme
+ */
+ string Root;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/SyncType.idl b/offapi/com/sun/star/sync/SyncType.idl
new file mode 100644
index 000000000000..a80cd8ea7d99
--- /dev/null
+++ b/offapi/com/sun/star/sync/SyncType.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_SyncType_idl__
+#define __com_sun_star_sync_SyncType_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+//=============================================================================
+
+/// @deprecated
+published constants SyncType
+{
+ const unsigned long NONE = 0;
+
+ const unsigned long FILE = 1;
+
+ const unsigned long FOLDER = 2;
+
+ const unsigned long VFS_FILE = 3;
+
+ const unsigned long VFS_FOLDER = 4;
+
+ const unsigned long POP3 = 5;
+
+ const unsigned long IMAP = 6;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/Synchronizer.idl b/offapi/com/sun/star/sync/Synchronizer.idl
new file mode 100644
index 000000000000..fd705bae00f1
--- /dev/null
+++ b/offapi/com/sun/star/sync/Synchronizer.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_Synchronizer_idl__
+#define __com_sun_star_sync_Synchronizer_idl__
+
+#ifndef __com_sun_star_sync_XSynchronizer_idl__
+#include <com/sun/star/sync/XSynchronizer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+/// @deprecated
+published service Synchronizer
+{
+ interface com::sun::star::sync::XSynchronizer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/XSyncCollector.idl b/offapi/com/sun/star/sync/XSyncCollector.idl
new file mode 100644
index 000000000000..08dcf21c5ae0
--- /dev/null
+++ b/offapi/com/sun/star/sync/XSyncCollector.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_XSyncCollector_idl__
+#define __com_sun_star_sync_XSyncCollector_idl__
+
+#ifndef __com_sun_star_ucb_XContentProviderManager_idl__
+#include <com/sun/star/ucb/XContentProviderManager.idl>
+#endif
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+#ifndef __com_sun_star_sync_SyncScheme_idl__
+#include <com/sun/star/sync/SyncScheme.idl>
+#endif
+#ifndef __com_sun_star_sync_SyncInfo_idl__
+#include <com/sun/star/sync/SyncInfo.idl>
+#endif
+#ifndef __com_sun_star_sync_SyncElement_idl__
+#include <com/sun/star/sync/SyncElement.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+/// @deprecated
+published interface XSyncCollector: com::sun::star::uno::XInterface
+{
+ boolean initialize( [in] com::sun::star::ucb::XContentProviderManager xMgr,
+ [in] sequence<com::sun::star::sync::SyncScheme> aSyncSchemes,
+ [in] string aBaseFileName );
+
+ sequence<com::sun::star::sync::SyncScheme> getRegisteredSyncSchemes();
+
+ sequence<com::sun::star::sync::SyncElement> getSyncSequence( [in] string aSyncSchemeName,
+ [in] com::sun::star::sync::SyncInfo aSyncInfo );
+
+ [oneway] void beginSynchronize();
+
+ [oneway] void endSynchronize();
+
+ boolean getCorrespondingElement( [in] com::sun::star::sync::SyncScheme aSyncSchemeIn,
+ [in] com::sun::star::sync::SyncElement aSyncElementIn,
+ [out] com::sun::star::sync::SyncElement aSyncElementOut );
+
+ boolean executeElementCommand( [in] string aSyncSchemeName,
+ [in] com::sun::star::sync::SyncElement aSyncElement,
+ [in] string aCommandName,
+ [out] any aAny );
+
+ [oneway] void elementSynchronized( [in] string aSyncSchemeName,
+ [in] com::sun::star::sync::SyncElement aSyncElement,
+ [in] unsigned long nSyncAction );
+
+ [oneway] void notify( [in] com::sun::star::ucb::XContent XCnt,
+ [in] unsigned long nEvent );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/XSynchronizer.idl b/offapi/com/sun/star/sync/XSynchronizer.idl
new file mode 100644
index 000000000000..906a0cb78607
--- /dev/null
+++ b/offapi/com/sun/star/sync/XSynchronizer.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync_XSynchronizer_idl__
+#define __com_sun_star_sync_XSynchronizer_idl__
+
+#ifndef __com_sun_star_sync_XSyncCollector_idl__
+#include <com/sun/star/sync/XSyncCollector.idl>
+#endif
+#ifndef __com_sun_star_sync_SyncInfo_idl__
+#include <com/sun/star/sync/SyncInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sync {
+
+/// @deprecated
+published interface XSynchronizer: com::sun::star::uno::XInterface
+{
+ boolean beginSynchronize( [in] com::sun::star::sync::XSyncCollector xClientCollector,
+ [in] com::sun::star::sync::XSyncCollector xServerCollector,
+ [in] string aSchemeName, [in] FilterData aFilterData,
+ [in] unsigned long nSyncMode, [in] unsigned long nSyncOptions );
+
+ boolean getSyncList( [out] sequence<com::sun::star::sync::SyncElement> aSyncSeq );
+
+ boolean performSync( [in] sequence<com::sun::star::sync::SyncElement> aSyncSeq );
+
+ boolean endSynchronize();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync/makefile.mk b/offapi/com/sun/star/sync/makefile.mk
new file mode 100644
index 000000000000..93de367a89db
--- /dev/null
+++ b/offapi/com/sun/star/sync/makefile.mk
@@ -0,0 +1,57 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssync
+PACKAGE=com$/sun$/star$/sync
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ SyncCollector.idl\
+ Synchronizer.idl\
+ SyncElement.idl\
+ SyncType.idl\
+ SyncScheme.idl\
+ SyncAction.idl\
+ SyncEvent.idl\
+ SyncInfo.idl\
+ SyncMode.idl\
+ SyncOptions.idl\
+ XSyncCollector.idl\
+ XSynchronizer.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/sync2/BadPartnershipException.idl b/offapi/com/sun/star/sync2/BadPartnershipException.idl
new file mode 100644
index 000000000000..1fcfad42f633
--- /dev/null
+++ b/offapi/com/sun/star/sync2/BadPartnershipException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sync2_BadPartnershipException_idl__
+#define __com_sun_star_sync2_BadPartnershipException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include "com/sun/star/uno/Exception.idl"
+#endif
+
+module com { module sun { module star { module sync2 {
+
+//============================================================================
+/** indicates that a partnership does not exist, or that there are problems
+ accessing the partnership state.
+
+ @deprecated
+ */
+published exception BadPartnershipException: com::sun::star::uno::Exception
+{
+ //------------------------------------------------------------------------
+ /** contains the name of the partnership, or is left empty if this is
+ unknown.
+ */
+ string Partnership;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sync2/makefile.mk b/offapi/com/sun/star/sync2/makefile.mk
new file mode 100644
index 000000000000..f158abd08930
--- /dev/null
+++ b/offapi/com/sun/star/sync2/makefile.mk
@@ -0,0 +1,39 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..
+PRJNAME=offapi
+TARGET = csssync2
+PACKAGE = com$/sun$/star$/sync2
+
+.INCLUDE: $(PRJ)$/util$/makefile.pmk
+
+IDLFILES = \
+ BadPartnershipException.idl
+
+.INCLUDE: target.mk
+.INCLUDE: $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/system/ProxySettings.idl b/offapi/com/sun/star/system/ProxySettings.idl
new file mode 100644
index 000000000000..826cf2ea4faf
--- /dev/null
+++ b/offapi/com/sun/star/system/ProxySettings.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_ProxySettings_idl__
+#define __com_sun_star_system_ProxySettings_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module system {
+
+//=============================================================================
+
+ published interface XProxySettings;
+
+//=============================================================================
+/** Specifies a service for reading the proxy settings from an old office
+ installation or a central system database.
+
+ @see com::sun::star::system::XProxySettings
+
+ @deprecated
+*/
+
+published service ProxySettings
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to a <type>XProxySettings</type> interface.
+ */
+ interface XProxySettings;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SOffice52ProxySettings.idl b/offapi/com/sun/star/system/SOffice52ProxySettings.idl
new file mode 100644
index 000000000000..a745ed7a4bc1
--- /dev/null
+++ b/offapi/com/sun/star/system/SOffice52ProxySettings.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SOffice52ProxySettings_idl__
+#define __com_sun_star_system_SOffice52ProxySettings_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_system_ProxySettings_idl__
+#include <com/sun/star/system/ProxySettings.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module system {
+
+//=============================================================================
+/** Specifies a service for reading the proxy settings from an old
+ StarOffice 5.2 installation.
+
+ @see com::sun::star::system::ProxySettings
+
+ @deprecated
+*/
+
+published service SOffice52ProxySettings
+{
+ service ProxySettings;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SimpleCommandMail.idl b/offapi/com/sun/star/system/SimpleCommandMail.idl
new file mode 100644
index 000000000000..7d2ee1833f3a
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleCommandMail.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SimpleCommandMail_idl__
+#define __com_sun_star_system_SimpleCommandMail_idl__
+
+#ifndef __com_sun_star_configuration_ConfigurationProvider_idl__
+#include <com/sun/star/configuration/ConfigurationProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to a <type>XSimpleMailClientSupplier</type> interface.
+ */
+ interface XSimpleMailClientSupplier;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SimpleMailClientFlags.idl b/offapi/com/sun/star/system/SimpleMailClientFlags.idl
new file mode 100644
index 000000000000..706ba72e21fc
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleMailClientFlags.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XSimpleMailMessage</type>
+ object given to the method
+ <member scope="com::sun::star::system">XSimpleMailClient::sendSimpleMailMessage()</member>.
+ */
+ 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
+ <member scope="com::sun::star::system">XSimpleMailClient::sendSimpleMailMessage()</member>,
+ an Exception will be thrown.
+ */
+ const long NO_LOGON_DIALOG = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SimpleSystemMail.idl b/offapi/com/sun/star/system/SimpleSystemMail.idl
new file mode 100644
index 000000000000..4fe46be81d0a
--- /dev/null
+++ b/offapi/com/sun/star/system/SimpleSystemMail.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SimpleSystemMail_idl__
+#define __com_sun_star_system_SimpleSystemMail_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to a <type>XSimpleMailClientSupplier</type> interface.
+ */
+ interface XSimpleMailClientSupplier;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SystemProxySettings.idl b/offapi/com/sun/star/system/SystemProxySettings.idl
new file mode 100644
index 000000000000..9093afe1f7cb
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemProxySettings.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SystemProxySettings_idl__
+#define __com_sun_star_system_SystemProxySettings_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_system_ProxySettings_idl__
+#include <com/sun/star/system/ProxySettings.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module system {
+
+//=============================================================================
+/** Specifies a service for reading the system proxy settings. Some systems
+ store this information in a central configuration database.
+
+ @deprecated
+*/
+
+published service SystemProxySettings
+{
+ service ProxySettings;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SystemShellExecute.idl b/offapi/com/sun/star/system/SystemShellExecute.idl
new file mode 100644
index 000000000000..2440c9c2492b
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecute.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SystemShellExecute_idl__
+#define __com_sun_star_system_SystemShellExecute_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to a <type>XSystemShellExecute</type> interface.
+ */
+ interface XSystemShellExecute;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/SystemShellExecuteException.idl b/offapi/com/sun/star/system/SystemShellExecuteException.idl
new file mode 100644
index 000000000000..f001a877e0ff
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecuteException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_SystemShellExecuteException_idl__
+#define __com_sun_star_system_SystemShellExecuteException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module system {
+
+//=============================================================================
+/** May be thrown in cases of errors executing a command using the <type>SystemShellExecute</type> service.
+ <member scope="com::sun::star::uno">Exception::Message</member> 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
diff --git a/offapi/com/sun/star/system/SystemShellExecuteFlags.idl b/offapi/com/sun/star/system/SystemShellExecuteFlags.idl
new file mode 100644
index 000000000000..cd93fa1cdb5b
--- /dev/null
+++ b/offapi/com/sun/star/system/SystemShellExecuteFlags.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>SystemShellExecute</type> 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 <member scope="com::sun::star::system">XSystemShellExecute::execute()</member> fails.
+ */
+ const long NO_SYSTEM_ERROR_MESSAGE = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/system/XProxySettings.idl b/offapi/com/sun/star/system/XProxySettings.idl
new file mode 100644
index 000000000000..711bac5b907e
--- /dev/null
+++ b/offapi/com/sun/star/system/XProxySettings.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_XProxySettings_idl__
+#define __com_sun_star_system_XProxySettings_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module system {
+
+//=============================================================================
+/** Enables access to different proxy settings. If particular settings are not
+ available an empty string will be returned.
+
+ @deprecated
+*/
+
+published interface XProxySettings: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Access to the Ftp proxy address.
+ @returns
+ The address of the ftp proxy server, if any has been specified.
+ */
+ string getFtpProxyAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Ftp proxy port.
+ @returns
+ The port of the ftp proxy server, if any has been specified.
+ */
+ string getFtpProxyPort( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Gopher proxy address.
+ @returns
+ The address of the gopher proxy server, if any has been specified.
+ */
+ string getGopherProxyAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Gopher proxy port.
+ @returns
+ The port of the gopher proxy server, if any has been specified.
+ */
+ string getGopherProxyPort( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Http proxy address.
+ @returns
+ The address of the http proxy server, if any has been specified.
+ */
+ string getHttpProxyAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Http proxy port.
+ @returns
+ The port of the http proxy server, if any has been specified.
+ */
+ string getHttpProxyPort( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Https proxy address.
+ @returns
+ The address of the https proxy server, if any has been specified.
+ */
+ string getHttpsProxyAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Https proxy port.
+ @returns
+ The port of the https proxy server, if any has been specified.
+ */
+ string getHttpsProxyPort( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Socks proxy address.
+ @returns
+ The address of the socks proxy server, if any has been specified.
+ */
+ string getSocksProxyAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Socks proxy port.
+ @returns
+ The port of the socks proxy server, if any has been specified.
+ */
+ string getSocksProxyPort( );
+
+ //-------------------------------------------------------------------------
+ /** Access to the Proxy-Bypass address.
+ @returns
+ A string of ';' separated addresses for which no proxy server
+ should be used.
+ */
+ string getProxyBypassAddress( );
+
+ //-------------------------------------------------------------------------
+ /** Either a proxy is enabled or not.
+ @returns
+ A value of <TRUE/> if a proxy is enabled.
+ <p>A value of <FALSE/> if a proxy is disabled.</p>
+ */
+ boolean isProxyEnabled( );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/system/XSimpleMailClient.idl b/offapi/com/sun/star/system/XSimpleMailClient.idl
new file mode 100644
index 000000000000..f768cf67c070
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailClient.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_XSimpleMailClient_idl__
+#define __com_sun_star_system_XSimpleMailClient_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_system_XSimpleMailMessage_idl__
+#include <com/sun/star/system/XSimpleMailMessage.idl>
+#endif
+
+#ifndef __com_sun_star_system_SimpleMailClientFlags_idl__
+#include <com/sun/star/system/SimpleMailClientFlags.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XSimpleMailMessage</type>.
+ @returns
+ An object that implements the <type>XSimpleMailMessage</type> interface.
+ */
+ XSimpleMailMessage createSimpleMailMessage( );
+
+ //-------------------------------------------------------------------------
+ /** Sends a given simple mail message object that implements the interface
+ <type>XSimpleMailMessage</type>.
+
+ @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
+
diff --git a/offapi/com/sun/star/system/XSimpleMailClientSupplier.idl b/offapi/com/sun/star/system/XSimpleMailClientSupplier.idl
new file mode 100644
index 000000000000..fce041b2892b
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailClientSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_XSimpleMailClientSupplier_idl__
+#define __com_sun_star_system_XSimpleMailClientSupplier_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_system_XSimpleMailClient_idl__
+#include <com/sun/star/system/XSimpleMailClient.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XSimpleMailClient</type>.
+ @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
+
diff --git a/offapi/com/sun/star/system/XSimpleMailMessage.idl b/offapi/com/sun/star/system/XSimpleMailMessage.idl
new file mode 100644
index 000000000000..2ec696ec942e
--- /dev/null
+++ b/offapi/com/sun/star/system/XSimpleMailMessage.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_XSimpleMailMessage_idl__
+#define __com_sun_star_system_XSimpleMailMessage_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 be 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 are conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+ */
+ sequence< string > getAttachement( );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/system/XSystemShellExecute.idl b/offapi/com/sun/star/system/XSystemShellExecute.idl
new file mode 100644
index 000000000000..f11e54c5b894
--- /dev/null
+++ b/offapi/com/sun/star/system/XSystemShellExecute.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_system_XSystemShellExecute_idl__
+#define __com_sun_star_system_XSystemShellExecute_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_system_SystemShellExecuteException_idl__
+#include <com/sun/star/system/SystemShellExecuteException.idl>
+#endif
+
+//=============================================================================
+
+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 abitrary 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.
+.
+ @throws com::sun::star::sys::SystemExecuteException
+ 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
+
diff --git a/offapi/com/sun/star/system/makefile.mk b/offapi/com/sun/star/system/makefile.mk
new file mode 100644
index 000000000000..7e30a8a65897
--- /dev/null
+++ b/offapi/com/sun/star/system/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssystem
+PACKAGE=com$/sun$/star$/system
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ SystemShellExecute.idl\
+ SystemShellExecuteException.idl\
+ SystemShellExecuteFlags.idl\
+ XSystemShellExecute.idl\
+ SimpleMailClientFlags.idl\
+ XSimpleMailMessage.idl\
+ XSimpleMailClient.idl\
+ XSimpleMailClientSupplier.idl\
+ SimpleCommandMail.idl \
+ SimpleSystemMail.idl\
+ ProxySettings.idl\
+ SOffice52ProxySettings.idl\
+ SystemProxySettings.idl\
+ XProxySettings.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/table/AccessibleCellView.idl b/offapi/com/sun/star/table/AccessibleCellView.idl
new file mode 100644
index 000000000000..8f42e9227c3a
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleCellView.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="::com::sun::star::sheet">AccessibleCell</type> for cells in
+ the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+published 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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the accessible table view.</li>
+ <li>The children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleContext</method> for these
+ children returns an object that supports the service
+ <type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::TABLE_CELL</const></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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> is always false if the
+ cell is showed, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> 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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_LINE</const> is always true in
+ spreadsheets and false otherwise.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is false if the cell
+ has no background color or graphic, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const> is true if the
+ cell is not showed in a page preview, otherwise is it
+ false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const> is true, if the cell
+ is selected. This is not possible in the page preview.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::TRANSIENT</const>Is true if the cell
+ is showed in a spreadsheet page preview. Otherwise it is
+ false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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
diff --git a/offapi/com/sun/star/table/AccessibleTableView.idl b/offapi/com/sun/star/table/AccessibleTableView.idl
new file mode 100644
index 000000000000..54d41dcb499b
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleTableView.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#include <com/sun/star/accessibility/XAccessibleTable.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type> for
+ tables in the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ is the accessible text document view, a page of the accessible
+ text documenent page preview, or the accessible spreadsheet
+ page preview.</li>
+ <li>The children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children
+ returns an object that supports the service.
+ <type scope="::com::sun::star::table">AccessibleCellView</type>:
+ A child where calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>
+ 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 xolumn 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::TABLE</const></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><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> 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 allready opend, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const> is false if the
+ table is showed in a page preview or the table is
+ protected, otherwise it is true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> is always true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const> is false
+ if the table is showed in a page preview, otherwise it is
+ true.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> is false, if the table
+ has no background color or graphic, otherwise it is
+ false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>Is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>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. Therefor 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
diff --git a/offapi/com/sun/star/table/BorderLine.idl b/offapi/com/sun/star/table/BorderLine.idl
new file mode 100644
index 000000000000..81e71b42dbf9
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_BorderLine_idl__
+#define __com_sun_star_table_BorderLine_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ //-------------------------------------------------------------------------
+
+ /** contaions 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
+
diff --git a/offapi/com/sun/star/table/Cell.idl b/offapi/com/sun/star/table/Cell.idl
new file mode 100644
index 000000000000..9cd81fb80fce
--- /dev/null
+++ b/offapi/com/sun/star/table/Cell.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_Cell_idl__
+#define __com_sun_star_table_Cell_idl__
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#include <com/sun/star/table/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module table {
+
+//=============================================================================
+
+/** represents a singe 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
+
diff --git a/offapi/com/sun/star/table/CellAddress.idl b/offapi/com/sun/star/table/CellAddress.idl
new file mode 100644
index 000000000000..de5439e94517
--- /dev/null
+++ b/offapi/com/sun/star/table/CellAddress.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/CellContentType.idl b/offapi/com/sun/star/table/CellContentType.idl
new file mode 100644
index 000000000000..fea75a3b51b5
--- /dev/null
+++ b/offapi/com/sun/star/table/CellContentType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/CellCursor.idl b/offapi/com/sun/star/table/CellCursor.idl
new file mode 100644
index 000000000000..996f1d80e75c
--- /dev/null
+++ b/offapi/com/sun/star/table/CellCursor.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_CellCursor_idl__
+#define __com_sun_star_table_CellCursor_idl__
+
+#ifndef __com_sun_star_table_XCellCursor_idl__
+#include <com/sun/star/table/XCellCursor.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/CellHoriJustify.idl b/offapi/com/sun/star/table/CellHoriJustify.idl
new file mode 100644
index 000000000000..c2f350899f72
--- /dev/null
+++ b/offapi/com/sun/star/table/CellHoriJustify.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/CellOrientation.idl b/offapi/com/sun/star/table/CellOrientation.idl
new file mode 100644
index 000000000000..0c58eee17cfc
--- /dev/null
+++ b/offapi/com/sun/star/table/CellOrientation.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/CellProperties.idl b/offapi/com/sun/star/table/CellProperties.idl
new file mode 100644
index 000000000000..0528415bdea3
--- /dev/null
+++ b/offapi/com/sun/star/table/CellProperties.idl
@@ -0,0 +1,265 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#define __com_sun_star_table_CellProperties_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellHoriJustify_idl__
+#include <com/sun/star/table/CellHoriJustify.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellVertJustify_idl__
+#include <com/sun/star/table/CellVertJustify.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellOrientation_idl__
+#include <com/sun/star/table/CellOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_util_CellProtection_idl__
+#include <com/sun/star/util/CellProtection.idl>
+#endif
+
+#ifndef __com_sun_star_table_TableBorder_idl__
+#include <com/sun/star/table/TableBorder.idl>
+#endif
+
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+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 <member>CellProperties::CellBackColor</member>
+ 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.
+ */
+ [property] com::sun::star::table::CellVertJustify 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 <member>CellProperties::RotateAngle</member> 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.
+ */
+ [property] com::sun::star::table::CellVertJustify RotateReference;
+
+ //-------------------------------------------------------------------------
+
+ /** selects Asian character orientation in vertical orientation.
+
+ <p>If the <member>CellProperties::Orientation</member> property is
+ <const>CellOrientation::STACKED</const>, in Asian mode only Asian
+ characters are printed in horizontal orientation instead of all
+ characters.
+ For other values of <member>CellProperties::Orientation</member>,
+ 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
+ <type scope="com::sun::star::util">NumberFormatter</type>
+ 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 shrinked to fit in the cell.
+ */
+ [optional, property] boolean ShrinkToFit;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/CellRange.idl b/offapi/com/sun/star/table/CellRange.idl
new file mode 100644
index 000000000000..3b1387f859f3
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRange.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_CellRange_idl__
+#define __com_sun_star_table_CellRange_idl__
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#include <com/sun/star/table/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module table {
+
+//=============================================================================
+
+/** represents a range of 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
+
diff --git a/offapi/com/sun/star/table/CellRangeAddress.idl b/offapi/com/sun/star/table/CellRangeAddress.idl
new file mode 100644
index 000000000000..7475369f870c
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeAddress.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/CellRangeListSource.idl b/offapi/com/sun/star/table/CellRangeListSource.idl
new file mode 100644
index 000000000000..c6c5d710b8fe
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeListSource.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_CellRangeListSource_idl__
+#define __com_sun_star_sheet_CellRangeListSource_idl__
+
+#ifndef __com_sun_star_form_binding_ListEntrySource_idl__
+#include <com/sun/star/form/binding/ListEntrySource.idl>
+#endif
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module table {
+
+
+//=============================================================================
+
+/** defines the a source of list entries coming from a cell range in a tbale 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 <member scope"com::sun::star::lang">XInitialization::initialize</member>
+ will throw an exception.</p>
+
+ <p>The arguments passed to the <member scope"com::sun::star::lang">XInitialization::initialize</member>
+ method must be instances of <type scope="com::sun::star::beans">NamedValue</type>, where
+ the <member scope"com::sun::star::beans">NamedValue::Name</member> denotes the type of information
+ to initialize, and the <member scope"com::sun::star::beans">NamedValue::Value</member>
+ the inital 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
+ <type scope="com::sun::star::table">CellRangeAddress</type> instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/table/CellValueBinding.idl b/offapi/com/sun/star/table/CellValueBinding.idl
new file mode 100644
index 000000000000..3115a8834f5f
--- /dev/null
+++ b/offapi/com/sun/star/table/CellValueBinding.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_CellValueBinding_idl__
+#define __com_sun_star_table_CellValueBinding_idl__
+
+#ifndef __com_sun_star_form_binding_ValueBinding_idl__
+#include <com/sun/star/form/binding/ValueBinding.idl>
+#endif
+#ifndef __com_sun_star_table_CellAddress_idl__
+#include <com/sun/star/table/CellAddress.idl>
+#endif
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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 (<type scope="com::sun::star::form::binding">ValueBinding</type>),
+ 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 <member scope"com::sun::star::lang">XInitialization::initialize</member>
+ will throw an exception.</p>
+
+ <p>The arguments passed to the <member scope"com::sun::star::lang">XInitialization::initialize</member>
+ method must be instances of <type scope="com::sun::star::beans">NamedValue</type>, where
+ the <member scope"com::sun::star::beans">NamedValue::Name</member> denotes the type of information
+ to initialize, and the <member scope"com::sun::star::beans">NamedValue::Value</member>
+ the inital 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
+ <type scope="com::sun::star::table">CellAddress</type> instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/table/CellVertJustify.idl b/offapi/com/sun/star/table/CellVertJustify.idl
new file mode 100644
index 000000000000..c4b0dcb741bc
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/ListPositionCellBinding.idl b/offapi/com/sun/star/table/ListPositionCellBinding.idl
new file mode 100644
index 000000000000..5058a30d870c
--- /dev/null
+++ b/offapi/com/sun/star/table/ListPositionCellBinding.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_ListPositionCellBinding_idl__
+#define __com_sun_star_table_ListPositionCellBinding_idl__
+
+#ifndef __com_sun_star_table_CellValueBinding_idl__
+#include <com/sun/star/table/CellValueBinding.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>ListPositionCellBinding</type> allows exchanging integer values.</p>
+
+ @see com::sun::star::form::binding::XValueBinding::getSupportedTypes
+ */
+ service CellValueBinding;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/table/ShadowFormat.idl b/offapi/com/sun/star/table/ShadowFormat.idl
new file mode 100644
index 000000000000..d88445d4a18d
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowFormat.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#define __com_sun_star_table_ShadowFormat_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_table_ShadowLocation_idl__
+#include <com/sun/star/table/ShadowLocation.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/ShadowLocation.idl b/offapi/com/sun/star/table/ShadowLocation.idl
new file mode 100644
index 000000000000..3ff56787700b
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowLocation.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>ShadowFormat</type>.
+ */
+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
+
diff --git a/offapi/com/sun/star/table/TableBorder.idl b/offapi/com/sun/star/table/TableBorder.idl
new file mode 100644
index 000000000000..8688e6c8a3f0
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableBorder_idl__
+#define __com_sun_star_table_TableBorder_idl__
+
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>TableBorder::Is...LineValid</member> 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 <member>TableBorder::TopLine</member>
+ is used.
+ */
+ boolean IsTopLineValid;
+
+ //-------------------------------------------------------------------------
+
+ /** determines the line style at the bottom edge.
+ */
+ com::sun::star::table::BorderLine BottomLine;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of
+ <member>TableBorder::BottomLine</member> is used.
+ */
+ boolean IsBottomLineValid;
+
+ //-------------------------------------------------------------------------
+
+ /** determines the line style at the left edge.
+ */
+ com::sun::star::table::BorderLine LeftLine;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::LeftLine</member>
+ is used.
+ */
+ boolean IsLeftLineValid;
+
+ //-------------------------------------------------------------------------
+
+ /** determines the line style at the right edge.
+ */
+ com::sun::star::table::BorderLine RightLine;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::RightLine</member>
+ 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
+ <member>TableBorder::HorizontalLine</member> 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
+ <member>TableBorder::VerticalLine</member> is used.
+ */
+ boolean IsVerticalLineValid;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the distance between the lines and other contents.
+ */
+ short Distance;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::Distance</member>
+ is used.
+ */
+ boolean IsDistanceValid;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/TableBorderDistances.idl b/offapi/com/sun/star/table/TableBorderDistances.idl
new file mode 100644
index 000000000000..86db15d99b64
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorderDistances.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableBorderDistances_idl__
+#define __com_sun_star_table_TableBorderDistances_idl__
+
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>TableBorderDistances::Is...DistanceValid</member> 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 <member>TableBorder::TopDistance</member>
+ is used.
+ */
+ boolean IsTopDistanceValid;
+ //-------------------------------------------------------------------------
+
+ /** contains the distance between the bottom lines and other contents.
+ */
+ short BottomDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::BottomDistance</member>
+ is used.
+ */
+ boolean IsBottomDistanceValid;
+ //-------------------------------------------------------------------------
+
+ /** contains the distance between the left lines and other contents.
+ */
+ short LeftDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::LeftDistance</member>
+ is used.
+ */
+ boolean IsLeftDistanceValid;
+ //-------------------------------------------------------------------------
+
+ /** contains the distance between the right lines and other contents.
+ */
+ short RightDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the value of <member>TableBorder::RightDistance</member>
+ is used.
+ */
+ boolean IsRightDistanceValid;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/TableChart.idl b/offapi/com/sun/star/table/TableChart.idl
new file mode 100644
index 000000000000..c12262019785
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChart.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableChart_idl__
+#define __com_sun_star_table_TableChart_idl__
+
+#ifndef __com_sun_star_table_XTableChart_idl__
+#include <com/sun/star/table/XTableChart.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableCharts.idl b/offapi/com/sun/star/table/TableCharts.idl
new file mode 100644
index 000000000000..f2c646f6233b
--- /dev/null
+++ b/offapi/com/sun/star/table/TableCharts.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableCharts_idl__
+#define __com_sun_star_table_TableCharts_idl__
+
+#ifndef __com_sun_star_table_XTableCharts_idl__
+#include <com/sun/star/table/XTableCharts.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableChartsEnumeration.idl b/offapi/com/sun/star/table/TableChartsEnumeration.idl
new file mode 100644
index 000000000000..c29e3abbae46
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChartsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableChartsEnumeration_idl__
+#define __com_sun_star_table_TableChartsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableColumn.idl b/offapi/com/sun/star/table/TableColumn.idl
new file mode 100644
index 000000000000..985cc3f7c401
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumn.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableColumn_idl__
+#define __com_sun_star_table_TableColumn_idl__
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableColumns.idl b/offapi/com/sun/star/table/TableColumns.idl
new file mode 100644
index 000000000000..9a3a32c062a1
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumns.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableColumns_idl__
+#define __com_sun_star_table_TableColumns_idl__
+
+#ifndef __com_sun_star_table_XTableColumns_idl__
+#include <com/sun/star/table/XTableColumns.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableColumnsEnumeration.idl b/offapi/com/sun/star/table/TableColumnsEnumeration.idl
new file mode 100644
index 000000000000..b43bf7d320e6
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumnsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableColumnsEnumeration_idl__
+#define __com_sun_star_table_TableColumnsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableOrientation.idl b/offapi/com/sun/star/table/TableOrientation.idl
new file mode 100644
index 000000000000..a142d212ef2f
--- /dev/null
+++ b/offapi/com/sun/star/table/TableOrientation.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/table/TableRow.idl b/offapi/com/sun/star/table/TableRow.idl
new file mode 100644
index 000000000000..f3f87e7258a9
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRow.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableRow_idl__
+#define __com_sun_star_table_TableRow_idl__
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableRows.idl b/offapi/com/sun/star/table/TableRows.idl
new file mode 100644
index 000000000000..dfb7db26c84b
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRows.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableRows_idl__
+#define __com_sun_star_table_TableRows_idl__
+
+#ifndef __com_sun_star_table_XTableRows_idl__
+#include <com/sun/star/table/XTableRows.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableRowsEnumeration.idl b/offapi/com/sun/star/table/TableRowsEnumeration.idl
new file mode 100644
index 000000000000..1ff0c074bd6f
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRowsEnumeration.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableRowsEnumeration_idl__
+#define __com_sun_star_table_TableRowsEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableSortDescriptor.idl b/offapi/com/sun/star/table/TableSortDescriptor.idl
new file mode 100644
index 000000000000..9e2277389be0
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableSortDescriptor_idl__
+#define __com_sun_star_table_TableSortDescriptor_idl__
+
+#ifndef __com_sun_star_util_SortDescriptor_idl__
+#include <com/sun/star/util/SortDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_util_SortField_idl__
+#include <com/sun/star/util/SortField.idl>
+#endif
+
+#ifndef __com_sun_star_table_TableOrientation_idl__
+#include <com/sun/star/table/TableOrientation.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::util">SortDescriptor</type> 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 <member scope="com::sun::star::util">SortDescriptor::SortColumns</member>
+ instead.
+ */
+ [property] com::sun::star::table::TableOrientation Orientation;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the first row or column (depending on
+ <member scope="com::sun::star::util">SortDescriptor::SortColumns</member>) is a
+ header which should not be sorted.
+ */
+ [property] boolean ContainsHeader;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/TableSortDescriptor2.idl b/offapi/com/sun/star/table/TableSortDescriptor2.idl
new file mode 100644
index 000000000000..ff62fa490f18
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor2.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableSortDescriptor2_idl__
+#define __com_sun_star_table_TableSortDescriptor2_idl__
+
+#ifndef __com_sun_star_util_SortDescriptor2_idl__
+#include <com/sun/star/util/SortDescriptor2.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_table_TableSortField_idl__
+#include <com/sun/star/table/TableSortField.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/TableSortField.idl b/offapi/com/sun/star/table/TableSortField.idl
new file mode 100644
index 000000000000..3fb8d718b588
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortField.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_table_TableSortField_idl__
+#define __com_sun_star_table_TableSortField_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_table_TableSortFieldType_idl__
+#include <com/sun/star/table/TableSortFieldType.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member scope="com::sun::star::table::TableSortFieldType">AUTOMATIC</member>
+ 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
+ <member scope="com::sun::star::table::TableSortFieldType">NUMERIC</member>
+ </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
+ <member scope="com::sun::star::table::TableSortFieldType">NUMERIC</member>
+ </p>
+
+ @ see com::sun::star::i18n::XCollator
+ */
+ string CollatorAlgorithm;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/table/TableSortFieldType.idl b/offapi/com/sun/star/table/TableSortFieldType.idl
new file mode 100644
index 000000000000..99a546237358
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortFieldType.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/table/XAutoFormattable.idl b/offapi/com/sun/star/table/XAutoFormattable.idl
new file mode 100644
index 000000000000..113c3a17de0a
--- /dev/null
+++ b/offapi/com/sun/star/table/XAutoFormattable.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XAutoFormattable_idl__
+#define __com_sun_star_table_XAutoFormattable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the specified AutoFormat does not exist.
+ */
+ void autoFormat( [in] string aName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/XCell.idl b/offapi/com/sun/star/table/XCell.idl
new file mode 100644
index 000000000000..7bc0fdffcafa
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XCell_idl__
+#define __com_sun_star_table_XCell_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellContentType_idl__
+#include <com/sun/star/table/CellContentType.idl>
+#endif
+
+//=============================================================================
+
+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 returnd, 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
+ <member>CellContentType::VALUE</member>.</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
+
diff --git a/offapi/com/sun/star/table/XCellCursor.idl b/offapi/com/sun/star/table/XCellCursor.idl
new file mode 100644
index 000000000000..e2b1a195ed98
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellCursor.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XCellCursor_idl__
+#define __com_sun_star_table_XCellCursor_idl__
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XCellRange.idl b/offapi/com/sun/star/table/XCellRange.idl
new file mode 100644
index 000000000000..433d1173865f
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellRange.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#define __com_sun_star_table_XCellRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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 <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
+ 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
+
diff --git a/offapi/com/sun/star/table/XColumnRowRange.idl b/offapi/com/sun/star/table/XColumnRowRange.idl
new file mode 100644
index 000000000000..b72e583495d5
--- /dev/null
+++ b/offapi/com/sun/star/table/XColumnRowRange.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XColumnRowRange_idl__
+#define __com_sun_star_table_XColumnRowRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableColumns_idl__
+#include <com/sun/star/table/XTableColumns.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableRows_idl__
+#include <com/sun/star/table/XTableRows.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XMergeableCell.idl b/offapi/com/sun/star/table/XMergeableCell.idl
new file mode 100644
index 000000000000..6f1158f4a80f
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCell.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XMergeableCell_idl__
+#define __com_sun_star_table_XMergeableCell_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XMergeableCellRange.idl b/offapi/com/sun/star/table/XMergeableCellRange.idl
new file mode 100644
index 000000000000..51bf1cbc1a74
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCellRange.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_table_XMergeableCellRange_idl__
+#define __com_sun_star_table_XMergeableCellRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::lang">NoSupportException</type>
+ if a merge is not possible for this range. You can use
+ <method>isMergeable()</method> 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 taht are already splitted.
+
+ @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 <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if at least one of the parameters is less than zero.
+
+ @throws <type scope="com::sun::star::lang">NoSupportException</type>
+ 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
diff --git a/offapi/com/sun/star/table/XTable.idl b/offapi/com/sun/star/table/XTable.idl
new file mode 100644
index 000000000000..51e33324a797
--- /dev/null
+++ b/offapi/com/sun/star/table/XTable.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTable_idl__
+#define __com_sun_star_table_XTable_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_table_XColumnRowRange_idl__
+#include <com/sun/star/table/XColumnRowRange.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCellCursor_idl__
+#include <com/sun/star/table/XCellCursor.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifiable_idl__
+#include <com/sun/star/util/XModifiable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 aRange
+ the cell range for the cursor.
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
+
diff --git a/offapi/com/sun/star/table/XTableChart.idl b/offapi/com/sun/star/table/XTableChart.idl
new file mode 100644
index 000000000000..745efea0e973
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChart.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTableChart_idl__
+#define __com_sun_star_table_XTableChart_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XTableCharts.idl b/offapi/com/sun/star/table/XTableCharts.idl
new file mode 100644
index 000000000000..6e7a5ea679bc
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableCharts.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTableCharts_idl__
+#define __com_sun_star_table_XTableCharts_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellRangeAddress_idl__
+#include <com/sun/star/table/CellRangeAddress.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XTableChartsSupplier.idl b/offapi/com/sun/star/table/XTableChartsSupplier.idl
new file mode 100644
index 000000000000..351557fbf1a9
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChartsSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTableChartsSupplier_idl__
+#define __com_sun_star_table_XTableChartsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableCharts_idl__
+#include <com/sun/star/table/XTableCharts.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/XTableColumns.idl b/offapi/com/sun/star/table/XTableColumns.idl
new file mode 100644
index 000000000000..a6a81b49f96a
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableColumns.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTableColumns_idl__
+#define __com_sun_star_table_XTableColumns_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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.
+
+ <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 column will have.
+
+ @param nCount
+ is the number of columns to insert.
+ */
+ void insertByIndex( [in] long nIndex, [in] long nCount );
+
+ //-------------------------------------------------------------------------
+
+ /** deletes columns.
+
+ <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 column to delete.
+
+ @param nCount
+ is the number of columns to delete.
+ */
+ void removeByIndex( [in] long nIndex, [in] long nCount );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/table/XTableRows.idl b/offapi/com/sun/star/table/XTableRows.idl
new file mode 100644
index 000000000000..bd05abfc2a8f
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableRows.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_XTableRows_idl__
+#define __com_sun_star_table_XTableRows_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/table/makefile.mk b/offapi/com/sun/star/table/makefile.mk
new file mode 100644
index 000000000000..8b78c4b989b7
--- /dev/null
+++ b/offapi/com/sun/star/table/makefile.mk
@@ -0,0 +1,92 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csstable
+PACKAGE=com$/sun$/star$/table
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleCellView.idl \
+ AccessibleTableView.idl \
+ BorderLine.idl\
+ Cell.idl\
+ CellAddress.idl\
+ CellContentType.idl\
+ CellCursor.idl\
+ CellHoriJustify.idl\
+ CellOrientation.idl\
+ CellProperties.idl\
+ CellRange.idl\
+ CellRangeAddress.idl\
+ CellVertJustify.idl\
+ ShadowFormat.idl\
+ ShadowLocation.idl\
+ TableBorder.idl\
+ TableBorderDistances.idl\
+ TableChart.idl\
+ TableCharts.idl\
+ TableChartsEnumeration.idl\
+ TableColumn.idl\
+ TableColumns.idl\
+ TableColumnsEnumeration.idl\
+ TableOrientation.idl\
+ TableRow.idl\
+ TableRows.idl\
+ TableRowsEnumeration.idl\
+ TableSortDescriptor.idl\
+ TableSortDescriptor2.idl\
+ TableSortField.idl\
+ TableSortFieldType.idl\
+ XAutoFormattable.idl\
+ XCell.idl\
+ XMergeableCell.idl\
+ XMergeableCellRange.idl\
+ XCellCursor.idl\
+ XCellRange.idl\
+ XColumnRowRange.idl\
+ XTableChart.idl\
+ XTableCharts.idl\
+ XTableChartsSupplier.idl\
+ XTableColumns.idl\
+ XTableRows.idl\
+ CellRangeListSource.idl\
+ CellValueBinding.idl\
+ ListPositionCellBinding.idl\
+ XTable.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/task/AsyncJob.idl b/offapi/com/sun/star/task/AsyncJob.idl
new file mode 100644
index 000000000000..eed753549b75
--- /dev/null
+++ b/offapi/com/sun/star/task/AsyncJob.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_AsyncJob_idl__
+#define __com_sun_star_task_AsyncJob_idl__
+
+#ifndef __com_sun_star_task_XAsyncJob_idl__
+#include <com/sun/star/task/XAsyncJob.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloseable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//============================================================================
+/** represent an asynchronous job, which can be executed by the global <type>JobExecutor</type>
+ 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
diff --git a/offapi/com/sun/star/task/ClassifiedInteractionRequest.idl b/offapi/com/sun/star/task/ClassifiedInteractionRequest.idl
new file mode 100644
index 000000000000..fdd98037d6b3
--- /dev/null
+++ b/offapi/com/sun/star/task/ClassifiedInteractionRequest.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#define __com_sun_star_task_ClassifiedInteractionRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_task_InteractionClassification_idl__
+#include <com/sun/star/task/InteractionClassification.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::task::ClassifiedInteractionRequest
+/** A classified interaction request.
+ */
+published exception ClassifiedInteractionRequest: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::task::ClassifiedInteractionRequest::Classification
+ /** The classification of the request.
+ */
+ com::sun::star::task::InteractionClassification Classification;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl
new file mode 100644
index 000000000000..1d453e41aa29
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2009.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentMSPasswordRequest_idl__
+#define __com_sun_star_task_DocumentMSPasswordRequest_idl__
+
+#ifndef __com_sun_star_task_PasswordRequest_idl__
+#include <com/sun/star/task/PasswordRequest.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>InteractionHandler</type> 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
+ */
+ string Name;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
new file mode 100755
index 000000000000..94ce75683dea
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2009.
+ * Copyright 2009 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentMSPasswordRequest.idl,v $
+ * $Revision: 1.0 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>InteractionHandler</type> 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 mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
new file mode 100644
index 000000000000..a115e914afb8
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 commited 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 informations about the ODF version of the document
+ */
+ string DocumentVersion;
+
+ /** contains informations about the signatures in the document
+ */
+ sequence< ::com::sun::star::security::DocumentSignatureInformation >
+ DocumentSignatureInformation;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest.idl b/offapi/com/sun/star/task/DocumentPasswordRequest.idl
new file mode 100644
index 000000000000..5520dc14f0ba
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentPasswordRequest_idl__
+#define __com_sun_star_task_DocumentPasswordRequest_idl__
+
+#ifndef __com_sun_star_task_PasswordRequest_idl__
+#include <com/sun/star/task/PasswordRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies the mode in wich the password should be asked
+
+ <P>
+ It is supported by <type>InteractionHandler</type> 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
+ */
+ string Name;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
new file mode 100755
index 000000000000..0f49e29255f0
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentPasswordRequest.idl,v $
+ * $Revision: 1.8 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>InteractionHandler</type> 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 mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/ErrorCodeIOException.idl b/offapi/com/sun/star/task/ErrorCodeIOException.idl
new file mode 100644
index 000000000000..93b8aaa67d1a
--- /dev/null
+++ b/offapi/com/sun/star/task/ErrorCodeIOException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_ErrorCodeIOException_idl__
+#define __com_sun_star_task_ErrorCodeIOException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//============================================================================
+
+ module com { module sun { module star { module task {
+
+//============================================================================
+
+/** IOException that can carry error codes ( not only io related ).
+ It can be used to transport the error code information.
+ */
+exception ErrorCodeIOException : com::sun::star::io::IOException
+{
+ //------------------------------------------------------------------------
+ /** specifies the error code.
+ */
+
+ long ErrCode;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/ErrorCodeRequest.idl b/offapi/com/sun/star/task/ErrorCodeRequest.idl
new file mode 100644
index 000000000000..fb594a8b5944
--- /dev/null
+++ b/offapi/com/sun/star/task/ErrorCodeRequest.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_ErrorCodeRequest_idl__
+#define __com_sun_star_task_ErrorCodeRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ 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 usefull for interactions.
+
+ @since OOo 1.1.2
+ */
+published exception ErrorCodeRequest : com::sun::star::uno::Exception
+{
+ /** specifies the error code. */
+ long ErrCode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/FutureDocumentVersionProductUpdateRequest.idl b/offapi/com/sun/star/task/FutureDocumentVersionProductUpdateRequest.idl
new file mode 100644
index 000000000000..0bef641d3ff1
--- /dev/null
+++ b/offapi/com/sun/star/task/FutureDocumentVersionProductUpdateRequest.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+#ifndef __com_sun_star_task_FutureDocumentVersionProductUpdateRequest_idl__
+#define __com_sun_star_task_FutureDocumentVersionProductUpdateRequest_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+
+/** describes a request to the user to update OpenOffice.org to a newer version, since
+ an ODF document was encountered which conforms to an ODF version unknown to the
+ current OpenOffice.org version.
+
+ <p>An interaction request of this type usually comes with an <type>XInteractionApprove</type>,
+ and <type>XInteractionDisapprove</type>, and <type>XInteractionAskLater</type> continuation.</p>
+ */
+exception FutureDocumentVersionProductUpdateRequest : ClassifiedInteractionRequest
+{
+ /// specifies the URL of the document which conforms to a future ODF version
+ string DocumentURL;
+
+ /** the ODF version which the document conforms to
+
+ <p>If the request was not issued because of a too-new ODF version of the document, but because
+ the application detected by other means that the document was too-new, then <code>DocumentODFVersion</code>
+ is allowed to be empty</p>
+ */
+ string DocumentODFVersion;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/task/InteractionClassification.idl b/offapi/com/sun/star/task/InteractionClassification.idl
new file mode 100644
index 000000000000..a5449bdd09e3
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionClassification.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_InteractionClassification_idl__
+#define __com_sun_star_task_InteractionClassification_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::task::InteractionClassification
+/** A classification of interaction requests.
+
+ @see com::sun::star::task::ClassifiedInteractionRequest
+ This is the base of classified interaction requests.
+ */
+published enum InteractionClassification
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::task::InteractionClassification::ERROR
+ /** An error.
+ */
+ ERROR,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::task::InteractionClassification::WARNING
+ /** A warning, less severe than an error.
+ */
+ WARNING,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::task::InteractionClassification::INFO
+ /** Some information for the client/user (which will typically lead to the
+ selection of an
+ <type scope="com::sun::star::task">XInteractionApprove</type>
+ continuation).
+ */
+ INFO,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::task::InteractionClassification::QUERY
+ /** A query for the client/user (which will typically lead to the
+ selection of an
+ <type scope="com::sun::star::task">XInteractionApprove</type> or
+ <type scope="com::sun::star::task">XInteractionDisapprove</type>
+ continuation).
+ */
+ QUERY
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/InteractionHandler.idl b/offapi/com/sun/star/task/InteractionHandler.idl
new file mode 100644
index 000000000000..f772754d6d56
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionHandler.idl
@@ -0,0 +1,187 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_InteractionHandler_idl__
+#define __com_sun_star_task_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 task {
+
+//============================================================================
+/** An interaction request handler that lets the user handle requests via GUI dialogs.
+
+ <p>The interaction handler service has a numerof 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><type scope="com::sun::star::ucb">AuthenticationRequest</type></LI>
+ <LI><type scope="com::sun::star::ucb">CertificateValidationRequest</type></LI>
+ <LI><type scope="com::sun::star::sync2">BadPartnershipException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">HandleCookiesRequest</type></LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveAugmentedIOException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveCHAOSException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveFileIOException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveIOException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkConnectException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkGeneralException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkOffLineException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkReadException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkResolveNameException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveNetworkWriteException</type>*</LI>
+ <LI><type scope="com::sun::star::ucb">InteractiveWrongMediumException</type>*</LI>
+ <LI><type scope="com::sun::star::task">PasswordRequest</type></LI>
+ <LI><type scope="com::sun::star::java">WrongJavaVersionException</type>*</LI>
+ <LI><type scope="com::sun::star::task">DocumentMacroConfirmationRequest</type></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
+ <type scope="com::sun::star::task">XInteractionApprove</type>,
+ <type scope="com::sun::star::task">XInteractionDisapprove</type>,
+ <type scope="com::sun::star::task">XInteractionRetry</type>, or
+ <type scope="com::sun::star::task">XInteractionAbort</type> (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
+ <type scope="com::sun::star::ucb">InteractiveAugmentedIOException</type>
+ carries with it a sequence of arguments, which should be
+ <type scope="com::sun::star::beans">PropertyValue</type>s. The following
+ details which properties are interpreted by the interaction handler,
+ depending on the request's
+ <type scope="com::sun::star::ucb">IOErrorCode</type>:
+ <DL>
+ <DT><code>"Uri"</code></DT>
+ <DD>All error codes except
+ <const scope="com::sun::star::ucb">IOErrorCode::DIFFERENT_DEVICES</const>.
+ The URI of the involved resource (a <atom>string</atom>).</DD>
+
+ <DT><code>"ResourceName"</code></DT>
+ <DD>All error codes except
+ <const scope="com::sun::star::ucb">IOErrorCode::DIFFERENT_DEVICES</const>.
+ A name for the involved resource (a <atom>string</atom>) 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><const scope="com::sun::star::ucb">IOErrorCode::DEVICE_NOT_READY</const>
+ and
+ <const scope="com::sun::star::ucb">IOErrorCode::NOT_EXISTING</const>
+ only. An identifier for the type of resource involved (a
+ <atom>string</atom>). 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><const scope="com::sun::star::ucb">IOErrorCode::NOT_EXISTING</const>
+ only. A flag indicating whether the resource resides on a storage
+ medium that can be removed by the user (a <atom>boolean</atom>).</DD>
+
+ <DT><code>"Folder"</code></DT>
+ <DD><const scope="com::sun::star::ucb">IOErrorCode::CANT_CREATE</const>
+ only. The name of the foler in which a resource cannot be created (a
+ <atom>string</atom>).</DD>
+
+ <DT><code>"Volume"</code> and <code>"OtherVolume"</code></DT>
+ <DD><const scope="com::sun::star::ucb">IOErrorCode::DIFFERENT_DEVICES</const>
+ only. The names of the two volumes involved (two
+ <atom>string</atom>s).</DD>
+ </DL></P>
+
+ <a name="configuring_handlers"></a>
+ <h3>Configurating 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> encounteres 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 themself responsible for the same request type, it is not
+ defined which handler will actully 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
+{
+ //------------------------------------------------------------------------
+ /** Handle an interaction request.
+ */
+ interface com::sun::star::task::XInteractionHandler;
+
+ //------------------------------------------------------------------------
+ /** Initialize the interaction handler.
+
+ <P>The arguments must be a sequence of
+ <type scope="com::sun::star::beans">PropertyValue</type>s. The
+ currently supported properties are:
+ <UL>
+ <LI><code>"Parent"</code> of type
+ <type scope="com::sun::star::awt">XWindow</type> 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 <atom>string</atom> 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
diff --git a/offapi/com/sun/star/task/InteractionRequestStringResolver.idl b/offapi/com/sun/star/task/InteractionRequestStringResolver.idl
new file mode 100644
index 000000000000..fac2a69de424
--- /dev/null
+++ b/offapi/com/sun/star/task/InteractionRequestStringResolver.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XInteractionRequest</type>.
+ */
+/* published */
+service InteractionRequestStringResolver : XInteractionRequestStringResolver;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/Job.idl b/offapi/com/sun/star/task/Job.idl
new file mode 100644
index 000000000000..7d55dea68b56
--- /dev/null
+++ b/offapi/com/sun/star/task/Job.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_Job_idl__
+#define __com_sun_star_task_Job_idl__
+
+#ifndef __com_sun_star_task_XJob_idl__
+#include <com/sun/star/task/XJob.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloseable_idl__
+#include <com/sun/star/util/XCloseable.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//============================================================================
+/** represent a synchronous job, which can be executed by the global <type>JobExecutor</type>
+ 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
diff --git a/offapi/com/sun/star/task/JobExecutor.idl b/offapi/com/sun/star/task/JobExecutor.idl
new file mode 100644
index 000000000000..7f6a9581e0ab
--- /dev/null
+++ b/offapi/com/sun/star/task/JobExecutor.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_JobExecutor_idl__
+#define __com_sun_star_task_JobExecutor_idl__
+
+#ifndef __com_sun_star_task_XJobExecutor_idl__
+#include <com/sun/star/task/XJobExecutor.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//============================================================================
+/** generic job execution service
+
+ <p>
+ Can start registered uno services on triggered events and handle there
+ own configuration and there lifetime. Such events are simple strings
+ wich meaning doesn't matter for any real service implementation of this
+ specification. But triggered events must be available inside the
+ configuration and some <type>Job</type>s or <type>AsyncJob</type>s must be registered for that.
+ </p>
+
+ @see Job
+ @see AsyncJob
+ */
+published service JobExecutor
+{
+ //------------------------------------------------------------------------
+ /** start and regulate execution.
+ */
+ interface com::sun::star::task::XJobExecutor;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/MasterPasswordRequest.idl b/offapi/com/sun/star/task/MasterPasswordRequest.idl
new file mode 100644
index 000000000000..734c4e00c1e4
--- /dev/null
+++ b/offapi/com/sun/star/task/MasterPasswordRequest.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_MasterPasswordRequest_idl__
+#define __com_sun_star_task_MasterPasswordRequest_idl__
+
+#ifndef __com_sun_star_task_PasswordRequest_idl__
+#include <com/sun/star/task/PasswordRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies the mode in wich the password should be asked
+
+ <P>
+ It is supported by <type>InteractionHandler</type> 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
diff --git a/offapi/com/sun/star/task/NoMasterException.idl b/offapi/com/sun/star/task/NoMasterException.idl
new file mode 100644
index 000000000000..03440309db9d
--- /dev/null
+++ b/offapi/com/sun/star/task/NoMasterException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_MasterPasswordRequest_idl__
+#define __com_sun_star_task_MasterPasswordRequest_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_task_PasswordRequestMode_idl__
+#include <com/sun/star/task/PasswordRequestMode.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/task/OfficeRestartManager.idl b/offapi/com/sun/star/task/OfficeRestartManager.idl
new file mode 100644
index 000000000000..9205992d169f
--- /dev/null
+++ b/offapi/com/sun/star/task/OfficeRestartManager.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/task/PDFExportException.idl b/offapi/com/sun/star/task/PDFExportException.idl
new file mode 100644
index 000000000000..8547aea76418
--- /dev/null
+++ b/offapi/com/sun/star/task/PDFExportException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_PDFExportException_idl__
+#define __com_sun_star_task_PDFExportException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+ 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 occured during PDFExport
+ */
+ sequence< long > ErrorCodes;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
diff --git a/offapi/com/sun/star/task/PasswordContainer.idl b/offapi/com/sun/star/task/PasswordContainer.idl
new file mode 100644
index 000000000000..e0bebf68f77d
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordContainer.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_PasswordContainer_idl__
+#define __com_sun_star_task_PasswordContainer_idl__
+
+module com { module sun { module star {
+ module task {
+ published interface XPasswordContainer;
+ published interface XMasterPasswordHandling;
+ };
+}; }; };
+
+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 encripted 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 <type>XInteractionHandler</type>
+ interface should be provided. For this purpose <type>InteractionHandler</type>
+ 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 ),
+ <type>NoMasterException</type> exception is thrown to let user use
+ nonpersistent way explicitly.
+ </p>
+*/
+published service PasswordContainer
+{
+ //------------------------------------------------------------------------
+ /** handles passwords
+
+ <p>
+ Use this interface to store\retrieve passwords.
+ </p>
+ */
+ interface com::sun::star::task::XPasswordContainer;
+
+ //------------------------------------------------------------------------
+ /** handles passwords
+
+ <p>
+ Use this interface to store\retrieve passwords.
+ </p>
+ */
+ [optional] interface com::sun::star::task::XMasterPasswordHandling;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl
new file mode 100644
index 000000000000..62beab75eb30
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::task">PasswordContainer</type> service to
+ handle <type scope="com::sun::star::ucb">AuthenticationRequest</type>s.
+
+ If the password container contains credentials matching the authentication
+ request, the service implementation selects the
+ <type scope="com::sun::star::ucb">XInteractionSupplyAuthentication</type>
+ 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
diff --git a/offapi/com/sun/star/task/PasswordRequest.idl b/offapi/com/sun/star/task/PasswordRequest.idl
new file mode 100644
index 000000000000..e9f32c86f72b
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordRequest.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_PasswordRequest_idl__
+#define __com_sun_star_task_PasswordRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_task_PasswordRequestMode_idl__
+#include <com/sun/star/task/PasswordRequestMode.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies the mode in wich the password should be asked
+
+ <P>
+ It is supported by <type>InteractionHandler</type> 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
diff --git a/offapi/com/sun/star/task/PasswordRequestMode.idl b/offapi/com/sun/star/task/PasswordRequestMode.idl
new file mode 100644
index 000000000000..a7f710203f78
--- /dev/null
+++ b/offapi/com/sun/star/task/PasswordRequestMode.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl b/offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl
new file mode 100644
index 000000000000..ac5358fbd002
--- /dev/null
+++ b/offapi/com/sun/star/task/UnsupportedOverwriteRequest.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_UnsupportedOverwriteRequest_idl__
+#define __com_sun_star_task_UnsupportedOverwriteRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>InteractionHandler</type> 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
+
diff --git a/offapi/com/sun/star/task/UrlRecord.idl b/offapi/com/sun/star/task/UrlRecord.idl
new file mode 100644
index 000000000000..84a856a87510
--- /dev/null
+++ b/offapi/com/sun/star/task/UrlRecord.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_UrlRecord_idl__
+#define __com_sun_star_task_UrlRecord_idl__
+
+#ifndef __com_sun_star_task_UserRecord_idl__
+#include <com/sun/star/task/UserRecord.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/task/UserRecord.idl b/offapi/com/sun/star/task/UserRecord.idl
new file mode 100644
index 000000000000..da9ba759bcbf
--- /dev/null
+++ b/offapi/com/sun/star/task/UserRecord.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>UrlRecord</type>.
+*/
+published struct UserRecord
+{
+ /// specifies the user name.
+ string UserName;
+
+ /// specifies the passwords for the given user.
+ sequence<string> Passwords;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XAbortChannel.idl b/offapi/com/sun/star/task/XAbortChannel.idl
new file mode 100644
index 000000000000..54f647bd7331
--- /dev/null
+++ b/offapi/com/sun/star/task/XAbortChannel.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED_com_sun_star_task_XAbortChannel_idl
+#define INCLUDED_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 <type scope="com::sun::star::deployment">
+ XPackageManager</type>.
+*/
+interface XAbortChannel
+{
+ /** sends an abort notification to all commands
+ associated with this channel.
+ */
+ void sendAbort();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XAsyncJob.idl b/offapi/com/sun/star/task/XAsyncJob.idl
new file mode 100644
index 000000000000..96dfe0365d9f
--- /dev/null
+++ b/offapi/com/sun/star/task/XAsyncJob.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XAsyncJob_idl__
+#define __com_sun_star_task_XAsyncJob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+ published interface XJobListener;
+
+//=============================================================================
+/** specifies a job which must be executed asynchronously
+
+ <p>
+ Instead of <type>XJob</type> the implementation of this interface
+ must be aware, that execution can be made real asynchronous (e.g. by using
+ threads). Because the environment whish 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 the <type>JobExecutor</type>
+ which use this asynchronous job. It's possible to write it back by called listener
+ function <member>XJobListener::jobFinished()</member>.
+
+ @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
+
diff --git a/offapi/com/sun/star/task/XInteractionApprove.idl b/offapi/com/sun/star/task/XInteractionApprove.idl
new file mode 100644
index 000000000000..be39a0b21b2f
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionApprove.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionApprove_idl__
+#define __com_sun_star_task_XInteractionApprove_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionApprove
+/** An intearaction continuation specifing 'approval'.
+ */
+published interface XInteractionApprove: com::sun::star::task::XInteractionContinuation
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XInteractionAskLater.idl b/offapi/com/sun/star/task/XInteractionAskLater.idl
new file mode 100644
index 000000000000..04db83387f37
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionAskLater.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/task/XInteractionDisapprove.idl b/offapi/com/sun/star/task/XInteractionDisapprove.idl
new file mode 100644
index 000000000000..f4a21cc1c2b0
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionDisapprove.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionDisapprove_idl__
+#define __com_sun_star_task_XInteractionDisapprove_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::task::XInteractionDisapprove
+/** An interaction continuation specifing 'disapproval'.
+ */
+published interface XInteractionDisapprove: com::sun::star::task::XInteractionContinuation
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XInteractionPassword.idl b/offapi/com/sun/star/task/XInteractionPassword.idl
new file mode 100644
index 000000000000..95309ccf5623
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionPassword_idl__
+#define __com_sun_star_task_XInteractionPassword_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/task/XInteractionPassword2.idl b/offapi/com/sun/star/task/XInteractionPassword2.idl
new file mode 100644
index 000000000000..925f96f30e5a
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword2.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XInteractionPassword.idl,v $
+ * $Revision: 1.8 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionPassword2_idl__
+#define __com_sun_star_task_XInteractionPassword2_idl__
+
+#ifndef __com_sun_star_task_XInteractionPassword_idl__
+#include <com/sun/star/task/XInteractionPassword.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** A continuation to get a password from interaction helper, extends
+ <type>XInteractionPassword</type> 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
+
diff --git a/offapi/com/sun/star/task/XInteractionRequestStringResolver.idl b/offapi/com/sun/star/task/XInteractionRequestStringResolver.idl
new file mode 100644
index 000000000000..f41bbcbddb93
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionRequestStringResolver.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionRequestStringResolver_idl__
+#define __com_sun_star_task_XInteractionRequestStringResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Optional_idl__
+#include <com/sun/star/beans/Optional.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionRequest_idl__
+#include <com/sun/star/task/XInteractionRequest.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+
+/** Obtains human readable strings from an <type>XInteractionRequest</type>.
+ */
+/* 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
+ <type>XInteractionAbort</type> or <type>XInteractionApprove</type>
+
+ @param Request the interaction request for that the message shall
+ be obtained.
+
+ @returns the message string or an empty
+ <type scope="::com::sun::star::beans">Optional</type>.
+ */
+ com::sun::star::beans::Optional< string >
+ getStringFromInformationalRequest(
+ [in] com::sun::star::task::XInteractionRequest Request );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/task/XJob.idl b/offapi/com/sun/star/task/XJob.idl
new file mode 100644
index 000000000000..759d7ca223c1
--- /dev/null
+++ b/offapi/com/sun/star/task/XJob.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XJob_idl__
+#define __com_sun_star_task_XJob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** specifies a job which is to be executed synchronously
+
+ <p>
+ Instead of <type>XAsyncJob</type> the implementation of this interface
+ will be executed synchronously everytimes. That means: they can be shure 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 the <type>JobExecutor</type>
+ 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 successfully(!)</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 excutor about faild operation; otherwise the return value
+ indicates a successfull finishing.
+ */
+ any execute(
+ [in] sequence< com::sun::star::beans::NamedValue > Arguments )
+ raises( com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XJobExecutor.idl b/offapi/com/sun/star/task/XJobExecutor.idl
new file mode 100644
index 000000000000..d4ef207235e7
--- /dev/null
+++ b/offapi/com/sun/star/task/XJobExecutor.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XJobExecutor_idl__
+#define __com_sun_star_task_XJobExecutor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 JobExecutor
+ */
+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
+ automaticly, 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
+ */
+ [oneway] void trigger( [in] string Event );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XJobListener.idl b/offapi/com/sun/star/task/XJobListener.idl
new file mode 100644
index 000000000000..d4f27b69bd8f
--- /dev/null
+++ b/offapi/com/sun/star/task/XJobListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XJobListener_idl__
+#define __com_sun_star_task_XJobListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+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 the <type>JobExecutor</type>
+ can differ between more then ones.
+
+ @param Result
+ should be the same like for the synchronous mode on <member>XJob::execute()</member>.
+ It provides information about success or failure of job execution. It's possible too,
+ to use special protocol (which depends from real implementation) between
+ <type>JobExecutor</type> and a real job. So it can be possible to:
+
+ <ul>
+ <li>deregister the job</li>
+ <li>let him registered although execution was successfully(!)</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
diff --git a/offapi/com/sun/star/task/XMasterPasswordHandling.idl b/offapi/com/sun/star/task/XMasterPasswordHandling.idl
new file mode 100644
index 000000000000..bd0637210052
--- /dev/null
+++ b/offapi/com/sun/star/task/XMasterPasswordHandling.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XMasterPasswordHandling_idl__
+#define __com_sun_star_task_XMasterPasswordHandling_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+
+//=============================================================================
+
+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 interactin handler service
+ <type>InteractionHandler</type> 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
+ <type>InteractionHandler</type> 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
+
diff --git a/offapi/com/sun/star/task/XMasterPasswordHandling2.idl b/offapi/com/sun/star/task/XMasterPasswordHandling2.idl
new file mode 100644
index 000000000000..201ed9081cdb
--- /dev/null
+++ b/offapi/com/sun/star/task/XMasterPasswordHandling2.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XMasterPasswordHandling2_idl__
+#define __com_sun_star_task_XMasterPasswordHandling2_idl__
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_task_XMasterPasswordHandling_idl__
+#include <com/sun/star/task/XMasterPasswordHandling.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** allows to change the master password, or let it be requested and checked.
+*/
+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 nonencrypted. If a masterpassword 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
+
diff --git a/offapi/com/sun/star/task/XPasswordContainer.idl b/offapi/com/sun/star/task/XPasswordContainer.idl
new file mode 100644
index 000000000000..20aaf752a8e5
--- /dev/null
+++ b/offapi/com/sun/star/task/XPasswordContainer.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XPasswordContainer_idl__
+#define __com_sun_star_task_XPasswordContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_UrlRecord_idl__
+#include <com/sun/star/task/UrlRecord.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+
+//=============================================================================
+
+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 in to the container.
+
+ @param Url URL-pattern, that will be used later to retrieve
+ passwords.
+
+ @param UseName The username.
+
+ @param Passwords The password-list.
+
+ @param Handler The handler to get superpassword to en/decript passwords
+
+
+ */
+ void add( [in] string Url, [in] string UserName, [in] sequence<string> Passwords, [in] XInteractionHandler Handler );
+
+ //-------------------------------------------------------------------------
+ /** Save passwords in to the container, and store them in the file.
+
+ @param Url URL-pattern, that will be used later to retrieve
+ passwords.
+
+ @param UseName The username.
+
+ @param Passwords The password-list.
+
+ @param Handler The handler to get superpassword to en/decript 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 superpassword to en/decript 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 superpassword to en/decript 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
diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl
new file mode 100644
index 000000000000..102a1044d2e8
--- /dev/null
+++ b/offapi/com/sun/star/task/XRestartManager.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XRestartManager_idl__
+#define __com_sun_star_task_XRestartManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** allows to try to restart the office.
+
+ @since OOo3.3
+*/
+published interface XRestartManager : com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** let the office restart asynchronously
+ @param xInteractionHandler
+ the <type scope="com::sun::star::task">InteractionHandler</type>
+ 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
+
diff --git a/offapi/com/sun/star/task/XStatusIndicator.idl b/offapi/com/sun/star/task/XStatusIndicator.idl
new file mode 100644
index 000000000000..d3a222d51a36
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicator.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#define __com_sun_star_task_XStatusIndicator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>XStatusIndicatorFactory</type>.
+ </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 inidicator
+ (must be finished by calling <member>XStatusIndicator::end()</member>
+ 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 <member>XStatusIndicator::setText()</member>.
+
+ @param Range
+ mewns the maximum value of the progress which can be setted by
+ calling <member>XStatusIndicator::setValue()</member>.
+ */
+ [oneway] void start(
+ [in] string Text,
+ [in] long Range);
+
+ //-------------------------------------------------------------------------
+ /** stop the progress
+
+ <p>
+ Further calls of <member>XStatusIndicator::setText()</member>,
+ <member>XStatusIndicator::setValue()</member> or
+ <member>XStatusIndicator::reset()</member> must be ignored.
+ Only <member>XStatusIndicator::start()</member> 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>
+ */
+ [oneway] void end();
+
+ //-------------------------------------------------------------------------
+ /** update progress description
+
+ <p>
+ Initial value can be set during starting of the progress by calling
+ <member>XStatusIndicator::start()</member>.
+ Stopped indicators must ignore this call.
+ </p>
+
+ @param Text
+ new value for progress description which should be shown now
+ */
+ [oneway] void setText( [in] string Text );
+
+ //-------------------------------------------------------------------------
+ /** update progress value
+
+ <p>
+ Wrong values must be ignored and stopped indicators must ignore this
+ call generaly.
+ </p>
+
+ @param Value
+ new value for progress which should be shown now
+ Must fit the range [0..Range] which was set during
+ <member>XStatusIndicator::start()</member>.
+ */
+ [oneway] 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>
+ */
+ [oneway] void reset();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XStatusIndicatorFactory.idl b/offapi/com/sun/star/task/XStatusIndicatorFactory.idl
new file mode 100644
index 000000000000..b7f6b0ea62c1
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicatorFactory.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
+#define __com_sun_star_task_XStatusIndicatorFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+/** provides multiple, probably parallel running, status indicator objects
+
+ <p>
+ A possible factory is the <type scope="com::sun::star::frame">Frame</type>
+ 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
diff --git a/offapi/com/sun/star/task/XStatusIndicatorSupplier.idl b/offapi/com/sun/star/task/XStatusIndicatorSupplier.idl
new file mode 100644
index 000000000000..c7e8630e55eb
--- /dev/null
+++ b/offapi/com/sun/star/task/XStatusIndicatorSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XStatusIndicatorSupplier_idl__
+#define __com_sun_star_task_XStatusIndicatorSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module task {
+
+//=============================================================================
+/** use <type>XStatusIndicatorFactory</type> instead of this
+
+ @deprecated
+ */
+published interface XStatusIndicatorSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use <member>XStatusIndicatorFactory::createStatusIndicator()</member>
+ instead of this
+
+ @deprecated
+ */
+ com::sun::star::task::XStatusIndicator getStatusIndicator();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/XUrlContainer.idl b/offapi/com/sun/star/task/XUrlContainer.idl
new file mode 100644
index 000000000000..ac55107c67f0
--- /dev/null
+++ b/offapi/com/sun/star/task/XUrlContainer.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XUrlContainer_idl__
+#define __com_sun_star_task_XUrlContainer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+
+//=============================================================================
+
+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 taht are stored persistently shall
+ be returned.
+ @returns List of URLs.
+ */
+ sequence<string> getUrls( [in] boolean OnlyPersistent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk
new file mode 100644
index 000000000000..cd9db6b5a738
--- /dev/null
+++ b/offapi/com/sun/star/task/makefile.mk
@@ -0,0 +1,91 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+# Copyright IBM Corporation 2009.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csstask
+PACKAGE=com$/sun$/star$/task
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ClassifiedInteractionRequest.idl\
+ DocumentMacroConfirmationRequest.idl\
+ DocumentPasswordRequest.idl\
+ DocumentPasswordRequest2.idl\
+ DocumentMSPasswordRequest.idl\
+ DocumentMSPasswordRequest2.idl\
+ ErrorCodeRequest.idl\
+ ErrorCodeIOException.idl\
+ FutureDocumentVersionProductUpdateRequest.idl\
+ InteractionClassification.idl\
+ InteractionHandler.idl\
+ JobExecutor.idl\
+ Job.idl\
+ AsyncJob.idl\
+ MasterPasswordRequest.idl\
+ NoMasterException.idl\
+ PasswordContainer.idl\
+ PasswordContainerInteractionHandler.idl\
+ PasswordRequest.idl\
+ PasswordRequestMode.idl\
+ PDFExportException.idl\
+ OfficeRestartManager.idl\
+ UnsupportedOverwriteRequest.idl\
+ UrlRecord.idl\
+ UserRecord.idl\
+ XAsyncJob.idl\
+ XInteractionApprove.idl\
+ XInteractionAskLater.idl\
+ XInteractionDisapprove.idl\
+ XInteractionPassword.idl\
+ XInteractionPassword2.idl\
+ XJob.idl\
+ XJobExecutor.idl\
+ XJobListener.idl\
+ XMasterPasswordHandling.idl\
+ XMasterPasswordHandling2.idl\
+ XPasswordContainer.idl\
+ XRestartManager.idl\
+ XStatusIndicator.idl\
+ XStatusIndicatorFactory.idl\
+ XStatusIndicatorSupplier.idl\
+ XAbortChannel.idl\
+ XInteractionRequestStringResolver.idl\
+ InteractionRequestStringResolver.idl\
+ XUrlContainer.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/text/AccessibleEndnoteView.idl b/offapi/com/sun/star/text/AccessibleEndnoteView.idl
new file mode 100644
index 000000000000..c242c3c806e1
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleEndnoteView.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleEndnoteView_idl__
+#define __com_sun_star_text_AccessibleEndnoteView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of endnotes.
+ @since OOo 1.1.2
+ */
+published service AccessibleEndnoteView
+{
+ /** This interface gives access to any paragraph fragment and table
+ fragment that is contained in a endnote and is at least
+ partially visible on the screen.
+
+ <ul>
+ <li>The parent returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children returns
+ an object that supports one of the following services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>:
+ 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::ENDNOTE</const>
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that the
+ document window has been closed or the endnote is
+ not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleFootnoteView.idl b/offapi/com/sun/star/text/AccessibleFootnoteView.idl
new file mode 100644
index 000000000000..06f0f02aaba0
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleFootnoteView.idl
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleFootnoteView_idl__
+#define __com_sun_star_text_AccessibleFootnoteView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of footnotes.
+
+ @since OOo 1.1.2
+
+ */
+published 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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ 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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children returns
+ an object that supports one of the following services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>:
+ 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::FOOTNOTE</const>
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleStateSet</type>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the footnote is
+ not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleHeaderFooterView.idl b/offapi/com/sun/star/text/AccessibleHeaderFooterView.idl
new file mode 100644
index 000000000000..5e2252352ed9
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleHeaderFooterView.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleHeaderFooterView_idl__
+#define __com_sun_star_text_AccessibleHeaderFooterView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of headers and footers.
+
+ @since OOo 1.1.2
+
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method>
+ 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children returns
+ an object that supports one of the following services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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 paragarph (and not a fragment only),
+ because there are no page breaks within headers and
+ footers.
+ <li><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>:
+ 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
+ <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::HEADER</const> or
+ <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::FOOTER</const>.
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleStateSet</type>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the header or
+ footer is not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessiblePageView.idl b/offapi/com/sun/star/text/AccessiblePageView.idl
new file mode 100644
index 000000000000..8b05d62b1ce2
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessiblePageView.idl
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleEndnoteView_idl__
+#define __com_sun_star_text_AccessibleEndnoteView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of pagees.
+
+
+ @since OOo 1.1.2
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method> is the
+ accessible page preview of a text document. That is, the
+ object returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> supports
+ <type scope="::com::sun::star::text"
+ >AccessibleTextDocumentPageView</type>.
+ <li>The children returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all
+ support the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these
+ children returns an object that supports one of the
+ following services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleHeaderFooterView</type>:
+ A child of this kind is returned for every header
+ and footer that is conatined in the page.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleFootnoteView</type>:
+ A child of this kind is returned for every footnote
+ that is conatined in the page.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleEndnoteView</type>:
+ A child of this kind is returned for every endnote
+ that is conatined in the page.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>:
+ 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><type scope="::com::sun::star::text"
+ >AccessibleTextFrameView</type>:
+ A child of this kind is returned for every text
+ frame that is conrtained in the page. These objects
+ are children of the <type>AccessiblePageView</type>
+ regardless whether they are bound to the page, a
+ paragarph, a frame, or a character. The only
+ exception are text frames that are bound as
+ character. They are childen of the paragraph they
+ are contained in.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleTextGraphicObject</type>:
+ A child of this kind is returned for every graphic that
+ is contained in the page. These objects are
+ children of the <type>AccessiblePageView</type>
+ 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
+ childen of the paragraph they are contained in.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleTextEmbeddedObject</type>:
+ A child of this kind is returned for every embedded
+ object that is conatained in the page.
+ These objects are children of the
+ <type>AccessibleTextDocumentView</type> regardless
+ whether they are bound to a page, a paragarph, a frame,
+ or a character. They are childen of the paragraph they
+ are contained in.
+ <li><type scope="::com::sun::star::drawing"
+ >AccessibleShape</type>:
+ 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 <type>AccessibleTextDocumentView</type>
+ 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::PANEL</const>
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the endnote
+ is not existing any longer)</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)</li>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleParagraphView.idl b/offapi/com/sun/star/text/AccessibleParagraphView.idl
new file mode 100644
index 000000000000..431882d7c4d2
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleParagraphView.idl
@@ -0,0 +1,212 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleParagraphView_idl__
+#define __com_sun_star_text_AccessibleParagraphView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+#include <com/sun/star/accessibility/XAccessibleTextAttributes.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of a paragraph fragment.
+
+
+ @since OOo 1.1.2
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method> 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> 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
+ <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::PARAGRAPH</const> or
+ <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::HEADING</const>. 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
+ <type scope="::com::sun::star::accessibility"
+ >XAccessibleStateSet</type> returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>.
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the paragraph
+ fragment is not existing any longer).
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTILINE</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTISELECTABLE</const>
+ (always contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const>
+ </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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleText::getCharacterAttributes</method>
+ are a sub set of the properties described by the service
+ <type scope="::com::sun::star::style">CharacterProperties</type>. 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. Its not possible to change the value of any property
+ by using
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleEditableText::setAttributes</method>.
+ <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
+ <type scope="::com::sun::star::accessibility"
+ >XAccessibleEditableText</type> 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleText::getCharacterAttributes</method> are a sub set of the properties
+ described by the service
+ <type scope="::com::sun::star::style">CharacterProperties</type>. 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
diff --git a/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl b/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl
new file mode 100644
index 000000000000..1f85b2cc9a77
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextDocumentPageView.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleTextDocumentPageView_idl__
+#define __com_sun_star_text_AccessibleTextDocumentPageView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible page preview of a text document.
+
+ @since OOo 1.1.2
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</type> all support
+ the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</type> for these children
+ returns an object that supports one of the service
+ <type scope="::com::sun::star::text"
+ >AccessiblePageView</type>.
+ <li>The role is <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::DOCUMENT</const>.
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleTextDocumentView.idl b/offapi/com/sun/star/text/AccessibleTextDocumentView.idl
new file mode 100644
index 000000000000..d3a06d098579
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextDocumentView.idl
@@ -0,0 +1,218 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleTextDocumentView_idl__
+#define __com_sun_star_text_AccessibleTextDocumentView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of a text document.
+
+ @since OOo 1.1.2
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method> all support
+ the interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</method> for these children
+ returns an object that supports one of the following
+ services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleHeaderFooterView</type>:
+ A child of this kind is returned for every header
+ and footer that is at least partially visible.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleFootnoteView</type>:
+ A child of this kind is returned for every footnote
+ that is at least partially visible.
+ <li><type scoep="::com::sun::star::text"
+ >AccessibleEndnoteView</type>:
+ A child of this kind is returned for every endnote
+ that is at least partially visible.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>:
+ 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><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>:
+ 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><type scope="::com::sun::star::text"
+ >AccessibleTextFrameView</type>: A child of this
+ kind is returned for every text frame that is at
+ least partially visible. These objects are children
+ of the
+ <type>AccessibleTextDocumentView</type> regardless
+ whether they are bound to a page, a paragarph, a
+ frame, or a character. The only exception are text
+ frames that are bound as character. They are childen
+ of the paragraph they are contained in.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleTextGraphicObject</type>:
+ A child of this kind is returned for every graphic that
+ is at least partially visible. These objects are
+ children of the <type>AccessibleTextDocumentView</type>
+ 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
+ childen of the paragraph they are contained in.
+ <li><type scope="::com::sun::star::text"
+ >AccessibleTextEmbeddedObject</type>:
+ A child of this kind is returned for every embedded
+ object that is at least partially visible.
+ These objects are children of the
+ <type>AccessibleTextDocumentView</type> regardless
+ whether they are bound to a page, a paragarph, a frame,
+ or a character. They are childen of the paragraph they
+ are contained in.
+ <li><type scope="::com::sun::star::drawing"
+ >AccessibleShape</type>: 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
+ <type>AccessibleTextDocumentView</type> 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::DOCUMENT</const>.
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::MULTI_SELECTABLE</const>
+ (always contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl b/offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl
new file mode 100644
index 000000000000..3053acea669d
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextEmbeddedObject.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleTextEmbeddedObjectView_idl__
+#define __com_sun_star_text_AccessibleTextEmbeddedObjectView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleImage_idl__
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+
+//=============================================================================
+
+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 ovject is deactivated.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTextEmbeddedObject
+{
+ /** This interface comprises the basic accessibility of embedded objects.
+
+ <ul>
+ <li>The parent returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method> 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>. See above.
+ <li>The role is <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::EMBEDDED_OBJECT</const>
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleTextFrameView.idl b/offapi/com/sun/star/text/AccessibleTextFrameView.idl
new file mode 100644
index 000000000000..a11fef5a4f19
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextFrameView.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleTextFrameView_idl__
+#define __com_sun_star_text_AccessibleTextFrameView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of text frames.
+
+ @since OOo 1.1.2
+ */
+published 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</type> 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
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</type> all support the
+ interface XAccessible. Calling
+ <method scope="::com::sun::star::accessibility"
+ >XAccessible::getAccessibleContext</type> for these children
+ returns an object that supports one of the following
+ services.
+ <ul>
+ <li><type scope="::com::sun::star::text"
+ >AccessibleParagraphView</type>: 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><type scope="::com::sun::star::table"
+ >AccessibleTableView</type>: 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 <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::TEXT_FRAME</const>
+ <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 <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleStateSet</method>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl b/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl
new file mode 100644
index 000000000000..b9ee6ce4b199
--- /dev/null
+++ b/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AccessibleTextGraphicObjectView_idl__
+#define __com_sun_star_text_AccessibleTextGraphicObjectView_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleImage_idl__
+#include <com/sun/star/accessibility/XAccessibleImage.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The accessible view of graphics.
+
+ @since OOo 1.1.2
+ */
+published service AccessibleTextGraphicObject
+{
+ /** This interface comprises the basic accessibility of text graphics.
+
+ <ul>
+ <li>The parent returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleParent</method> 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 chidren returned by
+ <method scope="::com::sun::star::accessibility"
+ >XAccessibleContext::getAccessibleChild</method>.
+ <li>The role is <const scope="::com::sun::star::accessibility"
+ >AccessibleRole::GRAPHIC</const>
+ <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 <method scope="::com::sun::star::accessibility
+ ">XAccessibleContext::getAccessibleStateSet</type>:
+ <ul>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::DEFUNC</const> (indicates that
+ the document window has been closed or the graphic
+ is not existing any longer)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::EDITABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::ENABLED</const> (always
+ contained)
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::OPAQUE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SELECTED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSABLE</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::FOCUSED</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::SHOWING</const>
+ <li><const scope="::com::sun::star::accessibility"
+ >AccessibleStateType::VISIBLE</const>
+ </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
diff --git a/offapi/com/sun/star/text/AdvancedTextDocument.idl b/offapi/com/sun/star/text/AdvancedTextDocument.idl
new file mode 100644
index 000000000000..b45c8998e419
--- /dev/null
+++ b/offapi/com/sun/star/text/AdvancedTextDocument.idl
@@ -0,0 +1,162 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AdvancedTextDocument_idl__
+#define __com_sun_star_text_AdvancedTextDocument_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_text_HypertextDocument_idl__
+#include <com/sun/star/text/HypertextDocument.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFootnotesSupplier_idl__
+#include <com/sun/star/text/XFootnotesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XEndnotesSupplier_idl__
+#include <com/sun/star/text/XEndnotesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#include <com/sun/star/util/XReplaceable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XPagePrintable_idl__
+#include <com/sun/star/text/XPagePrintable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XReferenceMarksSupplier_idl__
+#include <com/sun/star/text/XReferenceMarksSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XLineNumberingSupplier_idl__
+#include <com/sun/star/text/XLineNumberingSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XChapterNumberingSupplier_idl__
+#include <com/sun/star/text/XChapterNumberingSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::AdvancedTextDocument
+/** An advanced text document is an extension of a hypertext document
+ which can also contain text-frames, foot- and endnotes, and some
+ other advanced contents.
+
+ @deprecated
+ use <type>TextDocument</type> instead.
+ */
+published service AdvancedTextDocument
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::HypertextDocument;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XFootnotesSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XEndnotesSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::util::XReplaceable;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XPagePrintable;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XReferenceMarksSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XLineNumberingSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XChapterNumberingSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::AdvancedTextDocument::CharLocale
+ /** contains the identifier of the default locale of the document.
+ */
+ [property] com::sun::star::lang::Locale CharLocale;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::AdvancedTextDocument::CharacterCount
+ /** contains the count of all characters in the document.
+ */
+ [readonly, property] long CharacterCount;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::AdvancedTextDocument::ParagraphCount
+ /** contains the count of all paragraphs in the document.
+ */
+ [readonly, property] long ParagraphCount;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::AdvancedTextDocument::WordCount
+ /** contains the count of all words in the document.@see WordSeparator
+ */
+ [readonly, property] long WordCount;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::AdvancedTextDocument::WordSeparator
+ /** 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. Whitespaces (tab stop,
+ space, paragraph break, or line break) always separate
+ words.</p>@see WordCount
+ */
+ [property] string WordSeparator;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/AuthorDisplayFormat.idl b/offapi/com/sun/star/text/AuthorDisplayFormat.idl
new file mode 100644
index 000000000000..a58b13c38735
--- /dev/null
+++ b/offapi/com/sun/star/text/AuthorDisplayFormat.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/AutoTextContainer.idl b/offapi/com/sun/star/text/AutoTextContainer.idl
new file mode 100644
index 000000000000..e9ef091ff59c
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextContainer.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AutoTextContainer_idl__
+#define __com_sun_star_text_AutoTextContainer_idl__
+
+#ifndef __com_sun_star_text_XAutoTextContainer_idl__
+#include <com/sun/star/text/XAutoTextContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::AutoTextContainer
+/** provides access to groups of text blocks.
+ */
+published service AutoTextContainer
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XAutoTextContainer;
+
+ [optional] interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/AutoTextEntry.idl b/offapi/com/sun/star/text/AutoTextEntry.idl
new file mode 100644
index 000000000000..2bed15210757
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextEntry.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AutoTextEntry_idl__
+#define __com_sun_star_text_AutoTextEntry_idl__
+
+#ifndef __com_sun_star_text_XAutoTextEntry_idl__
+#include <com/sun/star/text/XAutoTextEntry.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::AutoTextEntry
+/** provides access to a text block in a group of
+ an <type>AutoTextContainer</type>.
+ @see com::sun::star::text::AutoTextContainer
+ @see com::sun::star::text::AutoTextGroup
+ */
+published service AutoTextEntry
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XAutoTextEntry;
+
+
+ // DocMerge from xml: service com::sun::star::text::AutoTextEntry: interface com::sun::star::text::XText
+ /** provides access to the <type>Text</type> of this entry.
+ */
+ interface com::sun::star::text::XText;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/AutoTextGroup.idl b/offapi/com/sun/star/text/AutoTextGroup.idl
new file mode 100644
index 000000000000..1094649bfbb1
--- /dev/null
+++ b/offapi/com/sun/star/text/AutoTextGroup.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_AutoTextGroup_idl__
+#define __com_sun_star_text_AutoTextGroup_idl__
+
+#ifndef __com_sun_star_text_XAutoTextGroup_idl__
+#include <com/sun/star/text/XAutoTextGroup.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::AutoTextGroup
+/** provides access to text blocks in a group.@see com::sun::star::text::AutoTextContainer
+ */
+published service AutoTextGroup
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XAutoTextGroup;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexAccess;
+
+
+ // DocMerge from xml: service com::sun::star::text::AutoTextGroup: interface com::sun::star::container::XNamed
+ /** provides access to the name of the group.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/BaseFrame.idl b/offapi/com/sun/star/text/BaseFrame.idl
new file mode 100644
index 000000000000..8864cfb14654
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseFrame.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BaseFrame_idl__
+#define __com_sun_star_text_BaseFrame_idl__
+
+#ifndef __com_sun_star_text_BaseFrameProperties_idl__
+#include <com/sun/star/text/BaseFrameProperties.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_XShape_idl__
+#include <com/sun/star/drawing/XShape.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member>XTextFrame::getAnchor()</member>]. 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
diff --git a/offapi/com/sun/star/text/BaseFrameProperties.idl b/offapi/com/sun/star/text/BaseFrameProperties.idl
new file mode 100644
index 000000000000..e6ede2e36349
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseFrameProperties.idl
@@ -0,0 +1,380 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BaseFrameProperties_idl__
+#define __com_sun_star_text_BaseFrameProperties_idl__
+
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+#ifndef __com_sun_star_text_WrapTextMode_idl__
+#include <com/sun/star/text/WrapTextMode.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <const>TextContentAnchorType::AT_PAGE</const>.</p>
+ */
+ [property] short AnchorPageNo;
+ //-------------------------------------------------------------------------
+ /** contains the text frame the current frame is anchored to.
+ <p> The value is valid only if the
+ AnchorType is <const>TextContentAnchorType::AT_FRAME</const>.</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.
+ */
+ [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 <member>TextEmbeddedObject::RelativeHeight</member> is zero.</p>
+ */
+ [property] long Height;
+
+ //-------------------------------------------------------------------------
+ /** contains the width of the object (1/100 mm).
+ <p>It is only valid if <member>TextEmbeddedObject::RelativeWidth</member> 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;
+ //-------------------------------------------------------------------------
+ /** determins whether the width follows the height.
+ */
+ [property] boolean IsSyncWidthToHeight;
+ //-------------------------------------------------------------------------
+ /** determins 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 <member>TextEmbeddedObject::VertOrient</member> is
+ <const>VertOrientation::NONE</const>.
+ */
+ [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 <member>WrapInfluenceOnPosition</member></p>
+
+ @since OOo 2.0.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 a 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/BaseIndex.idl b/offapi/com/sun/star/text/BaseIndex.idl
new file mode 100644
index 000000000000..0b40ec0e17f4
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseIndex.idl
@@ -0,0 +1,188 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_text_BaseIndex_idl__
+#define __com_sun_star_text_BaseIndex_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndex_idl__
+#include <com/sun/star/text/XDocumentIndex.idl>
+#endif
+#ifndef _com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+#ifndef _com_sun_star_text_XTextColumns_idl__
+#include <com/sun/star/text/XTextColumns.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef _com_sun_star_text_XTextSection_idl__
+#include <com/sun/star/text/XTextSection.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::BaseIndex
+/** 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::IllustrationIndex
+ @see com::sun::star::text::TableIndex
+ @see com::sun::star::text::ObjectIndex
+ */
+published service BaseIndex
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XDocumentIndex;
+
+ //-------------------------------------------------------------------------
+ /** contains the title of the index.*/
+
+ // DocMerge: empty anyway
+ [property] string Title;
+ /** determins if the index is protected.*/
+
+ // DocMerge: empty anyway
+ [property] boolean IsProtected;
+ /** contains the name of the paragraph style that is applied to the heading.*/
+
+ // DocMerge: empty anyway
+ [property] string ParaStyleHeading;
+ /** contains the name of the paragraph style that is applied to the 1st level.*/
+
+ // DocMerge: empty anyway
+ [property] string ParaStyleLevel1;
+ /** contains the name of the paragraph style that is applied to the 2nd level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel2;
+ /** contains the name of the paragraph style that is applied to the 3rd level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel3;
+ /** contains the name of the paragraph style that is applied to the 4th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel4;
+ /** contains the name of the paragraph style that is applied to the 5th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel5;
+ /** contains the name of the paragraph style that is applied to the 6th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel6;
+ /** contains the name of the paragraph style that is applied to the 7th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel7;
+ /** contains the name of the paragraph style that is applied to the 8th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel8;
+ /** contains the name of the paragraph style that is applied to the 9th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel9;
+ /** contains the name of the paragraph style that is applied to the 10th level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleLevel10;
+ /** contains the name of the paragraph style that is applied to the separator level.*/
+
+ // DocMerge: empty anyway
+ [optional, property] string ParaStyleSeparator;
+ /** contains the column interface.*/
+
+ // DocMerge: empty anyway
+ [property] XTextColumns TextColumns;
+ /** contains the URL of a graphic file that is displayed as background graphic*/
+
+ // DocMerge: empty anyway
+ [property] string BackGraphicURL;
+ /** contains the name of the filter of the graphic file that is
+ displayed as background graphic*/
+
+ // DocMerge: empty anyway
+ [property] string BackGraphicFilter;
+
+ // DocMerge from xml: property com::sun::star::text::BaseIndex::BackGraphicLocation
+ /** determines the position of the background graphic.@see GraphicLocation
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ // DocMerge from xml: property com::sun::star::text::BaseIndex::BackTransparent
+ /** 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
+ */
+ // DocMerge: empty anyway
+ [optional, property] com::sun::star::container::XIndexReplace LevelFormat;
+ /** determins 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;
+ //------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/text/BaseIndexMark.idl b/offapi/com/sun/star/text/BaseIndexMark.idl
new file mode 100644
index 000000000000..97632664ae27
--- /dev/null
+++ b/offapi/com/sun/star/text/BaseIndexMark.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BaseIndexMark_idl__
+#define __com_sun_star_text_BaseIndexMark_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** is a <type>TextRange</type> which is explicitly marked
+ as an index entry. This is the base service of index marks for <type>DocumentIndex</type>,
+ <type>ContentIndex</type>, and <type>UserIndex</type>.
+ */
+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
+
+
diff --git a/offapi/com/sun/star/text/Bibliography.idl b/offapi/com/sun/star/text/Bibliography.idl
new file mode 100644
index 000000000000..bf13309bfd67
--- /dev/null
+++ b/offapi/com/sun/star/text/Bibliography.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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 {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::Bibliography
+/** specifies service of bibliography within a text document.@see com::sun::star::text::BaseIndex
+ */
+published service Bibliography
+{
+ // DocMerge: empty anyway
+ 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
+
diff --git a/offapi/com/sun/star/text/BibliographyDataField.idl b/offapi/com/sun/star/text/BibliographyDataField.idl
new file mode 100644
index 000000000000..cdd650a78079
--- /dev/null
+++ b/offapi/com/sun/star/text/BibliographyDataField.idl
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BibliographyDataField_idl__
+#define __com_sun_star_text_BibliographyDataField_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::BibliographyDataField
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::IDENTIFIER
+ /** This field contains a unique identifier for the bibliographic data.
+ */
+ const short IDENTIFIER = 0;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::BIBILIOGRAPHIC_TYPE
+ /** This field contains the type of the bibliographic reference. It is of the
+ type BibliographyDataType.
+ @see BibliographyDataType
+ */
+ const short BIBILIOGRAPHIC_TYPE = 1;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::ADDRESS
+ /** This field contains the address of the publisher.
+ */
+ const short ADDRESS = 2;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::ANNOTE
+ /** This field contains an annotation.
+ */
+ const short ANNOTE = 3;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::AUTHOR
+ /** This field contains the name(s) of the author(s)
+ */
+ const short AUTHOR = 4;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::BOOKTITLE
+ /** This field contains the title of the book.
+ */
+ const short BOOKTITLE = 5;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CHAPTER
+ /** This field contains the name or number of the chapter.
+ */
+ const short CHAPTER = 6;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::EDITION
+ /** This field contains the number or name of the edition.
+ */
+ const short EDITION = 7;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::EDITOR
+ /** This field contains the name(s) of the editor(s)
+ */
+ const short EDITOR = 8;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::HOWPUBLISHED
+ /** This field contains a description of the type of the publishing.
+ */
+ const short HOWPUBLISHED = 9;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::INSTITUTION
+ /** This field contains the name of the institution where the publishing was created.
+ */
+ const short INSTITUTION = 10;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::JOURNAL
+ /** This field contains the name of the journal.
+ */
+ const short JOURNAL = 11;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::MONTH
+ /** This field contains number or name of the month of the publishing.
+ */
+ const short MONTH = 12;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::NOTE
+ /** This field contains a note.
+ */
+ const short NOTE = 13;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::NUMBER
+ /** This field contains the number of the publishing.
+ */
+ const short NUMBER = 14;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::ORGANIZATIONS
+ /** This field contains the name of the organizations where the publishing was created.
+ */
+ const short ORGANIZATIONS = 15;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::PAGES
+ /** This field contains the number(s) of the page(s) of the reference into a publishing.
+ */
+ const short PAGES = 16;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::PUBLISHER
+ /** This field contains the name of the publisher.
+ */
+ const short PUBLISHER = 17;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::SCHOOL
+ /** This field contains the name of the university or school where the publishing was created.
+ */
+ const short SCHOOL = 18;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::SERIES
+ /** This field contains the series of the publishing.
+ */
+ const short SERIES = 19;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::TITLE
+ /** This field contains the title of the publishing.
+ */
+ const short TITLE = 20;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::REPORT_TYPE
+ /** This field contains a description of the type of the report.
+ */
+ const short REPORT_TYPE = 21;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::VOLUME
+ /** This field contains the volume of the publishing.
+ */
+ const short VOLUME = 22;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::YEAR
+ /** This field contains the year when the publishing was created.
+ */
+ const short YEAR = 23;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::URL
+ /** This field contains URL of the publishing.
+ */
+ const short URL = 24;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CUSTOM1
+ /** This field contains user defined data.
+ */
+ const short CUSTOM1 = 25;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CUSTOM2
+ /** This field contains user defined data.
+ */
+ const short CUSTOM2 = 26;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CUSTOM3
+ /** This field contains user defined data.
+ */
+ const short CUSTOM3 = 27;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CUSTOM4
+ /** This field contains user defined data.
+ */
+ const short CUSTOM4 = 28;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::CUSTOM5
+ /** This field contains user defined data.
+ */
+ const short CUSTOM5 = 29;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataField::ISBN
+ /** This field contains the ISBN data of the publishing.
+ */
+ const short ISBN = 30;
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/text/BibliographyDataType.idl b/offapi/com/sun/star/text/BibliographyDataType.idl
new file mode 100644
index 000000000000..072e8910b44b
--- /dev/null
+++ b/offapi/com/sun/star/text/BibliographyDataType.idl
@@ -0,0 +1,157 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BibliographyDataType_idl__
+#define __com_sun_star_text_BibliographyDataType_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::BibliographyDataType
+/** These values define the type of bibliographic data like book, journal, magazine, etc.
+ */
+published constants BibliographyDataType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::ARTICLE
+ /** An article from a journal or magazine.
+ */
+ const short ARTICLE = 0;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::BOOK
+ /** A book with an explicit publisher.
+ */
+ const short BOOK = 1;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::BOOKLET
+ /** A work that is printed and bound, but without a named publisher or sponsoring institution.
+ */
+ const short BOOKLET = 2;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CONFERENCE
+ /** 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;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::INBOOK
+ /** A part of a book, which may be a chapter and/or a range of pages.
+ */
+ const short INBOOK = 4;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::INCOLLECTION
+ /** A part of a book with its own title.
+ */
+ const short INCOLLECTION = 5;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::INPROCEEDINGS
+ /** An article in the proceedings of a conference.
+ */
+ const short INPROCEEDINGS = 6;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::JOURNAL
+ /** A journal or magazine.
+ */
+ const short JOURNAL = 7;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::MANUAL
+ /** Technical documentation.
+ */
+ const short MANUAL = 8;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::MASTERSTHESIS
+ /** A Master's thesis.
+ */
+ const short MASTERSTHESIS = 9;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::MISC
+ /** This type is used when nothing else seems appropriate.
+ */
+ const short MISC = 10;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::PHDTHESIS
+ /** A PhD thesis.
+ */
+ const short PHDTHESIS = 11;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::PROCEEDINGS
+ /** The proceedings of a conference.
+ */
+ const short PROCEEDINGS = 12;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::TECHREPORT
+ /** A report published by a school or other institution, usually numbered within a series.
+ */
+ const short TECHREPORT = 13;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::UNPUBLISHED
+ /** A document with an author and title, but not formally published.
+ */
+ const short UNPUBLISHED = 14;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::EMAIL
+ /** An eMail document
+ */
+ const short EMAIL = 15;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::WWW
+ /** A Web document
+ */
+ const short WWW = 16;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CUSTOM1
+ /** A user defined document type
+ */
+ const short CUSTOM1 = 17;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CUSTOM2
+ /** A user defined document type
+ */
+ const short CUSTOM2 = 18;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CUSTOM3
+ /** A user defined document type
+ */
+ const short CUSTOM3 = 19;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CUSTOM4
+ /** A user defined document type
+ */
+ const short CUSTOM4 = 20;
+
+ // DocMerge from idl: value com::sun::star::text::BibliographyDataType::CUSTOM5
+ /** A user defined document type
+ */
+ const short CUSTOM5 = 21;
+};
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Bookmark.idl b/offapi/com/sun/star/text/Bookmark.idl
new file mode 100644
index 000000000000..d0e2f26db724
--- /dev/null
+++ b/offapi/com/sun/star/text/Bookmark.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Bookmark_idl__
+#define __com_sun_star_text_Bookmark_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::Bookmark
+/** A bookmark is a <type>TextContent</type>, which is like a jump
+ target or a label.
+ */
+published service Bookmark
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextContent;
+
+
+ // DocMerge from xml: service com::sun::star::text::Bookmark: interface com::sun::star::container::XNamed
+ /** This interface specifies the name of the bookmark.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Bookmarks.idl b/offapi/com/sun/star/text/Bookmarks.idl
new file mode 100644
index 000000000000..537133ca68be
--- /dev/null
+++ b/offapi/com/sun/star/text/Bookmarks.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Bookmarks_idl__
+#define __com_sun_star_text_Bookmarks_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::Bookmarks
+/** This service specifies a collection of <type>Bookmark</type>s.
+ */
+published service Bookmarks
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::Bookmarks: interface com::sun::star::container::XNameAccess
+ /** makes it possible to access the bookmarks by their names.
+
+ <p>All contents support the service <type>Bookmark</type>.
+ */
+ interface com::sun::star::container::XNameAccess;
+ /** makes it possible to access the bookmarks by their index.
+
+ <p>All contents support the service <type>Bookmark</type>.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Cell.idl b/offapi/com/sun/star/text/Cell.idl
new file mode 100644
index 000000000000..7669f10afa34
--- /dev/null
+++ b/offapi/com/sun/star/text/Cell.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_Cell_idl__
+#define __com_sun_star_text_Cell_idl__
+
+#ifndef __com_sun_star_text_CellProperties_idl__
+#include <com/sun/star/text/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#include <com/sun/star/table/CellProperties.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** represents a singe 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 availbale in the
+ service
+ <type scope="com::sun::star::text">CellProperties</type>,
+ 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.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
+
diff --git a/offapi/com/sun/star/text/CellProperties.idl b/offapi/com/sun/star/text/CellProperties.idl
new file mode 100644
index 000000000000..e108f96c3cf5
--- /dev/null
+++ b/offapi/com/sun/star/text/CellProperties.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_CellProperties_idl__
+#define __com_sun_star_text_CellProperties_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextSection_idl__
+#include <com/sun/star/text/XTextSection.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ 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.
+ */
+ [property] string BackGraphicURL;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the graphic filter of the background graphic.
+ */
+ [property] string BackGraphicFilter;
+
+ //-------------------------------------------------------------------------
+ /** determins the position of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ //-------------------------------------------------------------------------
+ /** contains the number format.
+ */
+ [property] long NumberFormat;
+
+ //-------------------------------------------------------------------------
+ /** determins 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;
+
+ //-------------------------------------------------------------------------
+ /** determins 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/text/CellRange.idl b/offapi/com/sun/star/text/CellRange.idl
new file mode 100644
index 000000000000..b16e88e211a6
--- /dev/null
+++ b/offapi/com/sun/star/text/CellRange.idl
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_CellRange_idl__
+#define __com_sun_star_text_CellRange_idl__
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterProperties_Complex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ //-----------------------------------------------------------------------------
+
+ /** determins the location of the background graphic.
+ */
+ [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
+
+ //-----------------------------------------------------------------------------
+
+ /** contains the URL of the background graphic.
+ */
+ [property] string BackGraphicURL;
+
+ //-----------------------------------------------------------------------------
+
+ /** determins if the background color is transparent.
+ */
+ [property] boolean BackTransparent;
+
+ //-----------------------------------------------------------------------------
+
+ /** determins if the first column of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartColumnAsLabel;
+
+ //-----------------------------------------------------------------------------
+
+ /** determins 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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/ChainedTextFrame.idl b/offapi/com/sun/star/text/ChainedTextFrame.idl
new file mode 100644
index 000000000000..2fea57dcb5c8
--- /dev/null
+++ b/offapi/com/sun/star/text/ChainedTextFrame.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ChainedTextFrame_idl__
+#define __com_sun_star_text_ChainedTextFrame_idl__
+
+#ifndef __com_sun_star_text_TextFrame_idl__
+#include <com/sun/star/text/TextFrame.idl>
+#endif
+
+#ifndef __com_sun_star_util_XChainable_idl__
+#include <com/sun/star/util/XChainable.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** extends a <type>TextFrame</type> which shares the same <type>Text</type>
+ with other <type>ChainedTextFrame</type> 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
diff --git a/offapi/com/sun/star/text/ChapterFormat.idl b/offapi/com/sun/star/text/ChapterFormat.idl
new file mode 100644
index 000000000000..2385d25ae402
--- /dev/null
+++ b/offapi/com/sun/star/text/ChapterFormat.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ChapterFormat_idl__
+#define __com_sun_star_text_ChapterFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::ChapterFormat
+/** These constants define the display format of the chapter number in a
+ chapter text field.
+ */
+published constants ChapterFormat
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ChapterFormat::NAME
+ /** The title of the chapter is displayed.
+ */
+ const short NAME = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ChapterFormat::NUMBER
+ /** The number including prefix and suffix of the chapter is displayed.
+ */
+ const short NUMBER = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ChapterFormat::NAME_NUMBER
+ /** The title and number including prefix and suffix of the chapter are displayed.
+ */
+ const short NAME_NUMBER = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ChapterFormat::NO_PREFIX_SUFFIX
+ /** The name and number of the chapter are displayed.
+ */
+ const short NO_PREFIX_SUFFIX = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ChapterFormat::DIGIT
+ /** The number of the chapter is displayed.
+ */
+ const short DIGIT = 4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/ChapterNumberingRule.idl b/offapi/com/sun/star/text/ChapterNumberingRule.idl
new file mode 100644
index 000000000000..1fac8ee733d5
--- /dev/null
+++ b/offapi/com/sun/star/text/ChapterNumberingRule.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ChapterNumberingRule_idl__
+#define __com_sun_star_text_ChapterNumberingRule_idl__
+
+#ifndef __com_sun_star_style_NumberingRule_idl__
+#include <com/sun/star/style/NumberingRule.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::ChapterNumberingRule
+/** 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 <type scope="com::sun::star::style">NumberingAlignment</type> only the field
+ <member scope="com::sun::star::style">NumberingAlignment::Alignment</member> 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
+{
+ // DocMerge: empty anyway
+ service com::sun::star::style::NumberingRule;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ChapterNumberingRule::HeadingStyleName
+ /** 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
diff --git a/offapi/com/sun/star/text/CharacterCompressionType.idl b/offapi/com/sun/star/text/CharacterCompressionType.idl
new file mode 100644
index 000000000000..23abfd810d44
--- /dev/null
+++ b/offapi/com/sun/star/text/CharacterCompressionType.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/ContentIndex.idl b/offapi/com/sun/star/text/ContentIndex.idl
new file mode 100644
index 000000000000..b3a4c34ef630
--- /dev/null
+++ b/offapi/com/sun/star/text/ContentIndex.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::BaseIndex;
+
+ /** determins the depth of outline levels that are included into the content index.*/
+
+ /// @missing
+ [optional, property] short Level;
+
+ /** determins 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
+
diff --git a/offapi/com/sun/star/text/ContentIndexMark.idl b/offapi/com/sun/star/text/ContentIndexMark.idl
new file mode 100644
index 000000000000..6ad0b8981f80
--- /dev/null
+++ b/offapi/com/sun/star/text/ContentIndexMark.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ContentIndexMark_idl__
+#define __com_sun_star_text_ContentIndexMark_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+#ifndef __com_sun_star_text_BaseIndexMark_idl__
+#include <com/sun/star/text/BaseIndexMark.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::DocumentIndexMark
+/** is a <type>TextRange</type> which is explicitly marked
+ as an index entry for a <type>ContentIndex</type>.
+ */
+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
diff --git a/offapi/com/sun/star/text/ControlCharacter.idl b/offapi/com/sun/star/text/ControlCharacter.idl
new file mode 100644
index 000000000000..43a9b40247e6
--- /dev/null
+++ b/offapi/com/sun/star/text/ControlCharacter.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ControlCharacter_idl__
+#define __com_sun_star_text_ControlCharacter_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::ControlCharacter
+/** These constants are the codes for inserting control characters
+ using <method>XSimpleText::insertControlCharacter</method> interface.
+ */
+published constants ControlCharacter
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ControlCharacter::PARAGRAPH_BREAK
+ /** This control character starts a new paragraph.
+ */
+ const short PARAGRAPH_BREAK = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ControlCharacter::LINE_BREAK
+ /** This control character starts a new line in a paragraph.
+ */
+ const short LINE_BREAK = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ControlCharacter::HARD_HYPHEN
+ /** This control character equals a dash but prevents this
+ position from being hyphenated.
+ */
+ const short HARD_HYPHEN = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ControlCharacter::SOFT_HYPHEN
+ /** 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;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::ControlCharacter::HARD_SPACE
+ /** 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
diff --git a/offapi/com/sun/star/text/DateDisplayFormat.idl b/offapi/com/sun/star/text/DateDisplayFormat.idl
new file mode 100644
index 000000000000..209f17ea9444
--- /dev/null
+++ b/offapi/com/sun/star/text/DateDisplayFormat.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 formated 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
diff --git a/offapi/com/sun/star/text/DefaultNumberingProvider.idl b/offapi/com/sun/star/text/DefaultNumberingProvider.idl
new file mode 100644
index 000000000000..bc0861e9d92a
--- /dev/null
+++ b/offapi/com/sun/star/text/DefaultNumberingProvider.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+{
+ interface com::sun::star::text::XDefaultNumberingProvider;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/Defaults.idl b/offapi/com/sun/star/text/Defaults.idl
new file mode 100644
index 000000000000..f8e8c6a56de1
--- /dev/null
+++ b/offapi/com/sun/star/text/Defaults.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Defaults_idl__
+#define __com_sun_star_text_Defaults_idl__
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/DependentTextField.idl b/offapi/com/sun/star/text/DependentTextField.idl
new file mode 100644
index 000000000000..b98d07a865f4
--- /dev/null
+++ b/offapi/com/sun/star/text/DependentTextField.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DependentTextField_idl__
+#define __com_sun_star_text_DependentTextField_idl__
+
+#ifndef __com_sun_star_text_TextField_idl__
+#include <com/sun/star/text/TextField.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDependentTextField_idl__
+#include <com/sun/star/text/XDependentTextField.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::DependentTextField
+/** is a <type>TextField</type> which is not specified by itself,
+ but dependent on a <type>TextFieldMaster</type>.@see TextFieldMaster
+ */
+published service DependentTextField
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextField;
+
+
+ // DocMerge from xml: service com::sun::star::text::DependentTextField: interface com::sun::star::text::XDependentTextField
+ /** This interface makes it possible to attach a
+ <type>TextFieldMaster</type> to this <type>TextField</type>.
+ */
+ interface com::sun::star::text::XDependentTextField;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/DocumentIndex.idl b/offapi/com/sun/star/text/DocumentIndex.idl
new file mode 100644
index 000000000000..8cee39a2327e
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndex.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_text_DocumentIndex_idl__
+#define __com_sun_star_text_DocumentIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+#ifndef __com_sun_star_text_XDocumentIndexMark_idl__
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ /** determins if alphabetical separators are genererated.
+ */
+ [optional, property] boolean UseAlphabeticalSeparators;
+
+ /** determins if a index entry is generated for each primary/secondary key.
+ */
+ [optional, property] boolean UseKeyAsEntry;
+
+ /** determins if same entries on different pages are combined into one index entry.
+ */
+ [optional, property] boolean UseCombinedEntries;
+
+ /** determins if the similarity of index entries is checked case sensitively.
+ */
+ [optional, property] boolean IsCaseSensitive;
+
+ /** determins if following page numbers are displayed using a 'pp.'.
+ */
+ [optional, property] boolean UsePP;
+
+ /** determins if if following page numbers are displayed using a dash.
+ */
+ [optional, property] boolean UseDash;
+
+ /** determins if all entries start with a capital letter.
+ */
+ [optional, property] boolean UseUpperCase;
+
+ /** determins 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
diff --git a/offapi/com/sun/star/text/DocumentIndexFormat.idl b/offapi/com/sun/star/text/DocumentIndexFormat.idl
new file mode 100644
index 000000000000..3f4d305bfe17
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexFormat.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndexFormat_idl__
+#define __com_sun_star_text_DocumentIndexFormat_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** specifies the formatting of document indexes.
+
+ @deprecated
+ the service was never implemented, none of it's properties do exist.
+
+*/
+published service DocumentIndexFormat
+{
+ //-------------------------------------------------------------------------
+ /** This property contains the name of the paragraph style that is
+ used for the index title.
+
+ */
+ [property] string TitleStyle;
+
+ //-------------------------------------------------------------------------
+ /** This property contains the name of the paragraph style that is
+ used for the separator. This entry is ignored for user indexes
+ and content indexes.
+
+ */
+ [property] string SeparatorStyle;
+
+ //-------------------------------------------------------------------------
+ /** contains the number of levels in the document index.
+ */
+ [readonly, property] short LevelCount;
+
+ //-------------------------------------------------------------------------
+ /** This sequence contains the names of the paragraph styles that are
+ applied to the level corresponding to the position in the sequence.
+ */
+ [property] sequence<string> LevelStyles;
+
+ //-------------------------------------------------------------------------
+ /** This method specifies whether the form supports hyperlinks.
+ */
+ [readonly, property] boolean HasHyperlinks;
+
+ //-------------------------------------------------------------------------
+ /** return an object that provides the service "com.sun.star.text.DocumentIndexLevelFormat"
+ @see com.sun.star.text.DocumentIndexLevelFormat
+ */
+ [property] sequence<string> LevelFormat;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/DocumentIndexLevelFormat.idl b/offapi/com/sun/star/text/DocumentIndexLevelFormat.idl
new file mode 100644
index 000000000000..059a3edab680
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexLevelFormat.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndex_idl__
+#define __com_sun_star_text_DocumentIndex_idl__
+
+#ifndef _com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::DocumentIndexLevelFormat
+/** 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 <type>ChapterFormat</type>.</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
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexReplace;
+
+ //-------------------------------------------------------------------------
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/text/DocumentIndexMark.idl b/offapi/com/sun/star/text/DocumentIndexMark.idl
new file mode 100644
index 000000000000..97de1d2584f2
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexMark.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndexMark_idl__
+#define __com_sun_star_text_DocumentIndexMark_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+#ifndef __com_sun_star_text_BaseIndexMark_idl__
+#include <com/sun/star/text/BaseIndexMark.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** is a <type>TextRange</type> which is explicitly marked
+ as an index entry for a <type>DocumentIndex</type>.
+ */
+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;
+ //-------------------------------------------------------------------------
+ /** determins 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
diff --git a/offapi/com/sun/star/text/DocumentIndexMarkAsian.idl b/offapi/com/sun/star/text/DocumentIndexMarkAsian.idl
new file mode 100644
index 000000000000..f2909be2dcca
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexMarkAsian.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndexMarkAsian_idl__
+#define __com_sun_star_text_DocumentIndexMarkAsian_idl__
+
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** is a <type>TextRange</type> which is explicitly marked
+ as an index entry for a <type>DocumentIndex</type>.
+ 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
+
+
diff --git a/offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl b/offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl
new file mode 100644
index 000000000000..c9e6eeb18c30
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexParagraphStyles.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndex_idl__
+#define __com_sun_star_text_DocumentIndex_idl__
+
+#ifndef _com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::DocumentIndexParagraphStyles
+/** 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
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexReplace;
+ //-------------------------------------------------------------------------
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/text/DocumentIndexes.idl b/offapi/com/sun/star/text/DocumentIndexes.idl
new file mode 100644
index 000000000000..d47a9c6bdfd4
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentIndexes.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentIndexes_idl__
+#define __com_sun_star_text_DocumentIndexes_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>BaseIndex</type>
+ instances within this context (e.g., a document) by its name.
+
+ <p>The type of the interfaces returned by this collection is
+ always <type>XDocumentIndex</type>.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** This interface makes it possible to access all <type>BaseIndex</type>
+ instances within this context (e.g., a document) by its index.
+
+ <p>The type of the interfaces returned by this collection is
+ always <type>XDocumentIndex</type>.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/text/DocumentSettings.idl b/offapi/com/sun/star/text/DocumentSettings.idl
new file mode 100644
index 000000000000..19c4d75997cb
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentSettings.idl
@@ -0,0 +1,214 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextDocumentSettings_idl__
+#define __com_sun_star_text_TextDocumentSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_document_Settings_idl__
+#include <com/sun/star/document/Settings.idl>
+#endif
+
+#ifndef __com_sun_star_text_PrintSettings_idl__
+#include <com/sun/star/text/PrintSettings.idl>
+#endif
+
+#ifndef __com_sun_star_text_PrintPreviewSettings_idl__
+#include <com/sun/star/text/PrintPreviewSettings.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ [optional] service com::sun::star::text::PrintPreviewSettings;
+
+ //-------------------------------------------------------------------------
+ /** 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 hte 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 paragraph 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.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.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.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 <member>BaseFrameProperties::WrapInfluenceOnPosition</member>
+ 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.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 \ No newline at end of file
diff --git a/offapi/com/sun/star/text/DocumentStatistic.idl b/offapi/com/sun/star/text/DocumentStatistic.idl
new file mode 100644
index 000000000000..c8833985f018
--- /dev/null
+++ b/offapi/com/sun/star/text/DocumentStatistic.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_DocumentStatistic_idl__
+#define __com_sun_star_text_DocumentStatistic_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::DocumentStatistic
+/** 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.
+
+ // DocMerge: empty anyway
+ const short PAGES = 0;
+
+ //-------------------------------------------------------------------------
+ // The text field displays the number of paragraphs of the document.
+
+ // DocMerge: empty anyway
+ const short PARAS = 1;
+
+ //-------------------------------------------------------------------------
+ // The text field words the number of paragraphs of the document.
+
+ // DocMerge: empty anyway
+ const short WORDS = 2;
+
+ //-------------------------------------------------------------------------
+ // The text field characters the number of paragraphs of the document.
+
+ // DocMerge: empty anyway
+ const short CHARS = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Endnote.idl b/offapi/com/sun/star/text/Endnote.idl
new file mode 100644
index 000000000000..0e4c64fdc2a9
--- /dev/null
+++ b/offapi/com/sun/star/text/Endnote.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Endnote_idl__
+#define __com_sun_star_text_Endnote_idl__
+
+#ifndef __com_sun_star_text_Footnote_idl__
+#include <com/sun/star/text/Footnote.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** This service specifies a an endnote in a
+ <type>TextDocument</type>.
+*/
+published service Endnote
+{
+ service Footnote;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/EndnoteSettings.idl b/offapi/com/sun/star/text/EndnoteSettings.idl
new file mode 100644
index 000000000000..d64f55850a75
--- /dev/null
+++ b/offapi/com/sun/star/text/EndnoteSettings.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_EndnoteSettings_idl__
+#define __com_sun_star_text_EndnoteSettings_idl__
+
+#ifndef __com_sun_star_text_FootnoteSettings_idl__
+#include <com/sun/star/text/FootnoteSettings.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/FilenameDisplayFormat.idl b/offapi/com/sun/star/text/FilenameDisplayFormat.idl
new file mode 100644
index 000000000000..38e937d8843a
--- /dev/null
+++ b/offapi/com/sun/star/text/FilenameDisplayFormat.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_FilenameDisplayFormat_idl__
+#define __com_sun_star_text_FilenameDisplayFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::FilenameDisplayFormat
+/** These constants are used to specify which parts of an URL are displayed
+ in a field.
+ */
+published constants FilenameDisplayFormat
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FilenameDisplayFormat::FULL
+ /** The content of the URL is completely displayed.
+ */
+ const short FULL = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FilenameDisplayFormat::PATH
+ /** Only the path of the file is displayed.
+ */
+ const short PATH = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FilenameDisplayFormat::NAME
+ /** Only the name of the file without the file extension is displayed.
+ */
+ const short NAME = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FilenameDisplayFormat::NAME_AND_EXT
+ /** The file name including the file extension is displayed.
+ */
+ const short NAME_AND_EXT = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/FontEmphasis.idl b/offapi/com/sun/star/text/FontEmphasis.idl
new file mode 100644
index 000000000000..2953afb80a60
--- /dev/null
+++ b/offapi/com/sun/star/text/FontEmphasis.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_FontEmphasis_idl__
+#define __com_sun_star_text_FontEmphasis_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+/** Determins 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
+
diff --git a/offapi/com/sun/star/text/FontRelief.idl b/offapi/com/sun/star/text/FontRelief.idl
new file mode 100644
index 000000000000..96020038322c
--- /dev/null
+++ b/offapi/com/sun/star/text/FontRelief.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_FontRelief_idl__
+#define __com_sun_star_text_FontRelief_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+/** Determins 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
+
diff --git a/offapi/com/sun/star/text/Footnote.idl b/offapi/com/sun/star/text/Footnote.idl
new file mode 100644
index 000000000000..3e23ff718f3c
--- /dev/null
+++ b/offapi/com/sun/star/text/Footnote.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Footnote_idl__
+#define __com_sun_star_text_Footnote_idl__
+
+#ifndef __com_sun_star_text_XFootnote_idl__
+#include <com/sun/star/text/XFootnote.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** This service specifies a footnote or an endnote in a
+ <type>TextDocument</type>.
+*/
+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
diff --git a/offapi/com/sun/star/text/FootnoteNumbering.idl b/offapi/com/sun/star/text/FootnoteNumbering.idl
new file mode 100644
index 000000000000..55b4f5ddd9e4
--- /dev/null
+++ b/offapi/com/sun/star/text/FootnoteNumbering.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_FootnoteNumbering_idl__
+#define __com_sun_star_text_FootnoteNumbering_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::FootnoteNumbering
+/** These constants are used to specify the footnote numbering.
+ */
+published constants FootnoteNumbering
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FootnoteNumbering::PER_PAGE
+ /** The counter of the automatic footnote numbering restarts each page.
+ */
+ const short PER_PAGE = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FootnoteNumbering::PER_CHAPTER
+ /** The counter of the automatic footnote numbering restarts each
+ chapter.
+ */
+ const short PER_CHAPTER = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::FootnoteNumbering::PER_DOCUMENT
+ /** The counter of the automatic footnote numbering does not restart.
+ */
+ const short PER_DOCUMENT = 2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/FootnoteSettings.idl b/offapi/com/sun/star/text/FootnoteSettings.idl
new file mode 100644
index 000000000000..e11354bd1b7c
--- /dev/null
+++ b/offapi/com/sun/star/text/FootnoteSettings.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+ [optional, property] string AnchorCharStyleName;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Footnotes.idl b/offapi/com/sun/star/text/Footnotes.idl
new file mode 100644
index 000000000000..d43811059d09
--- /dev/null
+++ b/offapi/com/sun/star/text/Footnotes.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Footnotes_idl__
+#define __com_sun_star_text_Footnotes_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::Footnotes
+/** provides access to the footnotes or endnotes of a (text)
+ document.
+ */
+published service Footnotes
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::Footnotes: interface com::sun::star::container::XIndexAccess
+ /** provides access to the footnotes of the document.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/GenericTextDocument.idl b/offapi/com/sun/star/text/GenericTextDocument.idl
new file mode 100644
index 000000000000..c1562b5ddf49
--- /dev/null
+++ b/offapi/com/sun/star/text/GenericTextDocument.idl
@@ -0,0 +1,273 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_GenericTextDocument_idl__
+#define __com_sun_star_text_GenericTextDocument_idl__
+
+#ifndef __com_sun_star_document_OfficeDocument_idl__
+#include <com/sun/star/document/OfficeDocument.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextDocument_idl__
+#include <com/sun/star/text/XTextDocument.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSearchable_idl__
+#include <com/sun/star/util/XSearchable.idl>
+#endif
+
+#ifndef _com_sun_star_util_XRefreshable_idl_
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFootnotesSupplier_idl__
+#include <com/sun/star/text/XFootnotesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XEndnotesSupplier_idl__
+#include <com/sun/star/text/XEndnotesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#include <com/sun/star/util/XReplaceable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XPagePrintable_idl__
+#include <com/sun/star/text/XPagePrintable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XReferenceMarksSupplier_idl__
+#include <com/sun/star/text/XReferenceMarksSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XLineNumberingSupplier_idl__
+#include <com/sun/star/text/XLineNumberingSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XChapterNumberingSupplier_idl__
+#include <com/sun/star/text/XChapterNumberingSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
+#include <com/sun/star/text/XTextGraphicObjectsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
+#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTablesSupplier_idl__
+#include <com/sun/star/text/XTextTablesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XBookmarksSupplier_idl__
+#include <com/sun/star/text/XBookmarksSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndexesSupplier_idl__
+#include <com/sun/star/text/XDocumentIndexesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextFieldsSupplier_idl__
+#include <com/sun/star/text/XTextFieldsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextFramesSupplier_idl__
+#include <com/sun/star/text/XTextFramesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextSectionsSupplier_idl__
+#include <com/sun/star/text/XTextSectionsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+ 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>Its 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;
+
+ [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::XLineNumberingSupplier;
+
+ [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. Whitespaces (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
diff --git a/offapi/com/sun/star/text/GlobalDocument.idl b/offapi/com/sun/star/text/GlobalDocument.idl
new file mode 100644
index 000000000000..2e71c7ad3736
--- /dev/null
+++ b/offapi/com/sun/star/text/GlobalDocument.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_GlobalDocument_idl__
+#define __com_sun_star_text_GlobalDocument_idl__
+
+#ifndef __com_sun_star_text_GenericTextDocument_idl__
+#include <com/sun/star/text/GenericTextDocument.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** Specify the document service of the global text module.
+ */
+service GlobalDocument
+{
+ /** Provides the functionality of such global document. */
+ service GenericTextDocument;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/GlobalSettings.idl b/offapi/com/sun/star/text/GlobalSettings.idl
new file mode 100644
index 000000000000..b0948f4a3f7b
--- /dev/null
+++ b/offapi/com/sun/star/text/GlobalSettings.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_BaseFrame_idl__
+#define __com_sun_star_text_BaseFrame_idl__
+
+#ifndef __com_sun_star_view_XPrintSettingsSupplier_idl__
+#include <com/sun/star/view/XPrintSettingsSupplier.idl>
+#endif
+#ifndef __com_sun_star_view_XViewSettingsSupplier_idl__
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+#endif
+
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** specifies a service that provides acces 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
+
diff --git a/offapi/com/sun/star/text/GraphicCrop.idl b/offapi/com/sun/star/text/GraphicCrop.idl
new file mode 100644
index 000000000000..b697662cff16
--- /dev/null
+++ b/offapi/com/sun/star/text/GraphicCrop.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_GraphicCrop_idl__
+#define __com_sun_star_text_GraphicCrop_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::text::GraphicCrop
+/** 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
+{
+ // DocMerge from xml: field com::sun::star::text::GraphicCrop::Top
+ /** contains the top value to cut (if negative) or to extend (if positive)
+ */
+ long Top;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::GraphicCrop::Bottom
+ /** contains the bottom value to cut (if negative) or to extend (if positive)
+ */
+ long Bottom;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::GraphicCrop::Left
+ /** contains the left value to cut (if negative) or to extend (if positive)
+ */
+ long Left;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::GraphicCrop::Right
+ /** contains the right value to cut (if negative) or to extend (if positive)
+ */
+ long Right;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/HoriOrientation.idl b/offapi/com/sun/star/text/HoriOrientation.idl
new file mode 100644
index 000000000000..6ec443a97613
--- /dev/null
+++ b/offapi/com/sun/star/text/HoriOrientation.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_HoriOrientation_idl__
+#define __com_sun_star_text_HoriOrientation_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::HoriOrientation
+/** These enumeration values specify the horizontal orientation.
+ */
+published constants HoriOrientation
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::NONE
+ /** 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;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::RIGHT
+ /** The object is aligned at the right side.
+ */
+ const short RIGHT = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::CENTER
+ /** The object is aligned at the middle.
+ */
+ const short CENTER = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::LEFT
+ /** The object is aligned at the left side.
+ */
+ const short LEFT = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::INSIDE
+ /** TODO
+ */
+ const short INSIDE = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::OUTSIDE
+ /** TODO
+ */
+ const short OUTSIDE = 5;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::FULL
+ /** The object uses the full space (for text tables only).
+ */
+ const short FULL = 6;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::HoriOrientation::LEFT_AND_WIDTH
+ /** 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
diff --git a/offapi/com/sun/star/text/HoriOrientationFormat.idl b/offapi/com/sun/star/text/HoriOrientationFormat.idl
new file mode 100644
index 000000000000..fddba556387f
--- /dev/null
+++ b/offapi/com/sun/star/text/HoriOrientationFormat.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_HoriOrientationFormat_idl__
+#define __com_sun_star_text_HoriOrientationFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::text::HoriOrientationFormat
+/** 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
+{
+ // DocMerge from xml: field com::sun::star::text::HoriOrientationFormat::XPos
+ /** contains the distance from the left border. Only valid if
+ the property HorizontalOrientation contains the value HORI_NONE.
+ */
+ long XPos;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::HoriOrientationFormat::HorizontalOrientation
+ /** determines the horizontal alignment of an object.
+ The values refer to com::sun::star::HoriOrientation.
+ */
+ short HorizontalOrientation;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::HoriOrientationFormat::HorizontalRelation
+ /** determines the reference position of the horizontal alignment.@see com::sun::star::text::RelOrientation
+ */
+ short HorizontalRelation;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::HoriOrientationFormat::PositionToggle
+ /** determines if the orientation toggles between left and right pages.
+ */
+ boolean PositionToggle;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/HorizontalAdjust.idl b/offapi/com/sun/star/text/HorizontalAdjust.idl
new file mode 100644
index 000000000000..4a440a68bd40
--- /dev/null
+++ b/offapi/com/sun/star/text/HorizontalAdjust.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_HorizontalAdjust_idl__
+#define __com_sun_star_text_HorizontalAdjust_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::text::HorizontalAdjust
+/** enumeration values define the horizontal adjustments of objects.
+ */
+published enum HorizontalAdjust
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::HorizontalAdjust::LEFT
+ /** the object is left adjusted.
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::HorizontalAdjust::CENTER
+ /** the object is adjusted to the center.
+ */
+ CENTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::HorizontalAdjust::RIGHT
+ /** the object is right adjusted.
+ */
+ RIGHT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/HypertextDocument.idl b/offapi/com/sun/star/text/HypertextDocument.idl
new file mode 100644
index 000000000000..57e4ad874c38
--- /dev/null
+++ b/offapi/com/sun/star/text/HypertextDocument.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_HypertextDocument_idl__
+#define __com_sun_star_text_HypertextDocument_idl__
+
+#ifndef __com_sun_star_text_TextDocument_idl__
+#include <com/sun/star/text/TextDocument.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
+#include <com/sun/star/text/XTextGraphicObjectsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
+#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTablesSupplier_idl__
+#include <com/sun/star/text/XTextTablesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::HypertextDocument
+/** is an extension of a text document which
+ can also contain tables and certain kinds of embedded objects
+ (e.g., graphics).
+
+ @deprecated
+ use <type>TextDocument</type> instead.
+ */
+published service HypertextDocument
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextDocument;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XTextGraphicObjectsSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XTextEmbeddedObjectsSupplier;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XTextTablesSupplier;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/IllustrationsIndex.idl b/offapi/com/sun/star/text/IllustrationsIndex.idl
new file mode 100644
index 000000000000..004fbd356e21
--- /dev/null
+++ b/offapi/com/sun/star/text/IllustrationsIndex.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ /* determins if the name or the label of an object is used to create the index.
+ */
+ [optional, property] boolean CreateFromLabels; //tables, illustrations
+ /* determins the name of the sequence field that is evaluated to create the index.
+ */
+ [optional, property] string LabelCategory; //tables, illustrations
+ /* determins the way the paragraph containing a label is included in the index.
+ @see ChapterFormat*/
+ [optional, property] short LabelDisplayType;//tables, illustrations
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/InContentMetadata.idl b/offapi/com/sun/star/text/InContentMetadata.idl
new file mode 100755
index 000000000000..5eac10714576
--- /dev/null
+++ b/offapi/com/sun/star/text/InContentMetadata.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_InContentMetadata_idl__
+#define __com_sun_star_text_InContentMetadata_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XMetadatable_idl__
+#include <com/sun/star/rdf/XMetadatable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** is a <type>TextContent</type> that can be used to attach RDF metadata
+ to a range of text.
+
+ @since OOo 3.2
+ */
+service InContentMetadata
+{
+ //-------------------------------------------------------------------------
+ /** None of the properties of <type>TextContent</type> are
+ supported. */
+ service com::sun::star::text::TextContent;
+
+ //-------------------------------------------------------------------------
+ /** The <type>InContentMetadata</type> can have RDF metadata attached. */
+ interface com::sun::star::rdf::XMetadatable;
+
+ //-------------------------------------------------------------------------
+ /** The <type>TextContent</type>s that are contained in the
+ annotated range of text can be enumerated. */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ //-------------------------------------------------------------------------
+ /** The <type>TextContent</type> that is the parent of this text range.
+ @since OOo 3.3
+ */
+ interface com::sun::star::container::XChild;
+
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/InvalidTextContentException.idl b/offapi/com/sun/star/text/InvalidTextContentException.idl
new file mode 100644
index 000000000000..08dba3fb86c8
--- /dev/null
+++ b/offapi/com/sun/star/text/InvalidTextContentException.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_InvalidTextContentException_idl__
+#define __com_sun_star_text_InvalidTextContentException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::text::InvalidTextContentException
+/** is thrown whenever a method gets a <type>TextContent</type>
+ as an actual argument when the text content cannot be used for that
+ operation.
+ */
+published exception InvalidTextContentException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::InvalidTextContentException::TextContent
+ /** contains the interface of the text content that caused the exception.
+ */
+ com::sun::star::text::XTextContent TextContent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/LabelFollow.idl b/offapi/com/sun/star/text/LabelFollow.idl
new file mode 100644
index 000000000000..59fe72c9cb7b
--- /dev/null
+++ b/offapi/com/sun/star/text/LabelFollow.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/LineNumberingProperties.idl b/offapi/com/sun/star/text/LineNumberingProperties.idl
new file mode 100644
index 000000000000..5a965b100963
--- /dev/null
+++ b/offapi/com/sun/star/text/LineNumberingProperties.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_LineNumberingProperties_idl__
+#define __com_sun_star_text_LineNumberingProperties_idl__
+
+#ifndef __com_sun_star_text_XLineNumberingProperties_idl__
+#include <com/sun/star/text/XLineNumberingProperties.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::LineNumberingProperties
+/** 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 continous.</p>
+
+ @since OOo 2.0.0
+ */
+ [optional, property] boolean RestartAtEachPage;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/LineNumberingSettings.idl b/offapi/com/sun/star/text/LineNumberingSettings.idl
new file mode 100644
index 000000000000..3a33757feaa2
--- /dev/null
+++ b/offapi/com/sun/star/text/LineNumberingSettings.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_LineNumberingSettings_idl__
+#define __com_sun_star_text_LineNumberingSettings_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** provides access to the settings of the line numbering.
+ @deprecated
+
+ Actually there never was an implementation for this service.
+ */
+published service LineNumberingSettings
+{
+ //-------------------------------------------------------------------------
+
+ /** If <TRUE/>, line numbering is used.
+ */
+ [property] boolean On;
+
+ //-------------------------------------------------------------------------
+
+ /** The name of the character style that is used for the line number.
+ */
+ [property] string CharStyle;
+
+ //-------------------------------------------------------------------------
+
+ /** 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>LineInterval</var>th line.
+ */
+ [property] short LineInterval;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the symbol that is shown between the line numbers.
+ */
+ [property] string LineSeparator;
+
+ //-------------------------------------------------------------------------
+
+ /** The line separator is shown every <var>SeparatorLineDistance</var>th line.
+ */
+ [property] short SeparatorLineDistance;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the position of the line number
+ (constant <type scope="com::sun::star::style::">LineNumberPosition</type> - left/right/inside/outside).
+ */
+ [property] short NumberPosition;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the type of the numbering.
+ */
+ [property] short NumberingType;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/text/MailMerge.idl b/offapi/com/sun/star/text/MailMerge.idl
new file mode 100644
index 000000000000..beb4fedf3d26
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMerge.idl
@@ -0,0 +1,412 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_MailMerge_idl__
+#define __com_sun_star_text_MailMerge_idl__
+
+#ifndef __com_sun_star_task_XJob_idl__
+#include <com/sun/star/task/XJob.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+#ifndef __com_sun_star_sdbc_XConnection_idl__
+#include <com/sun/star/sdbc/XConnection.idl>
+#endif
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_text_XMailMergeBroadcaster_idl__
+#include <com/sun/star/text/XMailMergeBroadcaster.idl>
+#endif
+#ifndef __com_sun_star_sdb_DataAccessDescriptor_idl__
+#include <com/sun/star/sdb/DataAccessDescriptor.idl>
+#endif
+
+//=============================================================================
+
+ 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 <member scope="com::sun::star::task">XJob::execute</member>
+ 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 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 <member>DataSourceName</member>, <member>Command</member>, <member>CommandType</member>,
+ <member>Connection</member>, <member>Selection</member>, <member>ResultSet</member>,
+ <member>Filter</member> and <member>EscapeProcessing</member>
+ */
+ 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p>
+ */
+ [property] string DataSourceName;
+
+ //=============================================================================
+
+ /** determines the type of the database command as
+ described in <type scope="com::sun::star::sdb">CommandType</type>
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p>
+ */
+ [property] long CommandType;
+
+ //=============================================================================
+
+ /** contains the database command.
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p>
+ */
+ [property] string Command;
+
+ //=============================================================================
+
+ /** provides access to a
+ <type scope="com::sun::star::sdbc">XResultSet</type> of
+ a <type scope="com::sun::star::sdbc">ResultSet</type> service.
+
+ <p>Note that any superservices of <type scope="com::sun::star::sdbc">ResultSet</type>
+ are also allowed. Especially, this member can denote an instance of the
+ <type scope="com::sun::star::sdb">RowSet</type>, or an instance obtained
+ by calling <member scope="com::sun::star::sdb">XResultSetAccess::createResultSet</member>
+ on such a <type scope="com::sun::star::sdb">RowSet</type>. This becomes important in
+ conjunction with the <member>Selection</member> property.</p>
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <member>ResultSet</member>
+ only. A single element of this array describes a bookmark relative to the result set.<br/>
+ Note that this implies that the <member>ResultSet</member> needs to support the
+ <type scope="com::sun::star::sdbcx">XRowLocate</type> interface.</p>
+
+ <p>If this array is empty, the whole result set, as described by <member>ResultSet</member>
+ respectively the triple (<member>DataSourceName</member>, <member>DataCommandType</member>,
+ <member>DataCommand</member>).</p>
+
+ <p>For the interaction of this property with other data access relevant properties, see
+ the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 <type scope="com::sun::star::sdb">DataAccessDescriptor</type> 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 propery "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 save 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
diff --git a/offapi/com/sun/star/text/MailMergeEvent.idl b/offapi/com/sun/star/text/MailMergeEvent.idl
new file mode 100644
index 000000000000..564ff0bfcf07
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMergeEvent.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_MailMergeEvent_idl__
+#define __com_sun_star_text_MailMergeEvent_idl__
+
+
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** represents a mail merge event.
+
+ <p>This type of event is being send 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
diff --git a/offapi/com/sun/star/text/MailMergeType.idl b/offapi/com/sun/star/text/MailMergeType.idl
new file mode 100644
index 000000000000..0bac2eba47e2
--- /dev/null
+++ b/offapi/com/sun/star/text/MailMergeType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/NotePrintMode.idl b/offapi/com/sun/star/text/NotePrintMode.idl
new file mode 100644
index 000000000000..263acfc2b1b3
--- /dev/null
+++ b/offapi/com/sun/star/text/NotePrintMode.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_NotePrintMode_idl__
+#define __com_sun_star_text_NotePrintMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::text::NotePrintMode
+/** enumeration values are used to define the printing of notes in a
+ document.
+ */
+published enum NotePrintMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::NotePrintMode::NOT
+ /** Notes are not printed.
+ */
+ NOT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::NotePrintMode::ONLY
+ /** Only notes are printed.
+ */
+ ONLY,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::NotePrintMode::DOC_END
+ /** Notes are collected at the end of the document.
+ */
+ DOC_END,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::NotePrintMode::PAGE_END
+ /** Notes are collected at the end of a page and printed on an inserted page.
+ */
+ PAGE_END
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/NumberingLevel.idl b/offapi/com/sun/star/text/NumberingLevel.idl
new file mode 100644
index 000000000000..9443a9a2740e
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingLevel.idl
@@ -0,0 +1,267 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_NumberingLevel_idl__
+#define __com_sun_star_text_NumberingLevel_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+
+//=============================================================================
+
+ 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 <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.
+ @deprecated
+ */
+ [optional, property] short BulletId;
+ //-------------------------------------------------------------------------
+
+ /** contains the symbol in the given font. This is only valid if the
+ numbering type is <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.
+ */
+ [property] string BulletChar;
+ //-------------------------------------------------------------------------
+
+ /** the name of the font for the symbol. This is only valid if the
+ numbering type is <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.
+ */
+ [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
+ <const scope="com::sun::star::style">NumberingType::BITMAP</const>.</p>
+ */
+ [property] string GraphicURL;
+
+ //-------------------------------------------------------------------------
+
+ /** the bitmap containing the bullet.
+ */
+ [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
+ <const scope="com::sun::star::style">NumberingType::BITMAP</const> or
+ <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.</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.
+ */
+ [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 color for the symbol. This is only valid if the
+ numbering type is <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.
+ */
+ [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 <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>.
+ */
+ [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
+
diff --git a/offapi/com/sun/star/text/NumberingRules.idl b/offapi/com/sun/star/text/NumberingRules.idl
new file mode 100644
index 000000000000..352c58d2cf40
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingRules.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_NumberingRules_idl__
+#define __com_sun_star_text_NumberingRules_idl__
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** provides access to the numbering rules.
+ <p> Numbering rules may be set at a <type>Paragraph</type> 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;
+ //-------------------------------------------------------------------------
+
+ /** determins if the margins are absolute or relative
+ to the preceeding numbering level.
+ */
+ [optional, property] boolean IsAbsoluteMargins;
+ //-------------------------------------------------------------------------
+
+ /** determins if the numbering rules are automatically created
+ as opposed to numbering rules that are part of a numbering style.
+ */
+ [optional, property] boolean IsAutomatic;
+ //-------------------------------------------------------------------------
+
+ /** determins if the numbering levels are counted coninuously 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
diff --git a/offapi/com/sun/star/text/NumberingStyle.idl b/offapi/com/sun/star/text/NumberingStyle.idl
new file mode 100644
index 000000000000..53573c606ade
--- /dev/null
+++ b/offapi/com/sun/star/text/NumberingStyle.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_style_NumberingStyle_idl__
+#define __com_sun_star_style_NumberingStyle_idl__
+
+#ifndef __com_sun_star_style_Style_idl__
+#include <com/sun/star/style/Style.idl>
+#endif
+#ifndef __com_sun_star_text_NumberingRules_idl__
+#include <com/sun/star/text/NumberingRules.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** specifies a stylesheet numberings within a
+ <type scope="com::sun::star::text">Text</type>.
+ */
+published service NumberingStyle
+{
+ //-------------------------------------------------------------------------
+ /// specifies administrative properties.
+ service com::sun::star::style::Style;
+ service NumberingRules;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/ObjectIndex.idl b/offapi/com/sun/star/text/ObjectIndex.idl
new file mode 100644
index 000000000000..037bed653cd2
--- /dev/null
+++ b/offapi/com/sun/star/text/ObjectIndex.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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 {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::ObjectIndex
+/** specifies service of object indexes within a document.@see com::sun::star::text::BaseIndex
+ */
+published service ObjectIndex
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::BaseIndex;
+
+ /** Determines if star office math objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromStarMath;//objects
+ /** Determines if star office image objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromStarImage;//objects
+ /** Determines if star office chart objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromStarChart;//objects
+ /** Determines if star office calc objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromStarCalc;//objects
+ /** Determines if star office draw objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromStarDraw;//objects
+ /** Determines if external embedded objects are included in the office.
+ */
+ // DocMerge: empty anyway
+ [optional, property] boolean CreateFromOtherEmbeddedObjects;//objects
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
+
+
diff --git a/offapi/com/sun/star/text/PageFootnoteInfo.idl b/offapi/com/sun/star/text/PageFootnoteInfo.idl
new file mode 100644
index 000000000000..e8f1931cc95a
--- /dev/null
+++ b/offapi/com/sun/star/text/PageFootnoteInfo.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PageFootnoteInfo_idl__
+#define __com_sun_star_text_PageFootnoteInfo_idl__
+
+#ifndef __com_sun_star_text_HorizontalAdjust_idl__
+#include <com/sun/star/text/HorizontalAdjust.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::PageFootnoteInfo
+/** specifies the properties of the footnote area of a page or a
+ page style.
+ */
+published service PageFootnoteInfo
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteHeight
+ /** contains the maximum height of the footnote section.
+
+
+
+ <p>If 0, the maximum is the height of the page.</p>
+ */
+ [property] long FootnoteHeight;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteSeparatorLineWidth
+ /** contains the relative width of the footnote separator line.
+ */
+ [property] long FootnoteSeparatorLineWidth;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteTopDistance
+ /** contains the distance between the text and footnote section.
+ */
+ [property] long FootnoteTopDistance;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteBottomDistance
+ /** contains the distance between the separator line and the footnote section.
+ */
+ [property] long FootnoteBottomDistance;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteSeparatorLineWidthPercent
+ /** contains the relative width of the footnote separator line.
+ */
+ [property] short FootnoteSeparatorLineWidthPercent;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteSeparatorLineAdjust
+ /** contains the adjustment of the footnote separator line.
+ */
+ [property] com::sun::star::text::HorizontalAdjust FootnoteSeparatorLineAdjust;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PageFootnoteInfo::FootnoteSeparatorLinePenWidth
+ /** contains the width of the pen for the footnote separator line.
+ */
+ [property] short FootnoteSeparatorLinePenWidth;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/PageNumberType.idl b/offapi/com/sun/star/text/PageNumberType.idl
new file mode 100644
index 000000000000..380dbd5c28ce
--- /dev/null
+++ b/offapi/com/sun/star/text/PageNumberType.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PageNumberType_idl__
+#define __com_sun_star_text_PageNumberType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::text::PageNumberType
+/** 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
diff --git a/offapi/com/sun/star/text/PagePrintSettings.idl b/offapi/com/sun/star/text/PagePrintSettings.idl
new file mode 100644
index 000000000000..ce31045f619b
--- /dev/null
+++ b/offapi/com/sun/star/text/PagePrintSettings.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PagePrintSettings_idl__
+#define __com_sun_star_text_PagePrintSettings_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::PagePrintSettings
+/** These properties describe the way the <type>XPagePrintable</type> interface
+ prints the page on one printer page.
+ */
+published service PagePrintSettings
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::PageRows
+ /** contains the number of pages per printed column of pages.
+ */
+ [property] short PageRows;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::PageColumns
+ /** contains the number of pages per printed row of pages.
+ */
+ [property] short PageColumns;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::LeftMargin
+ /** contains the left margin of the printer page.
+ */
+ [property] long LeftMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::RightMargin
+ /** contains the right margin of the printer page.
+ */
+ [property] long RightMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::TopMargin
+ /** contains the top margin of the printer page.
+ */
+ [property] long TopMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::BottomMargin
+ /** contains the right margin of the printer page.
+ */
+ [property] long BottomMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::HoriMargin
+ /** contains the margin between the rows of printed pages.
+ */
+ [property] long HoriMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::VertMargin
+ /** contains the margin between the columns of printed pages.
+ */
+ [property] long VertMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PagePrintSettings::IsLandscape
+ /** defines if the printer page is used in landscape format.
+ */
+ [property] boolean IsLandscape;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Paragraph.idl b/offapi/com/sun/star/text/Paragraph.idl
new file mode 100644
index 000000000000..4c8330eb1f06
--- /dev/null
+++ b/offapi/com/sun/star/text/Paragraph.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Paragraph_idl__
+#define __com_sun_star_text_Paragraph_idl__
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextTable_idl__
+#include <com/sun/star/text/TextTable.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::Paragraph
+/** 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;
+
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextContent;
+
+
+ // DocMerge from xml: service com::sun::star::text::Paragraph: interface com::sun::star::beans::XPropertySet
+ /** 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;
+
+
+ // DocMerge from xml: service com::sun::star::text::Paragraph: interface com::sun::star::beans::XPropertyState
+ /** 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;
+
+
+ // DocMerge from xml: service com::sun::star::text::Paragraph: interface com::sun::star::container::XEnumerationAccess
+ /** This interface enumerates the text portions of this paragraph.
+
+ <p>A text portion is defined as the largest possible <type>TextRange</type>
+ 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.0
+ */
+ [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/ParagraphEnumeration.idl b/offapi/com/sun/star/text/ParagraphEnumeration.idl
new file mode 100644
index 000000000000..9e2ec8253e34
--- /dev/null
+++ b/offapi/com/sun/star/text/ParagraphEnumeration.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ParagraphEnumeration_idl__
+#define __com_sun_star_text_ParagraphEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::ParagraphEnumeration
+/** provides access to the paragraphs of an <type>XText</type>
+ interface.
+ */
+published service ParagraphEnumeration
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::ParagraphEnumeration: interface com::sun::star::container::XEnumeration
+ /** provides access to the paragraph objects.
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/ParagraphVertAlign.idl b/offapi/com/sun/star/text/ParagraphVertAlign.idl
new file mode 100644
index 000000000000..65d1a5b69dc2
--- /dev/null
+++ b/offapi/com/sun/star/text/ParagraphVertAlign.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 paragaphs.
+ */
+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
diff --git a/offapi/com/sun/star/text/PlaceholderType.idl b/offapi/com/sun/star/text/PlaceholderType.idl
new file mode 100644
index 000000000000..979bb2e62237
--- /dev/null
+++ b/offapi/com/sun/star/text/PlaceholderType.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PlaceholderType_idl__
+#define __com_sun_star_text_PlaceholderType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::PlaceholderType
+/** These constants define how the place-holder text fields act in a document.
+ */
+published constants PlaceholderType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::PlaceholderType::TEXT
+ /** The field represents a piece of text.
+ */
+ const short TEXT = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::PlaceholderType::TABLE
+ /** The field initiates the insertion of a text table.
+ */
+ const short TABLE = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::PlaceholderType::TEXTFRAME
+ /** The field initiates the insertion of a text frame.
+ */
+ const short TEXTFRAME = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::PlaceholderType::GRAPHIC
+ /** The field initiates the insertion of a graphic object.
+ */
+ const short GRAPHIC = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::PlaceholderType::OBJECT
+ /** The field initiates the insertion of an embedded object.
+ */
+ const short OBJECT = 4;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/PositionAndSpaceMode.idl b/offapi/com/sun/star/text/PositionAndSpaceMode.idl
new file mode 100644
index 000000000000..86102b0ddfbe
--- /dev/null
+++ b/offapi/com/sun/star/text/PositionAndSpaceMode.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/PositionLayoutDir.idl b/offapi/com/sun/star/text/PositionLayoutDir.idl
new file mode 100644
index 000000000000..72e420876171
--- /dev/null
+++ b/offapi/com/sun/star/text/PositionLayoutDir.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.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
diff --git a/offapi/com/sun/star/text/PrintPreviewSettings.idl b/offapi/com/sun/star/text/PrintPreviewSettings.idl
new file mode 100644
index 000000000000..e282cf76536f
--- /dev/null
+++ b/offapi/com/sun/star/text/PrintPreviewSettings.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PrintPreviewSettings_idl__
+#define __com_sun_star_text_PrintPreviewSettings_idl__
+
+#ifndef __com_sun_star_text_NotePrintMode_idl__
+#include <com/sun/star/text/NotePrintMode.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** These properties describe the printing of the content of a text document.
+ *
+ * @deprecated since OOo 3.3
+ */
+published service PrintPreviewSettings
+{
+ /** All properties have the property attribute 'maybevoid'
+ meaning: if none of them have been set, they all will return a void value, if any
+ one of them has been set, then none of them will be void any longer */
+
+ /** Size of the left margin */
+ [property, maybevoid] long PreviewPrintLeftMargin;
+
+ /** Size of the right margin */
+ [property, maybevoid] long PreviewPrintRightMargin;
+
+ /** Size of the top margin */
+ [property, maybevoid] long PreviewPrintTopMargin;
+
+ /** Size of the bottom margin */
+ [property, maybevoid] long PreviewPrintBottomMargin;
+
+ /** Size of the horizontal spacing */
+ [property, maybevoid] long PreviewPrintHorizontalSpacing;
+
+ [property, maybevoid] long PreviewPrintVerticalSpacing;
+
+ /** Number of Rows */
+ [property, maybevoid] byte PreviewPrintNumRows;
+
+ /** Number of Columns */
+ [property, maybevoid] byte PreviewPrintNumColumns;
+
+ /** If the format is landscape (if false then the format is portrait */
+ [property, maybevoid] boolean PreviewPrintLandscape;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/PrintSettings.idl b/offapi/com/sun/star/text/PrintSettings.idl
new file mode 100644
index 000000000000..82f55f3bc2b6
--- /dev/null
+++ b/offapi/com/sun/star/text/PrintSettings.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_PrintSettings_idl__
+#define __com_sun_star_text_PrintSettings_idl__
+
+#ifndef __com_sun_star_text_NotePrintMode_idl__
+#include <com/sun/star/text/NotePrintMode.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::PrintSettings
+/** These properties describe the printing of the content of a text document.
+ */
+published service PrintSettings
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintGraphics
+ /** determines if graphic objects are printed
+ */
+ [property] boolean PrintGraphics;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintTables
+ /** determines if text tables are printed.
+ */
+ [property] boolean PrintTables;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintDrawings
+ /** determines if shapes are printed.
+ */
+ [property] boolean PrintDrawings;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintLeftPage
+ /** determines if left pages are printed.
+ */
+ [property] boolean PrintLeftPages;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintRightPage
+ /** determines if right pages are printed.
+ */
+ [property] boolean PrintRightPages;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintControls
+ /** determines if control shapes are printed.
+ */
+ [property] boolean PrintControls;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintReverse
+ /** determines if the pages are printed in the reverse order, starting with the last page.
+ */
+ [property] boolean PrintReversed;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PaperFromSetup
+ /** specifies if the printer paper tray selection of the system
+ printer is used.
+
+
+
+ <p>If <member scope="com::sun::star::view">PrintSettings::PaperFromSetup</member> is <FALSE/>,
+ then the paper tray selection of the page styles is used.</p>
+ */
+ [property] boolean PrintPaperFromSetup;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::FaxName
+ /** contains the name of the fax.
+ */
+ [property] string PrintFaxName;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintNotes
+ /** determines how notes are printed.@see NotePrintMode
+ */
+ [property] com::sun::star::text::NotePrintMode PrintAnnotationMode;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintProspect
+ /** determines if prospect printing is used.
+ */
+ [property] boolean PrintProspect;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintBackground
+ /** determines if the background color / background graphic of pages is printed.
+ */
+ [property] boolean PrintPageBackground;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::PrintSettings::PrintBlackFont
+ /** determines if characters are always printed in black.
+ */
+ [property] boolean PrintBlackFonts;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if automatically inserted empty pages are printed.
+ */
+ [optional, property] boolean PrintEmptyPages;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/RedlinePortion.idl b/offapi/com/sun/star/text/RedlinePortion.idl
new file mode 100644
index 000000000000..c399d976e04a
--- /dev/null
+++ b/offapi/com/sun/star/text/RedlinePortion.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_RedlinePortion_idl__
+#define __com_sun_star_text_RedlinePortion_idl__
+
+#ifndef __com_sun_star_text_TextPortion_idl__
+#include <com/sun/star/text/TextPortion.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+//=============================================================================
+
+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 an 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
+
diff --git a/offapi/com/sun/star/text/ReferenceFieldPart.idl b/offapi/com/sun/star/text/ReferenceFieldPart.idl
new file mode 100644
index 000000000000..ab7bb5ac3c00
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceFieldPart.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 lables 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 lables 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
diff --git a/offapi/com/sun/star/text/ReferenceFieldSource.idl b/offapi/com/sun/star/text/ReferenceFieldSource.idl
new file mode 100644
index 000000000000..1f25dd2502dd
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceFieldSource.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/ReferenceMark.idl b/offapi/com/sun/star/text/ReferenceMark.idl
new file mode 100644
index 000000000000..1dc073beacdb
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceMark.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ReferenceMark_idl__
+#define __com_sun_star_text_ReferenceMark_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/text/ReferenceMarks.idl b/offapi/com/sun/star/text/ReferenceMarks.idl
new file mode 100644
index 000000000000..bbc38ec21eef
--- /dev/null
+++ b/offapi/com/sun/star/text/ReferenceMarks.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ReferenceMarks_idl__
+#define __com_sun_star_text_ReferenceMarks_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/text/RelOrientation.idl b/offapi/com/sun/star/text/RelOrientation.idl
new file mode 100644
index 000000000000..eb30a465a1f6
--- /dev/null
+++ b/offapi/com/sun/star/text/RelOrientation.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_RelOrientation_idl__
+#define __com_sun_star_text_RelOrientation_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::RelOrientation
+/** These values define the reference position of relative orientations.
+ */
+published constants RelOrientation
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::FRAME
+ /** paragraph, including margins
+ */
+ const short FRAME = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::PRINT_AREA
+ /** paragraph, without margins
+ */
+ const short PRINT_AREA = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::CHAR
+ /** at a character
+ */
+ const short CHAR = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::PAGE_LEFT
+ /** inside the left page margin
+ */
+ const short PAGE_LEFT = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::PAGE_RIGHT
+ /** inside the right page margin
+ */
+ const short PAGE_RIGHT = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::FRAME_LEFT
+ /** inside the left paragraph margin
+ */
+ const short FRAME_LEFT = 5;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::FRAME_RIGHT
+ /** inside the right paragraph margin
+ */
+ const short FRAME_RIGHT = 6;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::PAGE_FRAME
+ /** page includes margins for page-anchored frames identical with
+ <const>RelOrientation::FRAME</const>
+ */
+ const short PAGE_FRAME = 7;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::RelOrientation::PAGE_PRINT_AREA
+ /** page without borders (for page anchored frames identical with
+ <const>RelOrientation::PRINT_AREA</const>).
+
+<!-- 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.0
+ */
+ const short TEXT_LINE = 9;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/RubyAdjust.idl b/offapi/com/sun/star/text/RubyAdjust.idl
new file mode 100644
index 000000000000..0f86bc8e887d
--- /dev/null
+++ b/offapi/com/sun/star/text/RubyAdjust.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/SectionFileLink.idl b/offapi/com/sun/star/text/SectionFileLink.idl
new file mode 100644
index 000000000000..025488b03a15
--- /dev/null
+++ b/offapi/com/sun/star/text/SectionFileLink.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_SectionFileLink_idl__
+#define __com_sun_star_text_SectionFileLink_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::text::SectionFileLink
+/** 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>
+ <member>SectionFileLink::FilterName</member> is the internal name of
+ the document filter. To use this struct, it is not necessary to set
+ <member>SectionFileLink::FilterName</member>. It will be automatically
+ assigned.</p>
+ */
+published struct SectionFileLink
+{
+ // DocMerge from xml: field com::sun::star::text::SectionFileLink::FileURL
+ /** contains the URL of the linked file.
+ */
+ string FileURL;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::SectionFileLink::FilterName
+ /** contains the name of the file filter that is used to load the linked file.
+ */
+ string FilterName;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/SetVariableType.idl b/offapi/com/sun/star/text/SetVariableType.idl
new file mode 100644
index 000000000000..aadb3286ee1d
--- /dev/null
+++ b/offapi/com/sun/star/text/SetVariableType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_SetVariableType_idl__
+#define __com_sun_star_text_SetVariableType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::SetVariableType
+/** These constants define the type of a variable text field.
+ */
+published constants SetVariableType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::SetVariableType::VAR
+ /** specifies a simple variable.
+ */
+ const short VAR = 0;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::SetVariableType::SEQUENCE
+ /** specifies a number sequence field.
+ */
+ const short SEQUENCE = 1;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::SetVariableType::FORMULA
+ /** specifies a formula field.
+ */
+ const short FORMULA = 2;
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::SetVariableType::STRING
+ /** specifies a string field.
+ */
+ const short STRING = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Shape.idl b/offapi/com/sun/star/text/Shape.idl
new file mode 100644
index 000000000000..43d64efcf9c9
--- /dev/null
+++ b/offapi/com/sun/star/text/Shape.idl
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Shape_idl__
+#define __com_sun_star_text_Shape_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+#ifndef __com_sun_star_drawing_Shape_idl__
+#include <com/sun/star/drawing/Shape.idl>
+#endif
+#ifndef __com_sun_star_text_TextContentAnchorType_idl__
+#include <com/sun/star/text/TextContentAnchorType.idl>
+#endif
+#ifndef __com_sun_star_text_WrapTextMode_idl__
+#include <com/sun/star/text/WrapTextMode.idl>
+#endif
+
+//=============================================================================
+
+ 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
+ <const>TextContentAnchorType::AT_PAGE</const>.</p>
+ */
+ [property] short AnchorPageNo;
+ //-------------------------------------------------------------------------
+ /** contains the text frame the current frame is anchored to.
+ <p> The value is valid only if the
+ AnchorType is <const>TextContentAnchorType::AT_FRAME</const>.</p>
+ */
+ [property] com::sun::star::text::XTextFrame AnchorFrame;
+ //-------------------------------------------------------------------------
+ /** specifies how the text content is attached to its surrounding
+ <type>Text</type>.
+ */
+ [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 <member>TextEmbeddedObject::VertOrient</member> is
+ <const>VertOrientation::NONE</const>.
+ */
+ [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 <type scope="com::sun::star::text">XSimpleText</type>. The other is to call the add()
+ method of the <type scope="com::sun::star::drawing">XShapes</type> 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 <member>WrapInfluenceOnPosition</member></p>
+
+ @since OOo 2.0.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.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 <member>PositionLayoutDir</member></p>
+
+ @since OOo 2.0.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.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.0
+ */
+ [optional, readonly, property] com::sun::star::awt::Point EndPositionInHoriL2R;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/SizeType.idl b/offapi/com/sun/star/text/SizeType.idl
new file mode 100644
index 000000000000..879e75b11523
--- /dev/null
+++ b/offapi/com/sun/star/text/SizeType.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_SizeType_idl__
+#define __com_sun_star_text_SizeType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::SizeType
+/** 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 determind by the content only.
+
+ // DocMerge: empty anyway
+ const short VARIABLE = 0;
+
+ //-------------------------------------------------------------------------
+ // The height property determins the height of the object.
+
+ // DocMerge: empty anyway
+ const short FIX = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::SizeType::MIN
+ /** 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
diff --git a/offapi/com/sun/star/text/TableColumnSeparator.idl b/offapi/com/sun/star/text/TableColumnSeparator.idl
new file mode 100644
index 000000000000..6c15897bd57d
--- /dev/null
+++ b/offapi/com/sun/star/text/TableColumnSeparator.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>TableColumnSeparator</type>s. 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 <member>TextTable::TableColumnRelativeSum</member>.
+
+ </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 <member>TableColumnSeparator::IsVisible</member> 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
diff --git a/offapi/com/sun/star/text/TableColumns.idl b/offapi/com/sun/star/text/TableColumns.idl
new file mode 100644
index 000000000000..bb83142f18ee
--- /dev/null
+++ b/offapi/com/sun/star/text/TableColumns.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableColumns_idl__
+#define __com_sun_star_table_TableColumns_idl__
+
+#ifndef __com_sun_star_table_XTableColumns_idl__
+#include <com/sun/star/table/XTableColumns.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/text/TableIndex.idl b/offapi/com/sun/star/text/TableIndex.idl
new file mode 100644
index 000000000000..88df41899776
--- /dev/null
+++ b/offapi/com/sun/star/text/TableIndex.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#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
+
+
diff --git a/offapi/com/sun/star/text/TableRows.idl b/offapi/com/sun/star/text/TableRows.idl
new file mode 100644
index 000000000000..f3989d11a891
--- /dev/null
+++ b/offapi/com/sun/star/text/TableRows.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_table_TableRows_idl__
+#define __com_sun_star_table_TableRows_idl__
+
+#ifndef __com_sun_star_table_XTableRows_idl__
+#include <com/sun/star/table/XTableRows.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/text/TemplateDisplayFormat.idl b/offapi/com/sun/star/text/TemplateDisplayFormat.idl
new file mode 100644
index 000000000000..00733c721010
--- /dev/null
+++ b/offapi/com/sun/star/text/TemplateDisplayFormat.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TemplateDisplayFormat_idl__
+#define __com_sun_star_text_TemplateDisplayFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::TemplateDisplayFormat
+/** 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.
+
+ // DocMerge: empty anyway
+ const short FULL = 0;
+
+ //-------------------------------------------------------------------------
+ // Only the path of the template file will be displayed.
+
+ // DocMerge: empty anyway
+ const short PATH = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::TemplateDisplayFormat::NAME
+ /** Only the file name, without file extension, of the template
+ file will be displayed.
+ */
+ const short NAME = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::TemplateDisplayFormat::NAME_AND_EXT
+ /** The file name and the file extension of the template
+ file will be displayed.
+ */
+ const short NAME_AND_EXT = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::TemplateDisplayFormat::AREA
+ /** The name of the template area is displayed.
+ */
+ const short AREA = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::TemplateDisplayFormat::TITLE
+ /** The title of the template file is displayed.
+ */
+ const short TITLE = 5;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/Text.idl b/offapi/com/sun/star/text/Text.idl
new file mode 100644
index 000000000000..bf3b26d0f943
--- /dev/null
+++ b/offapi/com/sun/star/text/Text.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_Text_idl__
+#define __com_sun_star_text_Text_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 postions of <type>TextRange</type>
+ 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
diff --git a/offapi/com/sun/star/text/TextColumn.idl b/offapi/com/sun/star/text/TextColumn.idl
new file mode 100644
index 000000000000..3eb67e459bce
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumn.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextColumn_idl__
+#define __com_sun_star_text_TextColumn_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::text::TextColumn
+/** defines a single text column.
+ */
+published struct TextColumn
+{
+ // DocMerge from xml: field com::sun::star::text::TextColumn::Width
+ /** contains the relative width of the column, including both margins.
+
+
+ Width isn't a metric value, its a relative value to the sum of the width of all columns.
+ */
+ long Width;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::TextColumn::LeftMargin
+ /** contains the left margin of the column.
+
+
+
+ <p>This is a metric value.</p>
+ */
+ long LeftMargin;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::TextColumn::RightMargin
+ /** contains the right margin of the column.
+
+
+
+ <p>This is a metric value.</p>
+ */
+ long RightMargin;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextColumnSequence.idl b/offapi/com/sun/star/text/TextColumnSequence.idl
new file mode 100644
index 000000000000..f580489f89ad
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumnSequence.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextColumnSequence_idl__
+#define __com_sun_star_text_TextColumnSequence_idl__
+
+#ifndef __com_sun_star_text_TextColumn_idl__
+#include <com/sun/star/text/TextColumn.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/**
+*/
+published typedef sequence<TextColumn> TextColumnSequence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextColumns.idl b/offapi/com/sun/star/text/TextColumns.idl
new file mode 100644
index 000000000000..b233348277d0
--- /dev/null
+++ b/offapi/com/sun/star/text/TextColumns.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextColumns_idl__
+#define __com_sun_star_text_TextColumns_idl__
+
+#ifndef __com_sun_star_text_XTextColumns_idl__
+#include <com/sun/star/text/XTextColumns.idl>
+#endif
+
+#ifndef __com_sun_star_style_VerticalAlignment_idl__
+#include <com/sun/star/style/VerticalAlignment.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextColumns
+/** provides access to columns in text (e.g., in TextFrames ).
+ */
+published service TextColumns
+{
+ // DocMerge: empty anyway
+ 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;
+ //------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextContent.idl b/offapi/com/sun/star/text/TextContent.idl
new file mode 100644
index 000000000000..4efab8af7377
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContent.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextContent_idl__
+#define __com_sun_star_text_TextContent_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextContentAnchorType_idl__
+#include <com/sun/star/text/TextContentAnchorType.idl>
+#endif
+
+#ifndef __com_sun_star_text_WrapTextMode_idl__
+#include <com/sun/star/text/WrapTextMode.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** is an object which can be anchored in a text, like instances of
+ <type>TextFrame</type> or <type>TextField</type>.
+
+ <p>If the concrete <type>TextContent</type> has a textual
+ representation which fades into the surrounding text, then
+ <type>XTextField</type> is used.
+
+ <p>If the concrete <type>TextContent</type> has a "floating" object,
+ like a graphic, <type scope="com::sun::star::drawing">XShape</type>
+ 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
+ <type>Text</type>.
+ */
+ [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
diff --git a/offapi/com/sun/star/text/TextContentAnchorType.idl b/offapi/com/sun/star/text/TextContentAnchorType.idl
new file mode 100644
index 000000000000..b9db2fb30225
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContentAnchorType.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextContentAnchorType_idl__
+#define __com_sun_star_text_TextContentAnchorType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::text::TextContentAnchorType
+/** specify how the text content is attached to its
+ surrounding text.
+ */
+published enum TextContentAnchorType
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::TextContentAnchorType::AT_PARAGRAPH
+ /** The anchor of the object is set at the top left position of the paragraph.
+ */
+ AT_PARAGRAPH,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::TextContentAnchorType::AS_CHARACTER
+ /** The object is anchored instead of a character.
+
+
+
+ <p>The size of the object influences the height of the text line.</p>
+ */
+ AS_CHARACTER,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::TextContentAnchorType::AT_PAGE
+ /** The object is anchored to the page.
+
+
+
+ <p>The position does not change if the content of the document is changed.</p>
+ */
+ AT_PAGE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::TextContentAnchorType::AT_FRAME
+ /** The object is anchored to a text frame.
+ */
+ AT_FRAME,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::TextContentAnchorType::AT_CHARACTER
+ /** 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
diff --git a/offapi/com/sun/star/text/TextContentCollection.idl b/offapi/com/sun/star/text/TextContentCollection.idl
new file mode 100644
index 000000000000..602a6adb1fdb
--- /dev/null
+++ b/offapi/com/sun/star/text/TextContentCollection.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextContentCollection_idl__
+#define __com_sun_star_text_TextContentCollection_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextContentCollection
+/** Objects of this type are collections of text contents of the same type.@see Text
+ */
+published service TextContentCollection
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::TextContentCollection: interface com::sun::star::container::XNameAccess
+ /** Each text content is accessible by its name, which is unique
+ within the collection.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextContentCollection: interface com::sun::star::container::XContainer
+ /** The insertion and removal of text contents of this type are
+ broadcasted via this interface.
+ */
+ interface com::sun::star::container::XContainer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextCursor.idl b/offapi/com/sun/star/text/TextCursor.idl
new file mode 100644
index 000000000000..2882fd5ab2fa
--- /dev/null
+++ b/offapi/com/sun/star/text/TextCursor.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextCursor_idl__
+#define __com_sun_star_text_TextCursor_idl__
+
+#ifndef __com_sun_star_text_TextRange_idl__
+#include <com/sun/star/text/TextRange.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+#ifndef __com_sun_star_text_XWordCursor_idl__
+#include <com/sun/star/text/XWordCursor.idl>
+#endif
+
+#ifndef __com_sun_star_text_XSentenceCursor_idl__
+#include <com/sun/star/text/XSentenceCursor.idl>
+#endif
+
+#ifndef __com_sun_star_text_XParagraphCursor_idl__
+#include <com/sun/star/text/XParagraphCursor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertyStates_idl__
+#include <com/sun/star/beans/XMultiPropertyStates.idl>
+#endif
+
+#ifndef __com_sun_star_document_XDocumentInsertable_idl__
+#include <com/sun/star/document/XDocumentInsertable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSortable_idl__
+#include <com/sun/star/util/XSortable.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextCursor
+/** A <type>TextCursor</type> is a <type>TextRange</type> which can be moved
+ within a <type>Text</type> object.
+ @see TextRange
+ */
+published service TextCursor
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextRange;
+
+ interface com::sun::star::text::XTextCursor;
+
+ // DocMerge: empty anyway
+ [optional] interface com::sun::star::text::XWordCursor;
+
+ // DocMerge: empty anyway
+ [optional] interface com::sun::star::text::XSentenceCursor;
+
+ // DocMerge: empty anyway
+ [optional] interface com::sun::star::text::XParagraphCursor;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextCursor: interface com::sun::star::beans::XPropertySet
+ /** This interface gives access to the properties of the range that is
+ selected by the cursor.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextCursor: interface com::sun::star::beans::XPropertyState
+ /** 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;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextCursor: interface com::sun::star::document::XDocumentInsertable
+ /** 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;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextCursor: interface com::sun::star::util::XSortable
+ /** This optional interface makes it possible to sort the contents at
+ the cursor position.
+ */
+ [optional] interface com::sun::star::util::XSortable;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/TextDocument.idl b/offapi/com/sun/star/text/TextDocument.idl
new file mode 100644
index 000000000000..586fc917e6f3
--- /dev/null
+++ b/offapi/com/sun/star/text/TextDocument.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextDocument_idl__
+#define __com_sun_star_text_TextDocument_idl__
+
+#ifndef __com_sun_star_text_GenericTextDocument_idl__
+#include <com/sun/star/text/GenericTextDocument.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/TextDocumentView.idl b/offapi/com/sun/star/text/TextDocumentView.idl
new file mode 100644
index 000000000000..cd87a4f31404
--- /dev/null
+++ b/offapi/com/sun/star/text/TextDocumentView.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextDocumentView_idl__
+#define __com_sun_star_text_TextDocumentView_idl__
+
+#ifndef __com_sun_star_view_OfficeDocumentView_idl__
+#include <com/sun/star/view/OfficeDocumentView.idl>
+#endif
+
+#ifndef __com_sun_star_view_XViewSettingsSupplier_idl__
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextViewCursorSupplier_idl__
+#include <com/sun/star/text/XTextViewCursorSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** specifies the view of a <type>TextDocument</type>.
+ */
+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 spellchecking 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
diff --git a/offapi/com/sun/star/text/TextEmbeddedObject.idl b/offapi/com/sun/star/text/TextEmbeddedObject.idl
new file mode 100644
index 000000000000..6a94586377fb
--- /dev/null
+++ b/offapi/com/sun/star/text/TextEmbeddedObject.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextEmbeddedObject_idl__
+#define __com_sun_star_text_TextEmbeddedObject_idl__
+
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_text_BaseFrame_idl__
+#include <com/sun/star/text/BaseFrame.idl>
+#endif
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextEmbeddedObject
+/** 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 embeddedobjects.
+ */
+ service BaseFrame;
+ // DocMerge: empty anyway
+ 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
diff --git a/offapi/com/sun/star/text/TextEmbeddedObjects.idl b/offapi/com/sun/star/text/TextEmbeddedObjects.idl
new file mode 100644
index 000000000000..61d76be3db50
--- /dev/null
+++ b/offapi/com/sun/star/text/TextEmbeddedObjects.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextEmbeddedObjects_idl__
+#define __com_sun_star_text_TextEmbeddedObjects_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>TextEmbeddedObject</type>
+ 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 <type>TextEmbeddedObject</type>
+ 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
diff --git a/offapi/com/sun/star/text/TextField.idl b/offapi/com/sun/star/text/TextField.idl
new file mode 100644
index 000000000000..af0973009223
--- /dev/null
+++ b/offapi/com/sun/star/text/TextField.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextField_idl__
+#define __com_sun_star_text_TextField_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextField_idl__
+#include <com/sun/star/text/XTextField.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** A <type>TextField</type> is a <type>TextContent</type> 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;
+
+ //-------------------------------------------------------------------------
+
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextFieldEnumeration.idl b/offapi/com/sun/star/text/TextFieldEnumeration.idl
new file mode 100644
index 000000000000..5502559aa0d1
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldEnumeration.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFieldEnumeration_idl__
+#define __com_sun_star_text_TextFieldEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
+
diff --git a/offapi/com/sun/star/text/TextFieldMaster.idl b/offapi/com/sun/star/text/TextFieldMaster.idl
new file mode 100644
index 000000000000..0bb13d5373c0
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldMaster.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFieldMaster_idl__
+#define __com_sun_star_text_TextFieldMaster_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_text_XDependentTextField_idl__
+#include <com/sun/star/text/XDependentTextField.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** A <type>TextFieldMaster</type> specifies important data for its
+ <type>DependentTextField</type>s.
+ */
+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;
+ //------------------------------------------------------------------------
+ /** determins 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 <type scope="::com::sun::star::text">
+ XTextFieldsSupplier</type>.
+ */
+ [readonly, property] string InstanceName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextFieldMasters.idl b/offapi/com/sun/star/text/TextFieldMasters.idl
new file mode 100644
index 000000000000..e176b13fbcdb
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFieldMasters.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFieldMasters_idl__
+#define __com_sun_star_text_TextFieldMasters_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextFieldMasters
+/** This is a collection of instances of <type>TextFieldMaster</type>, defined
+ in a context (e.g. in a document).
+ */
+published service TextFieldMasters
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::TextFieldMasters: interface com::sun::star::container::XNameAccess
+ /** This interface makes it possible to access the instances of service
+ <type>TextFieldMaster</type> defined in this context (e.g. this
+ document).
+
+ @see TextFieldMaster
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextFields.idl b/offapi/com/sun/star/text/TextFields.idl
new file mode 100644
index 000000000000..c791be596186
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFields.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFields_idl__
+#define __com_sun_star_text_TextFields_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#include <com/sun/star/util/XRefreshable.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextFields
+/** This is a collection of <type>TextField</type> instances.
+ */
+published service TextFields
+{
+
+ // DocMerge from xml: service com::sun::star::text::TextFields: interface com::sun::star::container::XEnumerationAccess
+ /** This interface makes it possible to create an enumeration through
+ all text fields in this container.
+
+ <p>All elements are of type <type>XTextField</type>.</p>
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** makes it possible to refresh (recalculate etc.) all fields.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl
new file mode 100755
index 000000000000..e43b3d79197c
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFrame.idl
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFrame_idl__
+#define __com_sun_star_text_TextFrame_idl__
+
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+
+#ifndef __com_sun_star_text_BaseFrame_idl__
+#include <com/sun/star/text/BaseFrame.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** specifies a rectangular shape which contains a <type>Text</type> object
+ and is attached to a piece of surrounding <type>Text</type>.
+
+ @see Text
+
+ @example StarBasic
+
+ <p>This example shows how to create a <type>TextFrame</type> and insert
+ it at the very beginning of <type>Text</type> component. The macro
+ is ready to run, if it is a script within a text document. </p>
+
+ <listing>
+ 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
+ </listing>
+ */
+published service TextFrame
+{
+ /** contains the definition of interfaces and properties that are supported by text frames,
+ graphic objects and embeddedobjects.
+ */
+ 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
+ <type scope="com::sun::star::text">WritingMode2</type> 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 detemined by
+ the table cell.</p>
+ */
+ [optional, property] boolean IsFollowingTextFlow;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextFrames.idl b/offapi/com/sun/star/text/TextFrames.idl
new file mode 100644
index 000000000000..b6be445057ea
--- /dev/null
+++ b/offapi/com/sun/star/text/TextFrames.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextFrames_idl__
+#define __com_sun_star_text_TextFrames_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextFrames
+/** This is the collection of all <type>TextFrame</type> instances within a
+ context (e.g. a document).
+ */
+published service TextFrames
+{
+
+
+ // DocMerge from xml: service com::sun::star::text::TextFrames: interface com::sun::star::container::XNameAccess
+ /** This interface makes it possible to access all <type>TextFrame</type>
+ 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 <type>TextFrame</type>
+ 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;
+
+
+ // DocMerge from xml: service com::sun::star::text::TextFrames: interface com::sun::star::container::XContainer
+ /** This optional interface makes it possible to register for events
+ which occur upon insertion and removal of <type>TextFrame</type>
+ instances.
+ */
+ [optional] interface com::sun::star::container::XContainer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextGraphicObject.idl b/offapi/com/sun/star/text/TextGraphicObject.idl
new file mode 100644
index 000000000000..e3f88c0331ed
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGraphicObject.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextGraphicObject_idl__
+#define __com_sun_star_text_TextGraphicObject_idl__
+
+#ifndef __com_sun_star_text_BaseFrame_idl__
+#include <com/sun/star/text/BaseFrame.idl>
+#endif
+
+#ifndef __com_sun_star_text_GraphicCrop_idl__
+#include <com/sun/star/text/GraphicCrop.idl>
+#endif
+
+#ifndef __com_sun_star_drawing_PointSequenceSequence_idl__
+#include <com/sun/star/drawing/PointSequenceSequence.idl>
+#endif
+#ifndef __com_sun_star_drawing_ColorMode_idl__
+#include <com/sun/star/drawing/ColorMode.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** specifies a graphic which can be embedded in <type>Text</type>.
+ */
+published service TextGraphicObject
+{
+ /** contains the definition of interfaces and properties that are supported by text frames,
+ graphic objects and embeddedobjects.
+ */
+ 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
+ */
+ [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;
+ //-------------------------------------------------------------------------
+ /** determins the gamma value of the graphic.
+ */
+ [property] double Gamma;
+ //-------------------------------------------------------------------------
+ /** determins if the graphic is display in inverted colors.
+ It contains percentage values between -100 and +100.
+ */
+ [property] boolean GraphicIsInverted;
+ //-------------------------------------------------------------------------
+ /** .
+ It contains percentage values between -100 and +100.
+ */
+ [property] short Transparency;
+ //-------------------------------------------------------------------------
+ /** contains the ColorMode as <type scope="com::sun::star::drawing">ColorMode</type>.
+ */
+ [property] com::sun::star::drawing::ColorMode GraphicColorMode;
+ //-------------------------------------------------------------------------
+ /** contains the graphic.
+ */
+ [optional, property] com::sun::star::graphic::XGraphic Graphic;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextGraphicObjects.idl b/offapi/com/sun/star/text/TextGraphicObjects.idl
new file mode 100644
index 000000000000..3aff7dbdce59
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGraphicObjects.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextGraphicObjects_idl__
+#define __com_sun_star_text_TextGraphicObjects_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** This is the collection of all <type>TextGraphicObject</type> instances within a
+ context (e.g. a document).
+ */
+published service TextGraphicObjects
+{
+
+
+ /** This interface makes it possible to access all <type>TextGraphicObject</type>
+ 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 <type>TextGraphicObject</type>
+ 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
+
diff --git a/offapi/com/sun/star/text/TextGridMode.idl b/offapi/com/sun/star/text/TextGridMode.idl
new file mode 100644
index 000000000000..4ab6c14c1af7
--- /dev/null
+++ b/offapi/com/sun/star/text/TextGridMode.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/TextLayoutCursor.idl b/offapi/com/sun/star/text/TextLayoutCursor.idl
new file mode 100644
index 000000000000..0849204150fa
--- /dev/null
+++ b/offapi/com/sun/star/text/TextLayoutCursor.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextLayoutCursor_idl__
+#define __com_sun_star_text_TextLayoutCursor_idl__
+
+#ifndef __com_sun_star_text_TextCursor_idl__
+#include <com/sun/star/text/TextCursor.idl>
+#endif
+
+#ifndef __com_sun_star_text_XPageCursor_idl__
+#include <com/sun/star/text/XPageCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextLayoutCursor
+/** A <type>TextLayoutCursor</type> is a <type>TextRange</type> which can
+ travel within a layout of a <type>Text</type> object.
+ */
+published service TextLayoutCursor
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextCursor;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::text::XPageCursor;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextMarkupDescriptor.idl b/offapi/com/sun/star/text/TextMarkupDescriptor.idl
new file mode 100644
index 000000000000..d6f2ba9c059e
--- /dev/null
+++ b/offapi/com/sun/star/text/TextMarkupDescriptor.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_TextMarkupDescriptor_idl__
+#define __com_sun_star_text_TextMarkupDescriptor_idl__
+
+#ifndef __com_sun_star_container_XStringKeyMap_idl__
+#include <com/sun/star/container/XStringKeyMap.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextMarkupType_idl__
+#include <com/sun/star/text/TextMarkupType.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>TextMarkupType</type>
+ 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
+ com::sun::star::container::XStringKeyMap xMarkupInfoContainer;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/text/TextMarkupType.idl b/offapi/com/sun/star/text/TextMarkupType.idl
new file mode 100644
index 000000000000..f5ea4e59f1ec
--- /dev/null
+++ b/offapi/com/sun/star/text/TextMarkupType.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <method>XTextMarkup::commitTextMarkup()</method></p>
+
+ @since OOo 2.3.0
+ */
+
+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 inivisible 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 \ No newline at end of file
diff --git a/offapi/com/sun/star/text/TextPageStyle.idl b/offapi/com/sun/star/text/TextPageStyle.idl
new file mode 100644
index 000000000000..781483ecd181
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPageStyle.idl
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_TextPageStyle_idl__
+#define __com_sun_star_text_TextPageStyle_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+#ifndef __com_sun_star_table_BorderLine_idl__
+#include <com/sun/star/table/BorderLine.idl>
+#endif
+#ifndef __com_sun_star_style_PageStyleLayout_idl__
+#include <com/sun/star/style/PageStyleLayout.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+#ifndef __com_sun_star_text_XTextColumns_idl__
+#include <com/sun/star/text/XTextColumns.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** represents a page style for a text document.
+
+ <p>This service extends the service
+ <type scope="com::sun::star::style">PageStyle</type> with specific
+ properties for text documents.</p>
+ */
+published service TextPageStyle
+{
+ //-------------------------------------------------------------------------
+
+ /** determins 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 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 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
+
diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl
new file mode 100644
index 000000000000..6c23d9fa1655
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPortion.idl
@@ -0,0 +1,178 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextPortion_idl__
+#define __com_sun_star_text_TextPortion_idl__
+
+
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContentEnumerationAccess_idl__
+#include <com/sun/star/container/XContentEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextRange_idl__
+#include <com/sun/star/text/TextRange.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextField_idl__
+#include <com/sun/star/text/XTextField.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFootnote_idl__
+#include <com/sun/star/text/XFootnote.idl>
+#endif
+
+
+//=============================================================================
+
+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.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 <type scope="com::sun::star::container">
+ XContentEnumerationAccess</type></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
diff --git a/offapi/com/sun/star/text/TextPortionEnumeration.idl b/offapi/com/sun/star/text/TextPortionEnumeration.idl
new file mode 100644
index 000000000000..0472a874d260
--- /dev/null
+++ b/offapi/com/sun/star/text/TextPortionEnumeration.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextPortionEnumeration_idl__
+#define __com_sun_star_text_TextPortionEnumeration_idl__
+
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/text/TextRange.idl b/offapi/com/sun/star/text/TextRange.idl
new file mode 100644
index 000000000000..7fe5d2ed37c5
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRange.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextRange_idl__
+#define __com_sun_star_text_TextRange_idl__
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_container_XContentEnumerationAccess_idl__
+#include <com/sun/star/container/XContentEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** points to a sequence of characters within a <type>Text</type>.
+
+ <p>The service provides access to the string content and the properties
+ of this range of text and the <type>TextContent</type> instances which
+ are bound to this text range. </p>
+
+ <p>A <type>TextRange</type> is also used for a <i>text portion</i> which is
+ returned by the <type scope="com::sun::star::container">XEnumeration</type>
+ 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
diff --git a/offapi/com/sun/star/text/TextRangeContentProperties.idl b/offapi/com/sun/star/text/TextRangeContentProperties.idl
new file mode 100644
index 000000000000..74acb67cf9ed
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRangeContentProperties.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_TextRangeContentProperties_idl__
+#define __com_sun_star_text_TextRangeContentProperties_idl__
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndex_idl__
+#include <com/sun/star/text/XDocumentIndex.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTable_idl__
+#include <com/sun/star/text/XTextTable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextSection_idl__
+#include <com/sun/star/text/XTextSection.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndexMark_idl__
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFootnote_idl__
+#include <com/sun/star/text/XFootnote.idl>
+#endif
+
+
+//=============================================================================
+
+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 a endnote. */
+ [optional, readonly, property] com::sun::star::text::XFootnote Endnote;
+
+ //-------------------------------------------------------------------------
+ /** may contain a nested text content.
+
+ For example, may contain an <type>InContentMetadata</type> or a
+ <type scope="com::sun::star::text::textfield">MetadataField</type>.
+ */
+ [optional, readonly, property] com::sun::star::text::XTextContent
+ NestedTextContent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextRanges.idl b/offapi/com/sun/star/text/TextRanges.idl
new file mode 100644
index 000000000000..38ecb4c18662
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRanges.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextRanges_idl__
+#define __com_sun_star_text_TextRanges_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextRanges
+/** provides a container for <type>XTextRange</type> objects.
+ */
+published service TextRanges
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextSection.idl b/offapi/com/sun/star/text/TextSection.idl
new file mode 100644
index 000000000000..b253f73868e4
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSection.idl
@@ -0,0 +1,254 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextSection_idl__
+#define __com_sun_star_text_TextSection_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextSection_idl__
+#include <com/sun/star/text/XTextSection.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#include <com/sun/star/beans/XPropertyState.idl>
+#endif
+
+#ifndef __com_sun_star_text_SectionFileLink_idl__
+#include <com/sun/star/text/SectionFileLink.idl>
+#endif
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_text_XTextColumns_idl__
+#include <com/sun/star/text/XTextColumns.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** A <type>TextSection</type> 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><type>TextSection</type> 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
+ <member>TextSection::IsVisible</member> 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 <member>TextSection::FileLink</member>.
+
+ <p>The source may be a text section or a bookmark.
+ If <member>TextSection::FileLink</member> is empty, then the
+ current document is searched for the source. If this property
+ is empty and <member>TextSection::FileLink</member> 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.
+ */
+ [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;
+ /** determins whether footnotes inside the section are displayed at the end of the
+ section text.
+ */
+ [property] boolean FootnoteIsCollectAtTextEnd;
+ //-------------------------------------------------------------------------
+ /** determins whether the footnotes numbering restarts within the section.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean FootnoteIsRestartNumbering;
+ //-------------------------------------------------------------------------
+ /** determins at which number the footnote numbering inside of the section starts.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] short FootnoteRestartNumberingAt;
+ //-------------------------------------------------------------------------
+ /** determins whether the footnotes within the section use an own numbering format.
+ This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean FootnoteIsOwnNumbering;
+ //-------------------------------------------------------------------------
+ /** determins the numbering type of the footnote numbering as a value of
+ <type scope="com::sun::star::style">NumberingType</type>.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] short FootnoteNumberingType;
+ //-------------------------------------------------------------------------
+ /** determins the prefix that is display before the footnote number.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] string FootnoteNumberingPrefix;
+ //-------------------------------------------------------------------------
+ /** determins the suffix that is display after of the footnote number.
+ This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
+ */
+ [property] string FootnoteNumberingSuffix;
+ //-------------------------------------------------------------------------
+ /** determins whether endnotes inside the section are displayed at the end of the
+ section text.
+ */
+ [property] boolean EndnoteIsCollectAtTextEnd;
+ //-------------------------------------------------------------------------
+ /** determins whether the endnotes numbering restarts within the section.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean EndnoteIsRestartNumbering;
+ //-------------------------------------------------------------------------
+ /** determins at which number the endnote numbering inside of the section starts.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] short EndnoteRestartNumberingAt;
+ //-------------------------------------------------------------------------
+ /** determins whether the endnotes within the section use an own numbering format.
+ This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
+ */
+ [property] boolean EndnoteIsOwnNumbering;
+ //-------------------------------------------------------------------------
+ /** determins the numbering type of the endnote numbering as a value of
+ <type scope="com::sun::star::style">NumberingType</type>.
+ This is only valid if <code>EndoteIsOwnNumbering</code> is set.
+ */
+ [property] short EndnoteNumberingType;
+ //-------------------------------------------------------------------------
+ /** determins the prefix that is display before the endnote number.
+ This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
+ */
+ [property] string EndnoteNumberingPrefix;
+ //-------------------------------------------------------------------------
+ /** determins the suffix that is display after the endnote number.
+ This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
+ */
+ [property] string EndnoteNumberingSuffix;
+ //-------------------------------------------------------------------------
+ /** determins 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;
+ /** determins the left margin of the section
+ */
+ [optional, property] long SectionLeftMargin;
+ //-------------------------------------------------------------------------
+ /** determins the left margin of the section
+ */
+ [optional, property] long SectionRightMargin;
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextSections.idl b/offapi/com/sun/star/text/TextSections.idl
new file mode 100644
index 000000000000..de333df8afeb
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSections.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextSections_idl__
+#define __com_sun_star_text_TextSections_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextSections
+/** provides access to the text sections in a text document.
+ */
+published service TextSections
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexAccess;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextSortDescriptor.idl b/offapi/com/sun/star/text/TextSortDescriptor.idl
new file mode 100644
index 000000000000..19993c5fc442
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortDescriptor.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextSortDescriptor_idl__
+#define __com_sun_star_text_TextSortDescriptor_idl__
+
+#ifndef __com_sun_star_util_SortDescriptor_idl__
+#include <com/sun/star/util/SortDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextSortDescriptor
+/** describes sort criteria for sorting text.
+
+ @deprecated
+ */
+published service TextSortDescriptor
+{
+ // DocMerge: empty anyway
+ service com::sun::star::util::SortDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::Delimiter
+ /** contains the character that marks the separation of columns.
+ */
+ [property] char Delimiter;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortInTable
+ /** determines if the content of a table is to be sorted.
+ */
+ [property] boolean IsSortInTable;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::SortRowOrColumnNo0
+ /** contains the row or column index used in the first search key.
+ */
+ [property] long SortRowOrColumnNo0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortNumeric0
+ /** determines if the sorting in the first search key is done
+ numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortAscending0
+ /** determines if the sorting in the first search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::SortRowOrColumnNo1
+ /** contains the row or column index used in the second search key.
+ */
+ [property] long SortRowOrColumnNo1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortNumeric1
+ /** determines if the sorting in the second search key is done
+ in numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortAscending1
+ /** determines if the sorting in the second search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::SortRowOrColumnNo2
+ /** contains the row or column index used in the third search key.
+ */
+ [property] long SortRowOrColumnNo2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortNumeric2
+ /** determines if the sorting in the third search key is done
+ in numeric or alphanumeric order.
+ */
+ [property] boolean IsSortNumeric2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::TextSortDescriptor::IsSortAscending2
+ /** determines if the sorting in the third search key is done
+ in ascending or descending order.
+ */
+ [property] boolean IsSortAscending2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/TextSortDescriptor2.idl b/offapi/com/sun/star/text/TextSortDescriptor2.idl
new file mode 100644
index 000000000000..1805272b368c
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortDescriptor2.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextSortDescriptor2_idl__
+#define __com_sun_star_text_TextSortDescriptor2_idl__
+
+#ifndef __com_sun_star_table_TableSortDescriptor2_idl__
+#include <com/sun/star/table/TableSortDescriptor2.idl>
+#endif
+#ifndef __com_sun_star_table_TableSortField_idl__
+#include <com/sun/star/table/TableSortField.idl>
+#endif
+#ifndef __com_sun_star_table_TableSortFieldType_idl__
+#include <com/sun/star/table/TableSortFieldType.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** describes sort criterias 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
diff --git a/offapi/com/sun/star/text/TextSortable.idl b/offapi/com/sun/star/text/TextSortable.idl
new file mode 100644
index 000000000000..f4c7cccc7d29
--- /dev/null
+++ b/offapi/com/sun/star/text/TextSortable.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_TextSortable_idl__
+#define __com_sun_star_util_TextSortable_idl__
+
+#ifndef __com_sun_star_text_TextSortDescriptor_idl__
+#include <com/sun/star/text/TextSortDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSortable_idl__
+#include <com/sun/star/util/XSortable.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::text">TextSortDescriptor</type>
+ */
+ interface com::sun::star::util::XSortable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextTable.idl b/offapi/com/sun/star/text/TextTable.idl
new file mode 100644
index 000000000000..eea848cb4f64
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTable.idl
@@ -0,0 +1,295 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextTable_idl__
+#define __com_sun_star_text_TextTable_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTable_idl__
+#include <com/sun/star/text/XTextTable.idl>
+#endif
+#ifndef __com_sun_star_text_TableColumnSeparator_idl__
+#include <com/sun/star/text/TableColumnSeparator.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+#ifndef __com_sun_star_style_BreakType_idl__
+#include <com/sun/star/style/BreakType.idl>
+#endif
+#ifndef __com_sun_star_table_ShadowFormat_idl__
+#include <com/sun/star/table/ShadowFormat.idl>
+#endif
+#ifndef __com_sun_star_table_TableBorder_idl__
+#include <com/sun/star/table/TableBorder.idl>
+#endif
+#ifndef __com_sun_star_table_XCellRange_idl__
+#include <com/sun/star/table/XCellRange.idl>
+#endif
+#ifndef __com_sun_star_table_XAutoFormattable_idl__
+#include <com/sun/star/table/XAutoFormattable.idl>
+#endif
+#ifndef __com_sun_star_chart_XChartDataArray_idl__
+#include <com/sun/star/chart/XChartDataArray.idl>
+#endif
+#ifndef __com_sun_star_util_XSortable_idl__
+#include <com/sun/star/util/XSortable.idl>
+#endif
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <member>XTextContent::attach</member> or
+ <member>XText::insertTextContent</member>
+ 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 <member>XText::insertTextContent</member>
+ and that interface uses a parameter of that type.</p>
+
+ @example
+
+ <p>Create and insert a TextTable:</p>
+
+ <listing>
+ 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 )
+ </listing>
+
+ @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;
+
+ /** determins 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;
+ //-------------------------------------------------------------------------
+
+ /** determins the width of the table relative to its environment.
+ */
+ [property] short RelativeWidth;
+ //-------------------------------------------------------------------------
+ /** determins if the value of the relative width is valid.
+ */
+ [property] boolean IsWidthRelative;
+ //-------------------------------------------------------------------------
+
+ /** determins if the first row of the table is repeated on every new page.
+ */
+ [property] boolean RepeatHeadline;
+ //-------------------------------------------------------------------------
+ /** determins the number of rows of the table repeated on every new page.
+ */
+ [optional, property] long HeaderRowCount;
+ //-------------------------------------------------------------------------
+
+ /** determins the type, color and size of the shadow.@see com.sun.star.table.ShadowFormat
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+ //-------------------------------------------------------------------------
+
+ /** determins the top margin.
+ */
+ [property] long TopMargin;
+ //-------------------------------------------------------------------------
+
+ /** determins the bottom margin.
+ */
+ [property] long BottomMargin;
+ //-------------------------------------------------------------------------
+
+ /** determins 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;
+ //-------------------------------------------------------------------------
+
+ /** determins if the first row of the table should be treated as
+ axis labels when a chart is to be created.
+ */
+ [property] boolean ChartRowAsLabel;
+ //-------------------------------------------------------------------------
+
+ /** determins 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.
+ */
+ [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 neighbouring table cells are
+ * collapsed into one
+ */
+ [optional, property] boolean CollapsingBorders;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextTableCursor.idl b/offapi/com/sun/star/text/TextTableCursor.idl
new file mode 100644
index 000000000000..b5b108ef3a72
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTableCursor.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextTableCursor_idl__
+#define __com_sun_star_text_TextTableCursor_idl__
+
+#ifndef __com_sun_star_text_XTextTableCursor_idl__
+#include <com/sun/star/text/XTextTableCursor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterProperties_idl__
+#include <com/sun/star/style/CharacterProperties.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#endif
+#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#endif
+#ifndef __com_sun_star_style_ParagraphProperties_idl__
+#include <com/sun/star/style/ParagraphProperties.idl>
+#endif
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/TextTableRow.idl b/offapi/com/sun/star/text/TextTableRow.idl
new file mode 100644
index 000000000000..1d5947a051a9
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTableRow.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextTableRow_idl__
+#define __com_sun_star_text_TextTableRow_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_style_GraphicLocation_idl__
+#include <com/sun/star/style/GraphicLocation.idl>
+#endif
+
+#ifndef __com_sun_star_text_TableColumnSeparator_idl__
+#include <com/sun/star/text/TableColumnSeparator.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [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.0
+ */
+ [optional, property, maybevoid] boolean IsSplitAllowed;
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/TextTables.idl b/offapi/com/sun/star/text/TextTables.idl
new file mode 100644
index 000000000000..55daffa1a074
--- /dev/null
+++ b/offapi/com/sun/star/text/TextTables.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextTables_idl__
+#define __com_sun_star_text_TextTables_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextTables
+/** provides access to all tables in a document.
+ */
+published service TextTables
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XIndexAccess;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TextViewCursor.idl b/offapi/com/sun/star/text/TextViewCursor.idl
new file mode 100644
index 000000000000..119d13cf78c1
--- /dev/null
+++ b/offapi/com/sun/star/text/TextViewCursor.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TextViewCursor_idl__
+#define __com_sun_star_text_TextViewCursor_idl__
+
+#ifndef __com_sun_star_text_TextLayoutCursor_idl__
+#include <com/sun/star/text/TextLayoutCursor.idl>
+#endif
+
+#ifndef __com_sun_star_view_XScreenCursor_idl__
+#include <com/sun/star/view/XScreenCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::TextViewCursor
+/** A <type>TextViewCursor</type> is a <type>TextRange</type> which can travel
+ within a view of a <type>Text</type> object.
+ @see TextDocumentView
+ */
+published service TextViewCursor
+{
+ // DocMerge: empty anyway
+ service com::sun::star::text::TextLayoutCursor;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::view::XScreenCursor;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/TimeDisplayFormat.idl b/offapi/com/sun/star/text/TimeDisplayFormat.idl
new file mode 100644
index 000000000000..2f52830706ce
--- /dev/null
+++ b/offapi/com/sun/star/text/TimeDisplayFormat.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_TimeDisplayFormat_idl__
+#define __com_sun_star_text_TimeDisplayFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** This constants define how a time field is formated before it is displayed.
+ The formate 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
diff --git a/offapi/com/sun/star/text/UserDataPart.idl b/offapi/com/sun/star/text/UserDataPart.idl
new file mode 100644
index 000000000000..41a8a03f1a6c
--- /dev/null
+++ b/offapi/com/sun/star/text/UserDataPart.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_UserDataPart_idl__
+#define __com_sun_star_text_UserDataPart_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::UserDataPart
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::COMPANY
+ /** The field shows the company name.
+ */
+ const short COMPANY = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::FIRSTNAME
+ /** The field shows the first name.
+ */
+ const short FIRSTNAME = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::NAME
+ /** The field shows the name.
+ */
+ const short NAME = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::SHORTCUT
+ /** The field shows the initials.
+ */
+ const short SHORTCUT = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::STREET
+ /** The field shows the street.
+ */
+ const short STREET = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::COUNTRY
+ /** The field shows the country.
+ */
+ const short COUNTRY = 5;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::ZIP
+ /** The field shows the zip code.
+ */
+ const short ZIP = 6;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::CITY
+ /** The field shows the city.
+ */
+ const short CITY = 7;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::TITLE
+ /** The field shows the title.
+ */
+ const short TITLE = 8;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::POSITION
+ /** The field shows the position.
+ */
+ const short POSITION = 9;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::PHONE_PRIVATE
+ /** The field shows the no of the private phone.
+ */
+ const short PHONE_PRIVATE = 10;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::PHONE_COMPANY
+ /** The field shows the number of the business phone.
+ */
+ const short PHONE_COMPANY = 11;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::FAX
+ /** The field shows the fax no.
+ */
+ const short FAX = 12;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::EMAIL
+ /** The field shows the e-Mail.
+ */
+ const short EMAIL = 13;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserDataPart::STATE
+ /** The field shows the state.
+ */
+ const short STATE = 14;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/UserDefinedIndex.idl b/offapi/com/sun/star/text/UserDefinedIndex.idl
new file mode 100644
index 000000000000..95da34ddeaaa
--- /dev/null
+++ b/offapi/com/sun/star/text/UserDefinedIndex.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_text_UserDefinedIndex_idl__
+#define __com_sun_star_text_UserDefinedIndex_idl__
+
+#include <com/sun/star/text/BaseIndex.idl>
+#ifndef __com_sun_star_text_XDocumentIndexMark_idl__
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ /** determins if the document index marks are included in this index.
+ */
+ [optional, property] boolean CreateFromMarks;
+
+ /** determins if the outline level of the location of the indexed object is
+ used as index level of the index entry.*/
+ [optional, property] boolean UseLevelFromSource;
+
+ /** determins if tables are included in the index.
+ */
+ [optional, property] boolean CreateFromTables;
+
+ /** determins if text frames are included in the index.
+ */
+ [optional, property] boolean CreateFromTextFrames;
+
+ /** determins if graphic objects are included in the index.
+ */
+ [optional, property] boolean CreateFromGraphicObjects;
+
+ /** determins 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
+
diff --git a/offapi/com/sun/star/text/UserFieldFormat.idl b/offapi/com/sun/star/text/UserFieldFormat.idl
new file mode 100644
index 000000000000..323446be3037
--- /dev/null
+++ b/offapi/com/sun/star/text/UserFieldFormat.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_UserFieldFormat_idl__
+#define __com_sun_star_text_UserFieldFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::UserFieldFormat
+/** These constants describe how the content of a user text field is
+ formatted.
+ */
+published constants UserFieldFormat
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserFieldFormat::SYSTEM
+ /** The number format of the operating system is used.
+ */
+ const short SYSTEM = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserFieldFormat::TEXT
+ /** The content is formatted as text.
+ */
+ const short TEXT = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::UserFieldFormat::NUM
+ /** The number format of the property "NumberFormat" is used.
+ */
+ const short NUM = 2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/UserIndex.idl b/offapi/com/sun/star/text/UserIndex.idl
new file mode 100644
index 000000000000..e284251122a2
--- /dev/null
+++ b/offapi/com/sun/star/text/UserIndex.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ /** determins if the document index marks are included in this index.
+ */
+ [optional, property] boolean CreateFromMarks;
+
+ /** determins if the outline level of the location of the indexed object is
+ used as index level of the index entry.*/
+ [optional, property] boolean UseLevelFromSource;
+
+ /** determins if tables are included in the index.
+ */
+ [optional, property] boolean CreateFromTables;
+
+ /** determins if text frames are included in the index.
+ */
+ [optional, property] boolean CreateFromTextFrames;
+
+ /** determins if graphic objects are included in the index.
+ */
+ [optional, property] boolean CreateFromGraphicObjects;
+
+ /** determins if embedded objects are included in the index.
+ */
+ [optional, property] boolean CreateFromEmbeddedObjects;
+ /** contains the name of the user index.
+ */
+ [property] string UserIndexName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/UserIndexMark.idl b/offapi/com/sun/star/text/UserIndexMark.idl
new file mode 100644
index 000000000000..140adc1487ed
--- /dev/null
+++ b/offapi/com/sun/star/text/UserIndexMark.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_UserIndexMark_idl__
+#define __com_sun_star_text_UserIndexMark_idl__
+
+#ifndef __com_sun_star_text_TextContent_idl__
+#include <com/sun/star/text/TextContent.idl>
+#endif
+#ifndef __com_sun_star_text_BaseIndexMark_idl__
+#include <com/sun/star/text/BaseIndexMark.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** is a <type>TextRange</type> which is explicitly marked
+ as an index entry for a <type>UserIndex</type>.
+ */
+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
diff --git a/offapi/com/sun/star/text/VertOrientation.idl b/offapi/com/sun/star/text/VertOrientation.idl
new file mode 100644
index 000000000000..d56a74eed787
--- /dev/null
+++ b/offapi/com/sun/star/text/VertOrientation.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_VertOrientation_idl__
+#define __com_sun_star_text_VertOrientation_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from idl: constants com::sun::star::text::VertOrientation
+/** These enumeration values are used to specify the vertical orientation.
+ */
+published constants VertOrientation
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::NONE
+ /** no hard alignment
+ */
+ const short NONE = 0;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::TOP
+ /** aligned at the top
+ */
+ const short TOP = 1;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::CENTER
+ /** aligned at the center
+ */
+ const short CENTER = 2;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::BOTTOM
+ /** aligned at the bottom
+ */
+ const short BOTTOM = 3;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::CHAR_TOP
+ /** aligned at the top of a character (anchored to character)
+ */
+ const short CHAR_TOP = 4;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::CHAR_CENTER
+ /** aligned at the center of a character (anchored to character )
+ */
+ const short CHAR_CENTER = 5;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::CHAR_BOTTOM
+ /** aligned at the bottom of a character (anchored to character )
+ */
+ const short CHAR_BOTTOM = 6;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::LINE_TOP
+ /** aligned at the top of the line (anchored to character )
+ */
+ const short LINE_TOP = 7;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::LINE_CENTER
+ /** aligned at the center of the line (anchored to character )
+ */
+ const short LINE_CENTER = 8;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: value com::sun::star::text::VertOrientation::LINE_BOTTOM
+ /** aligned at the bottom of the line (anchored to character )
+ */
+ const short LINE_BOTTOM = 9;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/VertOrientationFormat.idl b/offapi/com/sun/star/text/VertOrientationFormat.idl
new file mode 100644
index 000000000000..e210a96d7fac
--- /dev/null
+++ b/offapi/com/sun/star/text/VertOrientationFormat.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_VertOrientationFormat_idl__
+#define __com_sun_star_text_VertOrientationFormat_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::text::VertOrientationFormat
+/** 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
+{
+ // DocMerge from xml: field com::sun::star::text::VertOrientationFormat::YPos
+ /** contains the distance from top. Only valid if the property
+ VerticalOrientation contains the value VERT_NONE.
+ */
+ long YPos;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::VertOrientationFormat::VerticalOrientation
+ /** determines the vertical alignment of an object.
+ The values refer to com::sun::star::VertOrientation.
+ */
+ short VerticalOrientation;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::text::VertOrientationFormat::VerticalRelation
+ /** determines the reference position of the vertical alignment.@see com::sun::star::text::RelOrientation
+ */
+ short VerticalRelation;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/ViewSettings.idl b/offapi/com/sun/star/text/ViewSettings.idl
new file mode 100644
index 000000000000..007a8f1e617d
--- /dev/null
+++ b/offapi/com/sun/star/text/ViewSettings.idl
@@ -0,0 +1,362 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_ViewSettings_idl__
+#define __com_sun_star_text_ViewSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_view_DocumentZoomType_idl__
+#include <com/sun/star/view/DocumentZoomType.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::text::ViewSettings
+/** provides access to the settings of the controller of a text document.
+ */
+published service ViewSettings
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowAnnotations
+ /** If this property is <TRUE/>, annotations (notes) are visible.
+ */
+ [property] boolean ShowAnnotations;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowBreaks
+ /** If this property is <TRUE/>, paragraph line breaks are visible.
+ */
+ [property] boolean ShowBreaks;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFieldCommandsShowDrawings
+ /** If this property is <TRUE/>, shapes are visible.
+ */
+ [property] boolean ShowDrawings;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFieldCommands
+ /** If this property is <TRUE/>, text fields are shown with their commands; otherwise
+ the content is visible.
+ */
+ [property] boolean ShowFieldCommands;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFootnoteBackground
+ /** If this property is <TRUE/>, footnotes symbols are displayed with gray background.
+ */
+ [property] boolean ShowFootnoteBackground;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowGraphics
+ /** If this property is <TRUE/>, graphic objects are visible.
+ */
+ [property] boolean ShowGraphics;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowHiddenParagraphs
+ /** If this property is <TRUE/>, hidden paragraghs are displayed.
+ */
+ [property] boolean ShowHiddenParagraphs;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowHiddenText
+ /** 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;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowIndexMarkBackground
+ /** If this property is <TRUE/>, index marks are displayed with gray background.
+ */
+ [property] boolean ShowIndexMarkBackground;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowParaBreaks
+ /** If this property is <TRUE/>, paragraph breaks are visible.
+ */
+ [property] boolean ShowParaBreaks;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowProtectedSpaces
+ /** If this property is <TRUE/>, protected spaces (hard spaces) are displayed with gray
+ background.
+ */
+ [property] boolean ShowProtectedSpaces;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowSoftHyphens
+ /** If this property is <TRUE/>, soft hyphens are displayed with gray background.
+ */
+ [property] boolean ShowSoftHyphens;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowSpaces
+ /** If this property is <TRUE/>, spaces are displayed with dots.
+ */
+ [property] boolean ShowSpaces;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTableBoundaries
+ /** If this property is <TRUE/>, table boundaries are displayed.
+ */
+ [property] boolean ShowTableBoundaries;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTables
+ /** If this property is <TRUE/>, tables are visible.
+ */
+ [property] boolean ShowTables;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTabstops
+ /** If this property is <TRUE/>, tab stops are visible.
+ */
+ [property] boolean ShowTabstops;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTextBoundaries
+ /** If this property is <TRUE/>, text boundaries are displayed.
+ */
+ [property] boolean ShowTextBoundaries;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTextFieldBackground
+ /** If this property is <TRUE/>, text fields are displayed with gray background.
+ */
+ [property] boolean ShowTextFieldBackground;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowVertRuler
+ /** If this property is <TRUE/>, the vertical ruler is displayed.
+ */
+ [property] boolean ShowVertRuler;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowVertScrollBar
+ /** If this property is <TRUE/>, the vertical scroll bar is displayed.
+ */
+ [property] boolean ShowVertScrollBar;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::SmoothScrolling
+ /** If this property is <TRUE/>, smooth scrolling is active.
+ */
+ [property] boolean SmoothScrolling;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: property com::sun::star::text::ViewSettings::SolidMarkHandles
+ /** If this property is <TRUE/>, handles of drawing objects are visible.
+ */
+ [property] boolean SolidMarkHandles;
+ //-------------------------------------------------------------------------
+ /** 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
+ <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
+ */
+ [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.0
+ */
+ [optional, property] boolean IsRasterVisible;
+
+ //-------------------------------------------------------------------------
+ /** Specifies whether to move frames, drawing elements, and form
+ functions only between grid points.
+
+ @since OOo 2.0.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.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.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.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.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.0
+ */
+ [optional, property] boolean ShowHiddenCharacters;
+ //-------------------------------------------------------------------------
+ /** If this proeperty is <TRUE/>, the settings of nonprinting characters are applied.
+
+ <p>This option controls the use of the settings ShowHiddenCharacters,
+ ShowTabstops, ShowSpaces, ShowBreaks and ShowParaBreaks </p>
+
+ @since OOo 3.0.0
+ */
+ [optional, property] boolean ShowNonprintingCharacters;
+ //-------------------------------------------------------------------------
+ /** metric unit of the horizontal ruler
+
+ <p>Uses values <type scope="com::sun::star::awt">FieldUnit</type></p>
+
+ @since OOo 3.1.0
+ */
+ [optional, property] long HorizontalRulerMetric;
+ //-------------------------------------------------------------------------
+ /** metric unit of the vertical ruler
+
+ <p>Uses values from <type scope="com::sun::star::awt">FieldUnit</type></p>
+
+ @since OOo 3.1.0
+ */
+ [optional, property] long VerticalRulerMetric;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/WebDocument.idl b/offapi/com/sun/star/text/WebDocument.idl
new file mode 100644
index 000000000000..62b6294ff5ac
--- /dev/null
+++ b/offapi/com/sun/star/text/WebDocument.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_WebDocument_idl__
+#define __com_sun_star_text_WebDocument_idl__
+
+#ifndef __com_sun_star_text_GenericTextDocument_idl__
+#include <com/sun/star/text/GenericTextDocument.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** Specify the document service of the web module.
+ */
+service WebDocument
+{
+ /** Provides the functionality of such web document. */
+ service GenericTextDocument;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/WrapInfluenceOnPosition.idl b/offapi/com/sun/star/text/WrapInfluenceOnPosition.idl
new file mode 100644
index 000000000000..881d22ea9415
--- /dev/null
+++ b/offapi/com/sun/star/text/WrapInfluenceOnPosition.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/WrapTextMode.idl b/offapi/com/sun/star/text/WrapTextMode.idl
new file mode 100644
index 000000000000..e366a9101014
--- /dev/null
+++ b/offapi/com/sun/star/text/WrapTextMode.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_WrapTextMode_idl__
+#define __com_sun_star_text_WrapTextMode_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::text::WrapTextMode
+/** enumeration values specify the text wrap around objects in a text.
+ */
+published enum WrapTextMode
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::NONE
+ /** text does not flow around the object.
+ */
+ NONE,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::THROUGHT
+ /** text flow ignores the object.
+ */
+ THROUGHT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::PARALLEL
+ /** text flows to the left and right of the object.
+ */
+ PARALLEL,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::DYNAMIC
+ /** text flow depends on the situation. The text formatting
+ decides the best way.
+ */
+ DYNAMIC,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::LEFT
+ /** text flows to the left side of the object.
+ */
+ LEFT,
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: value com::sun::star::text::WrapTextMode::RIGHT
+ /** text flows to the right side of the object.
+ */
+ RIGHT
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/WritingMode.idl b/offapi/com/sun/star/text/WritingMode.idl
new file mode 100644
index 000000000000..d79c61b5ec9d
--- /dev/null
+++ b/offapi/com/sun/star/text/WritingMode.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/text/WritingMode2.idl b/offapi/com/sun/star/text/WritingMode2.idl
new file mode 100644
index 000000000000..a74dff328ba8
--- /dev/null
+++ b/offapi/com/sun/star/text/WritingMode2.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 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-ro-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 <member>CONTEXT</member> instead.
+ */
+ const short PAGE = 4;
+
+ /** obtain actual writing mode from the context of the object.
+ */
+ const short CONTEXT = 4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XAutoTextContainer.idl b/offapi/com/sun/star/text/XAutoTextContainer.idl
new file mode 100644
index 000000000000..9f091683c014
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextContainer.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XAutoTextContainer_idl__
+#define __com_sun_star_text_XAutoTextContainer_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_text_XAutoTextGroup_idl__
+#include <com/sun/star/text/XAutoTextGroup.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XAutoTextContainer
+/** handles blocks of <type>AutoTextEntry</type>.
+
+
+
+
+
+
+
+ @example <pre>
+ AutoTextPath=d:\office\autotext;f:\user\autotext
+
+ groupname: "standard*0"
+ -&amp;amp;gt; the group file is located n the path d:\office\autotext
+ groupname: "all*1"
+ -&amp;amp;gt; the group file is located in the path f:\user\autotext\
+ </pre>
+
+ <p>If the path extension is not specified, then the first directory
+ is used. For automatic text expansion, the name of an actual group is
+ set to search first in this group.
+
+ </p>@see AutoTextContainer
+ */
+published interface XAutoTextContainer: com::sun::star::container::XNameAccess
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextContainer::insertNewByName
+ /** creates a new AutoText group.
+ */
+ com::sun::star::text::XAutoTextGroup insertNewByName( [in] string aGroupName )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextContainer::removeByName
+ /** deletes the specified AutoText group.
+ */
+ void removeByName( [in] string aGroupName )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XAutoTextEntry.idl b/offapi/com/sun/star/text/XAutoTextEntry.idl
new file mode 100644
index 000000000000..89178464a4f4
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextEntry.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XAutoTextEntry_idl__
+#define __com_sun_star_text_XAutoTextEntry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XAutoTextEntry
+/** identifies an autotext entry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XAutoTextEntry: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextEntry::applyTo
+ /** inserts the contents represented by this auto text entry at the
+ specified text range.
+ */
+ void applyTo( [in] com::sun::star::text::XTextRange xRange );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XAutoTextGroup.idl b/offapi/com/sun/star/text/XAutoTextGroup.idl
new file mode 100644
index 000000000000..b9f33cb71fb8
--- /dev/null
+++ b/offapi/com/sun/star/text/XAutoTextGroup.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XAutoTextGroup_idl__
+#define __com_sun_star_text_XAutoTextGroup_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XAutoTextEntry_idl__
+#include <com/sun/star/text/XAutoTextEntry.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XAutoTextGroup
+/** The interface provide methods to insert, rename and delete autotext entries from the current autotext group.
+ */
+published interface XAutoTextGroup: com::sun::star::container::XNameAccess
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XAutoTextGroup::getTitles
+ /** returns the titles of all autotext entries. The order of the entries
+ corresponds to the output of the function getElementNames().
+ */
+ sequence<string> getTitles();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextGroup::renameByName
+ /** 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 );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextGroup::insertNewByName
+ /** creates a new <type>AutoTextEntry</type> 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 );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XAutoTextGroup::removeByName
+ /** removes the specified autotext entry.
+ */
+ void removeByName( [in] string aEntryName )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XBookmarkInsertTool.idl b/offapi/com/sun/star/text/XBookmarkInsertTool.idl
new file mode 100644
index 000000000000..c519407336ee
--- /dev/null
+++ b/offapi/com/sun/star/text/XBookmarkInsertTool.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XBookmarkInsertTool_idl__
+#define __com_sun_star_text_XBookmarkInsertTool_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XBookmarkInsertTool
+/** offers an easy way to insert bookmarks by name.@see Text
+ */
+published interface XBookmarkInsertTool: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XBookmarkInsertTool::insertNewBookmark
+ /** 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
diff --git a/offapi/com/sun/star/text/XBookmarksSupplier.idl b/offapi/com/sun/star/text/XBookmarksSupplier.idl
new file mode 100644
index 000000000000..46b841bfa649
--- /dev/null
+++ b/offapi/com/sun/star/text/XBookmarksSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XBookmarksSupplier_idl__
+#define __com_sun_star_text_XBookmarksSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XBookmarksSupplier
+/** provides access to the collection of all bookmarks within this text container.
+ */
+published interface XBookmarksSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XBookmarksSupplier::getBookmarks
+ /** @returns
+ the collection of all <type>Bookmark</type> instances which are
+ within this context and which support the <type>Bookmarks</type> service.
+ */
+ com::sun::star::container::XNameAccess getBookmarks();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XChapterNumberingSupplier.idl b/offapi/com/sun/star/text/XChapterNumberingSupplier.idl
new file mode 100644
index 000000000000..de7ced8fa668
--- /dev/null
+++ b/offapi/com/sun/star/text/XChapterNumberingSupplier.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XChapterNumberingSupplier_idl__
+#define __com_sun_star_text_XChapterNumberingSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XChapterNumberingSupplier
+/** contains the settings of the chapter numbering in a text
+ document.
+ */
+published interface XChapterNumberingSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XChapterNumberingSupplier::getChapterNumberingRules
+ /** @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 <type scope="com::sun::star::beans">PropertyValues</type>.
+ */
+ com::sun::star::container::XIndexReplace getChapterNumberingRules();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XDefaultNumberingProvider.idl b/offapi/com/sun/star/text/XDefaultNumberingProvider.idl
new file mode 100644
index 000000000000..354d79d882c8
--- /dev/null
+++ b/offapi/com/sun/star/text/XDefaultNumberingProvider.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XDefaultNumberingProvider_idl__
+#define __com_sun_star_text_XDefaultNumberingProvider_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+module com { module sun { module star { module text {
+
+/**
+ provides access to default <type scope="com::sun::star::text">NumberingRules</type>
+ according to a given locale information.
+ <p></p>
+ @see <type scope="com::sun::star::text">NumberingRules</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ @version 1.0
+ @author <a href="mailto:oliver.specht@germany.sun.com">Oliver Specht</a>
+*/
+published interface XDefaultNumberingProvider : com::sun::star::uno::XInterface
+{
+ /**
+ provides access to outline numberings according to
+ a given <type scope="com::sun::star::lang">Locale</type>.
+ <p>Outline numberings usually consist of levels
+ with different settings. </p>
+ @see <type scope="com::sun::star::text">NumberingLevel</type>
+ */
+ sequence<com::sun::star::container::XIndexAccess>
+ getDefaultOutlineNumberings([in]com::sun::star::lang::Locale aLocale);
+ /**
+ provides access to outline numberings according
+ to a given <type scope="com::sun::star::lang">Locale</type>.
+ <p>In contrast to outline numberings the continuous
+ numberings consist of
+ level using the equal settings in all numbering levels.</P>
+ @see <type scope="com::sun::star::text">NumberingLevel</type>
+ @see <type scope="com::sun::star::lang">Locale</type>
+ */
+ sequence<com::sun::star::beans::PropertyValues>
+ getDefaultContinuousNumberingLevels([in]com::sun::star::lang::Locale aLocale);
+};
+};};};};
+
+#endif
+
+
+
diff --git a/offapi/com/sun/star/text/XDependentTextField.idl b/offapi/com/sun/star/text/XDependentTextField.idl
new file mode 100644
index 000000000000..3b659669a2ea
--- /dev/null
+++ b/offapi/com/sun/star/text/XDependentTextField.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XDependentTextField_idl__
+#define __com_sun_star_text_XDependentTextField_idl__
+
+#ifndef __com_sun_star_text_XTextField_idl__
+#include <com/sun/star/text/XTextField.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** makes it possible to attach this <type>TextField</type> to a
+ <type>TextFieldMaster</type>.
+ */
+published interface XDependentTextField: com::sun::star::text::XTextField
+{
+ //-------------------------------------------------------------------------
+
+ /** method must be called to attach the
+ <type>TextFieldMaster</type> to this <type>TextField</type>.
+ <p>A <type>TextFieldMaster</type> can only be assigned once.
+ </p>
+
+ @example Create and insert a user field (with a
+ <code>UserField</code>):
+
+ <listing>
+ // 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);
+ </listing>
+ */
+ void attachTextFieldMaster( [in] com::sun::star::beans::XPropertySet xFieldMaster )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the previously attached <type>TextFieldMaster</type>
+ */
+ com::sun::star::beans::XPropertySet getTextFieldMaster();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XDocumentIndex.idl b/offapi/com/sun/star/text/XDocumentIndex.idl
new file mode 100644
index 000000000000..eda4fa42dfb9
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndex.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XDocumentIndex_idl__
+#define __com_sun_star_text_XDocumentIndex_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XDocumentIndex
+/** This is the main interface for a document index.
+
+
+
+ <p>Use <type scope="com::sun::star::util">XRefreshable</type> and
+ <type scope="com::sun::star::lang">XServiceInfo</type> 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XDocumentIndex::getServiceName
+ /** returns the service name that was used to create this document index type.
+ */
+ string getServiceName();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XDocumentIndex::update
+ /** initiates an upate to the document index.
+ */
+ void update();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XDocumentIndexMark.idl b/offapi/com/sun/star/text/XDocumentIndexMark.idl
new file mode 100644
index 000000000000..d643eb15cd39
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndexMark.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XDocumentIndexMark_idl__
+#define __com_sun_star_text_XDocumentIndexMark_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XDocumentIndexMark
+/** gives access to the mark of a document index entry.@see DocumentIndexMark
+ */
+published interface XDocumentIndexMark: com::sun::star::text::XTextContent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XDocumentIndexMark::getMarkEntry
+ /** @returns
+ the explicitly set string for the index mark.
+
+ @see setMarkEntry
+ */
+ string getMarkEntry();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XDocumentIndexMark::setMarkEntry
+ /** sets an explicit string for this index mark to use
+ in the index.
+
+
+
+ <p>If empty, the string of the <type>TextRange</type> to which
+ the <type>TextContent</type> refers is used in the index.</p>
+ */
+ void setMarkEntry( [in] string aIndexEntry );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XDocumentIndexesSupplier.idl b/offapi/com/sun/star/text/XDocumentIndexesSupplier.idl
new file mode 100644
index 000000000000..6005771299b8
--- /dev/null
+++ b/offapi/com/sun/star/text/XDocumentIndexesSupplier.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XDocumentIndexesSupplier_idl__
+#define __com_sun_star_text_XDocumentIndexesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XDocumentIndexesSupplier
+/** gives access to the collection of document indexes.
+
+
+
+ <p>In general this interface is supported by a <type>TextDocument</type>.</p>
+ */
+published interface XDocumentIndexesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XDocumentIndexesSupplier::getDocumentIndexes
+ /** @returns
+ the collection of "DocumentIndexes" currently contained in the object.
+ */
+ com::sun::star::container::XIndexAccess getDocumentIndexes();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl b/offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl
new file mode 100644
index 000000000000..51bb77195aae
--- /dev/null
+++ b/offapi/com/sun/star/text/XEndnotesSettingsSupplier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XEndnotesSettingsSupplier_idl__
+#define __com_sun_star_text_XEndnotesSettingsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XEndnotesSettingsSupplier
+/** makes it possible to access the <type>FootnoteSettings</type>
+ within the context (e.g. document).
+ */
+published interface XEndnotesSettingsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XEndnotesSettingsSupplier::getEndnotesSettings
+ /** @returns
+ <type>EndnoteSettings</type> of the object.
+ */
+ com::sun::star::beans::XPropertySet getEndnotesSettings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/XEndnotesSupplier.idl b/offapi/com/sun/star/text/XEndnotesSupplier.idl
new file mode 100644
index 000000000000..62d962aa6573
--- /dev/null
+++ b/offapi/com/sun/star/text/XEndnotesSupplier.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XEndnotesSupplier_idl__
+#define __com_sun_star_text_XEndnotesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XEndnotesSupplier
+/** makes it possible to access the endnotes within the
+ context (e.g. document).
+ */
+published interface XEndnotesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XEndnotesSupplier::getEndnotes
+ /** @returns
+ a collection of endnotes.
+ */
+ com::sun::star::container::XIndexAccess getEndnotes();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XEndnotesSupplier::getEndnoteSettings
+ /** @returns
+ the endnote settings of the document.
+ */
+ com::sun::star::beans::XPropertySet getEndnoteSettings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/XFlatParagraph.idl b/offapi/com/sun/star/text/XFlatParagraph.idl
new file mode 100644
index 000000000000..d9e5143a860f
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraph.idl
@@ -0,0 +1,201 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_XFlatParagraph_idl__
+#define __com_sun_star_text_XFlatParagraph_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextMarkup_idl__
+#include <com/sun/star/text/XTextMarkup.idl>
+#endif
+
+//=============================================================================
+
+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 <type>TextMarkupType</type>.
+
+ @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 <type>TextMarkupType</type>.
+
+ @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 nNewText
+ 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 aNewText,
+ [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
diff --git a/offapi/com/sun/star/text/XFlatParagraphIterator.idl b/offapi/com/sun/star/text/XFlatParagraphIterator.idl
new file mode 100644
index 000000000000..dd90fe398cb8
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraphIterator.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_XFlatParagraphIterator_idl__
+#define __com_sun_star_text_XFlatParagraphIterator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFlatParagraph_idl__
+#include <com/sun/star/text/XFlatParagraph.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl b/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl
new file mode 100644
index 000000000000..b57187603548
--- /dev/null
+++ b/offapi/com/sun/star/text/XFlatParagraphIteratorProvider.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_XFlatParagraphIteratorProvider_idl__
+#define __com_sun_star_text_XFlatParagraphIteratorProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFlatParagraphIterator_idl__
+#include <com/sun/star/text/XFlatParagraphIterator.idl>
+#endif
+
+//---------------------------------------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 an 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 <type>TextMarkupType</type>.
+
+ @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
diff --git a/offapi/com/sun/star/text/XFootnote.idl b/offapi/com/sun/star/text/XFootnote.idl
new file mode 100644
index 000000000000..dc01b8955cf1
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnote.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XFootnote_idl__
+#define __com_sun_star_text_XFootnote_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XFootnote
+/** specifies a footnote within a Text.@see Footnote
+ */
+published interface XFootnote: com::sun::star::text::XTextContent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XFootnote::getLabel
+ /** @returns the label of the footnote.
+
+ @see XFootnote::setLabel
+ */
+ string getLabel();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XFootnote::setLabel
+ /** sets the label of the footnote.
+ */
+ void setLabel( [in] string aLabel );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl b/offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl
new file mode 100644
index 000000000000..41b68e586903
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnotesSettingsSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XFootnotesSettingsSupplier_idl__
+#define __com_sun_star_text_XFootnotesSettingsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XFootnotesSettingsSupplier
+/** makes it possible to access the <type>FootnoteSettings</type>
+ with the context (e.g. document).
+ */
+published interface XFootnotesSettingsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XFootnotesSettingsSupplier::getFootnotesSettings
+ /** @returns
+ <type>FootnoteSettings</type> of the object.
+ */
+ com::sun::star::beans::XPropertySet getFootnotesSettings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XFootnotesSupplier.idl b/offapi/com/sun/star/text/XFootnotesSupplier.idl
new file mode 100644
index 000000000000..91630c7275df
--- /dev/null
+++ b/offapi/com/sun/star/text/XFootnotesSupplier.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XFootnotesSupplier_idl__
+#define __com_sun_star_text_XFootnotesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XFootnotesSupplier
+/** makes it possible to access the footnotes within
+ the context (e.g. document).
+ */
+published interface XFootnotesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XFootnotesSupplier::getFootnotes
+ /** returns a collection of footnotes.
+ */
+ com::sun::star::container::XIndexAccess getFootnotes();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XFootnotesSupplier::getFootnoteSettings
+ /** @returns
+ the footnotes settings of the document.
+ */
+ com::sun::star::beans::XPropertySet getFootnoteSettings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XFormField.idl b/offapi/com/sun/star/text/XFormField.idl
new file mode 100644
index 000000000000..53555728ba40
--- /dev/null
+++ b/offapi/com/sun/star/text/XFormField.idl
@@ -0,0 +1,20 @@
+#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
diff --git a/offapi/com/sun/star/text/XHeaderFooter.idl b/offapi/com/sun/star/text/XHeaderFooter.idl
new file mode 100644
index 000000000000..048e32cc8118
--- /dev/null
+++ b/offapi/com/sun/star/text/XHeaderFooter.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XHeaderFooter_idl__
+#define __com_sun_star_text_XHeaderFooter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XHeaderFooter
+/** @deprecated Use the properties of
+ <type scope="com::sun::star::style">PageProperties</type> instead
+ */
+published interface XHeaderFooter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XHeaderFooter::getLeftPagesText
+ /** @returns
+ the text interface for the header/footer text of a left page.
+ */
+ com::sun::star::text::XText getLeftPagesText();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XHeaderFooter::getRightPagesText
+ /** @returns
+ the text interface for the header/footer text of a right page.
+ */
+ com::sun::star::text::XText getRightPagesText();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XHeaderFooterPageStyle.idl b/offapi/com/sun/star/text/XHeaderFooterPageStyle.idl
new file mode 100644
index 000000000000..8cd1479f5df1
--- /dev/null
+++ b/offapi/com/sun/star/text/XHeaderFooterPageStyle.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XHeaderFooterPageStyle_idl__
+#define __com_sun_star_text_XHeaderFooterPageStyle_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XHeaderFooter_idl__
+#include <com/sun/star/text/XHeaderFooter.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XHeaderFooterPageStyle
+/** @deprecated Use the properties of
+ <type scope="com::sun::star::style">PageProperties</type> instead
+ */
+published interface XHeaderFooterPageStyle: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XHeaderFooterPageStyle::getHeader
+ /** @returns
+ the interface of the header.
+ */
+ com::sun::star::text::XHeaderFooter getHeader();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XHeaderFooterPageStyle::getFooter
+ /** @returns
+ the interface of the footer.
+ */
+ com::sun::star::text::XHeaderFooter getFooter();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XLineNumberingProperties.idl b/offapi/com/sun/star/text/XLineNumberingProperties.idl
new file mode 100644
index 000000000000..af52294119a0
--- /dev/null
+++ b/offapi/com/sun/star/text/XLineNumberingProperties.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XLineNumberingProperties_idl__
+#define __com_sun_star_text_XLineNumberingProperties_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>LineNumberingProperties</type> of the object.
+ */
+ com::sun::star::beans::XPropertySet getLineNumberingProperties();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XLineNumberingSupplier.idl b/offapi/com/sun/star/text/XLineNumberingSupplier.idl
new file mode 100644
index 000000000000..e12b433a5572
--- /dev/null
+++ b/offapi/com/sun/star/text/XLineNumberingSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XLineNumberingSupplier_idl__
+#define __com_sun_star_text_XLineNumberingSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XLineNumberingSupplier
+/** contains the settings of the line numbering in a text document.
+
+ @deprecated
+ */
+published interface XLineNumberingSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XLineNumberingSupplier::getLineNumberingRules
+ /** @return the <type>LineNumberingSettings</type> of the object.
+ */
+ sequence< sequence<com::sun::star::beans::PropertyValue> > getLineNumberingRules();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XLineNumberingSupplier::setLineNumberingRules
+ /** sets a sequence of numbering rules.
+
+
+
+ <p>The elements of the sequence are representing the chapter levels,
+ index 0 for the major chapter level.</p>
+ */
+ void setLineNumberingRules( [in] sequence< sequence<com::sun::star::beans::PropertyValue> > aRules );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XMailMergeBroadcaster.idl b/offapi/com/sun/star/text/XMailMergeBroadcaster.idl
new file mode 100644
index 000000000000..a4a0d0aa1192
--- /dev/null
+++ b/offapi/com/sun/star/text/XMailMergeBroadcaster.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XMailMergeBroadcaster_idl__
+#define __com_sun_star_text_XMailMergeBroadcaster_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_text_XMailMergeListener_idl__
+#include <com/sun/star/text/XMailMergeListener.idl>
+#endif
+
+//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
+ <type scope="com::sun::star::text">MailMergeEvent</type>
+ 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
diff --git a/offapi/com/sun/star/text/XMailMergeListener.idl b/offapi/com/sun/star/text/XMailMergeListener.idl
new file mode 100644
index 000000000000..1bc0a85a4504
--- /dev/null
+++ b/offapi/com/sun/star/text/XMailMergeListener.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XMailMergeListener_idl__
+#define __com_sun_star_text_XMailMergeListener_idl__
+
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_text_MailMergeEvent_idl__
+#include <com/sun/star/text/MailMergeEvent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+/** used to notify listeners about mail merge events.
+
+ <p>Registered listeners will be notified with a
+ <type scope="com::sun::star::text">MailMergeEvent</type>
+ 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
diff --git a/offapi/com/sun/star/text/XModule.idl b/offapi/com/sun/star/text/XModule.idl
new file mode 100644
index 000000000000..49d0d38085b9
--- /dev/null
+++ b/offapi/com/sun/star/text/XModule.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XModule_idl__
+#define __com_sun_star_text_XModule_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XModule
+/** @deprecated
+ */
+published interface XModule: com::sun::star::uno::XInterface
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XMultiTextMarkup.idl b/offapi/com/sun/star/text/XMultiTextMarkup.idl
new file mode 100644
index 000000000000..27fdefb0472e
--- /dev/null
+++ b/offapi/com/sun/star/text/XMultiTextMarkup.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_XMultiTextMarkup_idl__
+#define __com_sun_star_text_XMultiTextMarkup_idl__
+
+#ifndef __com_sun_star_container_XStringKeyMap_idl__
+#include <com/sun/star/container/XStringKeyMap.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextMarkupDescriptor_idl__
+#include <com/sun/star/text/TextMarkupDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/text/XNumberingFormatter.idl b/offapi/com/sun/star/text/XNumberingFormatter.idl
new file mode 100644
index 000000000000..2b86fc6b24c0
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingFormatter.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XNumberingFormatter_idl__
+#define __com_sun_star_text_XNumberingFormatter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+module com { module sun { module star { module text {
+/**
+ supports the formatting of numberings
+ in various language environments.
+ @see <type scope="com::sun::star::text">NumberingRules</type>
+ @see <type scope="com::sun::star::text">NumberingLevel</type>
+ @version 1.0
+ @author <a href="mailto:oliver.specht@germany.sun.com">Oliver Specht</a>
+*/
+published interface XNumberingFormatter : com::sun::star::uno::XInterface
+{
+/** @returns
+ the formatted numbering string according to the given
+ <type scope="com::sun::star::text">NumberingLevel</type>
+ and the given <type scope="com::sun::star::lang">Locale</type>.
+*/
+ string makeNumberingString(
+ [in]sequence <com::sun::star::beans::PropertyValue> aProperties,
+ [in]com::sun::star::lang::Locale aLocale)
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+};};};};
+#endif
diff --git a/offapi/com/sun/star/text/XNumberingRulesSupplier.idl b/offapi/com/sun/star/text/XNumberingRulesSupplier.idl
new file mode 100644
index 000000000000..818533169c2e
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingRulesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XNumberingRulesSupplier_idl__
+#define __com_sun_star_text_XNumberingRulesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/text/XNumberingTypeInfo.idl b/offapi/com/sun/star/text/XNumberingTypeInfo.idl
new file mode 100644
index 000000000000..c2705268915f
--- /dev/null
+++ b/offapi/com/sun/star/text/XNumberingTypeInfo.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XNumberingTypeInfo_idl__
+#define __com_sun_star_text_XNumberingTypeInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <type scope="com::sun::star::text">NumberingRules</type>
+ @see <type scope="com::sun::star::style">NumberingType</type>
+ @version 1.0
+ @author <a href="mailto:oliver.specht@germany.sun.com">Oliver Specht</a>
+*/
+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);
+ /** determins whether an identifier is supported.
+ */
+ boolean hasNumberingType([in]string NumberingIdentifier);
+ /** returns the corresponding identifiert to a numbering type.
+ */
+ string getNumberingIdentifier([in]short NumberingType);
+};
+};};};};
+
+#endif
+
diff --git a/offapi/com/sun/star/text/XPageCursor.idl b/offapi/com/sun/star/text/XPageCursor.idl
new file mode 100644
index 000000000000..1cfc0dbcfa8c
--- /dev/null
+++ b/offapi/com/sun/star/text/XPageCursor.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XPageCursor_idl__
+#define __com_sun_star_text_XPageCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XPageCursor
+/** makes it possible to perform cursor movements between pages.
+ */
+published interface XPageCursor: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToFirstPage
+ /** moves the cursor to the first page.
+ */
+ boolean jumpToFirstPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToLastPage
+ /** moves the cursor to the last page.
+ */
+ boolean jumpToLastPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToPage
+ /** moves the cursor to the specified page.
+ */
+ boolean jumpToPage( [in] short nPage );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XPageCursor::getPage
+ /** @returns
+ the number of the page within the document of this cursor.
+ */
+ short getPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToNextPage
+ /** moves the cursor to the next page.
+
+ @see XPageCursor::jumpToPreviousPage
+ */
+ boolean jumpToNextPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToPreviousPage
+ /** moves the cursor to the previous page.
+
+ @see XPageCursor::jumpToNextPage
+ */
+ boolean jumpToPreviousPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToEndOfPage
+ /** moves the cursor to the end of the current page.
+
+ @see XPageCursor::jumpToEndOfPreviousPage
+ */
+ boolean jumpToEndOfPage();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPageCursor::jumpToStartOfPage
+ /** moves the cursor to the start of the current page.
+ */
+ boolean jumpToStartOfPage();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XPagePrintable.idl b/offapi/com/sun/star/text/XPagePrintable.idl
new file mode 100644
index 000000000000..7a590613ec8a
--- /dev/null
+++ b/offapi/com/sun/star/text/XPagePrintable.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XPagePrintable_idl__
+#define __com_sun_star_text_XPagePrintable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 - determins 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 );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XPagePrintable::printPages
+ /** prints the pages according to the <typ>PagePrintSettings</type>.
+
+ @see com::sun::star::view::PrintOptions
+ */
+ void printPages( [in] sequence<com::sun::star::beans::PropertyValue> xOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XParagraphAppend.idl b/offapi/com/sun/star/text/XParagraphAppend.idl
new file mode 100644
index 000000000000..60d41b489693
--- /dev/null
+++ b/offapi/com/sun/star/text/XParagraphAppend.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XParagraphAppend_idl__
+#define __com_sun_star_text_XParagraphAppend_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** .
+ */
+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 new paragraph.
+ </p>
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ <type scope="com::sun::star::text">Paragraph.
+
+ */
+ com::sun::star::text::XTextRange appendParagraph( [in] com::sun::star::beans::PropertyValues CharacterAndParagraphProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::beans::UnknownPropertyException );
+ /** appends a new and empty paragraph at the end of the text.
+
+ <p>The properties are applied to the last paragraph before the new pargraph is inserted.
+ </p>
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ <type scope="com::sun::star::text">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 );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XParagraphCursor.idl b/offapi/com/sun/star/text/XParagraphCursor.idl
new file mode 100644
index 000000000000..7e83557674f2
--- /dev/null
+++ b/offapi/com/sun/star/text/XParagraphCursor.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XParagraphCursor_idl__
+#define __com_sun_star_text_XParagraphCursor_idl__
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/XRedline.idl b/offapi/com/sun/star/text/XRedline.idl
new file mode 100644
index 000000000000..e11607871f21
--- /dev/null
+++ b/offapi/com/sun/star/text/XRedline.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XRedline_idl__
+#define __com_sun_star_text_XRedline_idl__
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ 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 an 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;
+ */
+ void makeRedline( [in]string RedlineType, [in] com::sun::star::beans::PropertyValues RedlineProperties)
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XReferenceMarksSupplier.idl b/offapi/com/sun/star/text/XReferenceMarksSupplier.idl
new file mode 100644
index 000000000000..dae6f4963e14
--- /dev/null
+++ b/offapi/com/sun/star/text/XReferenceMarksSupplier.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XReferenceMarksSupplier_idl__
+#define __com_sun_star_text_XReferenceMarksSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XReferenceMarksSupplier
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XReferenceMarksSupplier::getReferenceMarks
+ /** @returns
+ the collection of reference marks.
+ */
+ com::sun::star::container::XNameAccess getReferenceMarks();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/text/XRelativeTextContentInsert.idl b/offapi/com/sun/star/text/XRelativeTextContentInsert.idl
new file mode 100644
index 000000000000..9272ad9281d2
--- /dev/null
+++ b/offapi/com/sun/star/text/XRelativeTextContentInsert.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XRelativeTextContentInsert_idl__
+#define __com_sun_star_text_XRelativeTextContentInsert_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+ published interface XTextContent;
+
+
+// DocMerge from xml: interface com::sun::star::text::XRelativeTextContentInsert
+/** makes it possible to insert new text contents before or
+ after existing text contents.
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XRelativeTextContentInsert: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XRelativeTextContentInsert::insertTextContentBefore
+ /** 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 );
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XRelativeTextContentInsert::insertTextContentAfter
+ /** inserts text the new text content after the predecessor argument.
+
+ <p> This is helpful to insert paragraphs after text tables escpecially in
+ headers, footers or text frames. </p>
+ */
+ void insertTextContentAfter(
+ [in] XTextContent xNewContent,
+ [in] XTextContent xPredecessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+};};};};
+
+#endif
+
diff --git a/offapi/com/sun/star/text/XRelativeTextContentRemove.idl b/offapi/com/sun/star/text/XRelativeTextContentRemove.idl
new file mode 100644
index 000000000000..da108323613f
--- /dev/null
+++ b/offapi/com/sun/star/text/XRelativeTextContentRemove.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XRelativeTextContentRemove_idl__
+#define __com_sun_star_text_XRelativeTextContentRemove_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+ published interface XTextContent;
+
+// DocMerge from xml: interface com::sun::star::text::XRelativeTextContentRemove
+/** makes it possible to remove text contents before or
+ after existing text contents.
+
+
+
+
+
+
+
+ @deprecated
+ */
+published interface XRelativeTextContentRemove: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XRelativeTextContentRemove::removeTextContentBefore
+ /** removes the text content that preceeds 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 );
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XRelativeTextContentRemove::removeTextContentAfter
+ /** removes the text content that follows the argument.
+
+ <p> This is helpful to remove empty paragraphs followin text tables espacially in
+ headers, footers or text frames. </p>
+ */
+ void removeTextContentAfter(
+ [in] XTextContent xPredecessor )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+};};};};
+
+#endif
+
diff --git a/offapi/com/sun/star/text/XRubySelection.idl b/offapi/com/sun/star/text/XRubySelection.idl
new file mode 100644
index 000000000000..156f501ec4ba
--- /dev/null
+++ b/offapi/com/sun/star/text/XRubySelection.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XRubySelection_idl__
+#define __com_sun_star_text_XRubySelection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+
+
+//=============================================================================
+
+ 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
+
+
diff --git a/offapi/com/sun/star/text/XSentenceCursor.idl b/offapi/com/sun/star/text/XSentenceCursor.idl
new file mode 100644
index 000000000000..af9534972b69
--- /dev/null
+++ b/offapi/com/sun/star/text/XSentenceCursor.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XSentenceCursor_idl__
+#define __com_sun_star_text_XSentenceCursor_idl__
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/XSimpleText.idl b/offapi/com/sun/star/text/XSimpleText.idl
new file mode 100644
index 000000000000..f39c8ab334ab
--- /dev/null
+++ b/offapi/com/sun/star/text/XSimpleText.idl
@@ -0,0 +1,151 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XSimpleText_idl__
+#define __com_sun_star_text_XSimplText_idl__
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type>TextCursor</type> 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 <type>TextCursor</type> which is located
+ at the specified <type>TextRange</type> 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
+ <type>TextCursor</type>.
+
+ @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,
+ <method>XSimpleText::createTextCursor</member> can be used to
+ get an <type>XTextRange</type> for this argument.
+
+ <p>If the parameter <member>bAbsorb</member> 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>.
+
+ @example
+ <listing>
+ xText.insertString( xTextCursor, "Hello " + aName$ + ",", false )
+
+ xText.insertControlCharacter( xTextCursor,
+ ControlCharacter_PARAGRAPH_BREAK, false );
+
+ xText.insertString( xTextCursor, "more text ...", false )
+ </listing>
+ */
+ [oneway] 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
diff --git a/offapi/com/sun/star/text/XText.idl b/offapi/com/sun/star/text/XText.idl
new file mode 100644
index 000000000000..f0eee780802f
--- /dev/null
+++ b/offapi/com/sun/star/text/XText.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XText_idl__
+#define __com_sun_star_text_XText_idl__
+
+#ifndef __com_sun_star_text_XSimpleText_idl__
+#include <com/sun/star/text/XSimpleText.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** extends a <type>XSimpleText</type> by the capability of inserting
+ <type>XTextContent</type>s.
+ */
+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.
+
+ @example xDoc.removeTextContent( xDoc.TextTables.MyOwnTableName )
+ */
+ void removeTextContent( [in] com::sun::star::text::XTextContent xContent )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextAppend.idl b/offapi/com/sun/star/text/XTextAppend.idl
new file mode 100644
index 000000000000..8e562fcf4ab3
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextAppend.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextAppend_idl__
+#define __com_sun_star_text_XTextAppend_idl__
+
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+#ifndef __com_sun_star_text_XTextPortionAppend_idl__
+#include <com/sun/star/text/XTextPortionAppend.idl>
+#endif
+#ifndef __com_sun_star_text_XParagraphAppend_idl__
+#include <com/sun/star/text/XParagraphAppend.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** .
+ */
+ interface XTextAppend
+{
+ interface com::sun::star::text::XText;
+ interface com::sun::star::text::XParagraphAppend;
+ interface com::sun::star::text::XTextPortionAppend ;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextAppendAndConvert.idl b/offapi/com/sun/star/text/XTextAppendAndConvert.idl
new file mode 100644
index 000000000000..48869f4303f8
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextAppendAndConvert.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextAppendAndConvert_idl__
+#define __com_sun_star_text_XTextAppendAndConvert_idl__
+
+
+#ifndef __com_sun_star_text_XTextAppend_idl__
+#include <com/sun/star/text/XTextAppend.idl>
+#endif
+#ifndef __com_sun_star_text_XTextContentAppend_idl__
+#include <com/sun/star/text/XTextContentAppend.idl>
+#endif
+#ifndef __com_sun_star_text_XTextConvert_idl__
+#include <com/sun/star/text/XTextConvert.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** merges the functions of <type>XTextAppend</type>,
+ <type>XTextContentAppend</type> and <type>XTextConvert</type>.
+ */
+ interface XTextAppendAndConvert
+{
+ interface com::sun::star::text::XTextAppend;
+ interface com::sun::star::text::XTextContentAppend;
+ interface com::sun::star::text::XTextConvert;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextColumns.idl b/offapi/com/sun/star/text/XTextColumns.idl
new file mode 100644
index 000000000000..8afc1c2cfceb
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextColumns.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextColumns_idl__
+#define __com_sun_star_text_XTextColumns_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextColumn_idl__
+#include <com/sun/star/text/TextColumn.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextColumns
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextColumns::getReferenceValue
+ /** @returns
+ the sum of all values.
+
+ <p>As described above, the width values are relative.
+ */
+ long getReferenceValue();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextColumns::getColumnCount
+ /** @returns
+ the number of columns.
+ */
+ short getColumnCount();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextColumns::setColumnCount
+ /** sets the number of columns.
+
+
+
+ <p>The minimum is 1 column.</p>
+ */
+ void setColumnCount( [in] short nColumns );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextColumns::getColumns
+ /** returns the column description of the object.
+ @see TextColumn
+ */
+ sequence<com::sun::star::text::TextColumn> getColumns();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextColumns::setColumns
+ /** 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
diff --git a/offapi/com/sun/star/text/XTextContent.idl b/offapi/com/sun/star/text/XTextContent.idl
new file mode 100644
index 000000000000..70b6a0be9f13
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextContent.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextContent_idl__
+#define __com_sun_star_text_XTextContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+ 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. In general, this method
+ is called from within
+
+
+
+
+ .
+
+ </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 behaviour 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 <member>attach</member> for example or
+ <member scope="com::sun::star::text">insertTextContent</member>
+ 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 <member scope="com::sun::star::text">insertTextContent</member>
+ and that interface uses a parameter of that type.</p>
+ */
+ com::sun::star::text::XTextRange getAnchor();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextContentAppend.idl b/offapi/com/sun/star/text/XTextContentAppend.idl
new file mode 100644
index 000000000000..472e922a80f1
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextContentAppend.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextContentAppend_idl__
+#define __com_sun_star_text_XTextContentAppend_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** .
+ */
+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
+ <type scope="com::sun::star::text">.
+ </p>
+
+ @param TextContent
+ contains the object to be inserted.
+ @param CharacterAndParagraphProperties
+ can contain all the properties defined by the service
+ <type scope="com::sun::star::text">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 );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextConvert.idl b/offapi/com/sun/star/text/XTextConvert.idl
new file mode 100644
index 000000000000..d80f7fec9305
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextConvert.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextConvert_idl__
+#define __com_sun_star_text_XTextConvert_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+#ifndef __com_sun_star_text_XTextTable_idl__
+#include <com/sun/star/text/XTextTable.idl>
+#endif
+
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** .
+ */
+interface XTextConvert : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** moves the paragraphs from Start to End into a text frame.
+
+ <p>FrameProperties contains the properties of the to-be-created text frame.</p>
+
+ @param
+ .
+
+ @param
+ .
+ @return
+
+ */
+ ::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 );
+
+ /** .
+
+
+ @param TableRanges contains the TextRange interfaces of the paragraphs, cells and rows of the table.
+ <p>The innter 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
diff --git a/offapi/com/sun/star/text/XTextCopy.idl b/offapi/com/sun/star/text/XTextCopy.idl
new file mode 100644
index 000000000000..5e1d91e5e82d
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextCopy.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XText_idl__
+#define __com_sun_star_text_XText_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/XTextCursor.idl b/offapi/com/sun/star/text/XTextCursor.idl
new file mode 100644
index 000000000000..eda255e16ea5
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextCursor.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#define __com_sun_star_text_XTextCursor_idl__
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+
+//=============================================================================
+
+ 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.
+ */
+ [oneway] void collapseToStart();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the start of the position to the end.
+ */
+ [oneway] 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 <type>TextRange</type>.
+ */
+ void gotoRange( [in] com::sun::star::text::XTextRange xRange,
+ [in] boolean bExpand );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextDocument.idl b/offapi/com/sun/star/text/XTextDocument.idl
new file mode 100644
index 000000000000..c1d8d04ed4ce
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextDocument.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextDocument_idl__
+#define __com_sun_star_text_XTextDocument_idl__
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextDocument
+/** is the main interface of a text document.@see com::sun::star::text::TextDocument
+ */
+published interface XTextDocument: com::sun::star::frame::XModel
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextDocument::getText
+ /** @returns
+ the major <type scope="com::sun::star::text">Text</type> of the text document.
+
+ <p>This text does not contain texts in <type>TextFrame</type>s,
+ or cells of <type>TextTable</type>s etc. directly. These are
+ accessible from the contents via <code>X...Supplier</code>
+ (e.g. <type>XTextTablesSupplier</type>).
+ */
+ com::sun::star::text::XText getText();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextDocument::reformat
+ /** reformats the contents of the document.
+ */
+ void reformat();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextEmbeddedObject.idl b/offapi/com/sun/star/text/XTextEmbeddedObject.idl
new file mode 100644
index 000000000000..c11d16f22969
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextEmbeddedObject.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextEmbeddedObject_idl__
+#define __com_sun_star_text_XTextEmbeddedObject_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextEmbeddedObject
+/** f t!
+
+
+
+
+
+ @deprecated
+ */
+published interface XTextEmbeddedObject: com::sun::star::text::XTextContent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextEmbeddedObject::getObject
+ /** @returns an interface to the linked object that is contained in
+ the TextEmbeddedObject.
+ */
+ com::sun::star::uno::XInterface getObject();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextEmbeddedObject::setObject
+ /** sets an object into the TextEmbeddedObject.
+ */
+ void setObject( [in] com::sun::star::uno::XInterface xObject );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl b/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl
new file mode 100644
index 000000000000..93c12aa1ad2d
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextEmbeddedObjectsSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
+#define __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextEmbeddedObjectsSupplier
+/** provides the collection of all embedded objects within this context
+ (i.e. this document).
+ */
+published interface XTextEmbeddedObjectsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextEmbeddedObjectsSupplier::getEmbeddedObjects
+ /** @returns
+ the collection of embedded objects.
+ */
+ com::sun::star::container::XNameAccess getEmbeddedObjects();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextField.idl b/offapi/com/sun/star/text/XTextField.idl
new file mode 100644
index 000000000000..08060bef9d61
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextField.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextField_idl__
+#define __com_sun_star_text_XTextField_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextField
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextField::getPresentation
+ /** @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
diff --git a/offapi/com/sun/star/text/XTextFieldsSupplier.idl b/offapi/com/sun/star/text/XTextFieldsSupplier.idl
new file mode 100644
index 000000000000..14f0fc79569c
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFieldsSupplier.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextFieldsSupplier_idl__
+#define __com_sun_star_text_XTextFieldsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextFieldsSupplier
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextFieldsSupplier::getTextFields
+ /** @returns
+ the collection of <type>TextField</type> instances
+ in this context (i.e. this document).
+ */
+ com::sun::star::container::XEnumerationAccess getTextFields();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextFieldsSupplier::getTextFieldMasters
+ /** @returns
+ the collection of <type>TextFieldMaster</type> instances
+ which are defined in this context (i.e. this document).
+ */
+ com::sun::star::container::XNameAccess getTextFieldMasters();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextFrame.idl b/offapi/com/sun/star/text/XTextFrame.idl
new file mode 100644
index 000000000000..0435e60cb86c
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFrame.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#define __com_sun_star_text_XTextFrame_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextFrame
+/** provides access to the <type>Text</type> of a <type>TextFrame</type>.
+ @see TextFrame
+ */
+published interface XTextFrame: com::sun::star::text::XTextContent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextFrame::getText
+ /** @returns
+ the text within this frame. The returned interface belongs
+ to an object which implements the service <type>Text</type>.
+ */
+ com::sun::star::text::XText getText();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextFramesSupplier.idl b/offapi/com/sun/star/text/XTextFramesSupplier.idl
new file mode 100644
index 000000000000..ae7b3bf65f1e
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextFramesSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextFramesSupplier_idl__
+#define __com_sun_star_text_XTextFramesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextFramesSupplier
+/** makes it possible to access the <type>TextFrame</type> instances in this
+ context (e.g. document).
+ */
+published interface XTextFramesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextFramesSupplier::getTextFrames
+ /** returns a collection of text frames.
+ */
+ com::sun::star::container::XNameAccess getTextFrames();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl b/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl
new file mode 100644
index 000000000000..5320f80e1b48
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextGraphicObjectsSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
+#define __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextGraphicObjectsSupplier
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextGraphicObjectsSupplier::getGraphicObjects
+ /** @returns
+ the collection of graphic objects in this object (document).
+ */
+ com::sun::star::container::XNameAccess getGraphicObjects();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextMarkup.idl b/offapi/com/sun/star/text/XTextMarkup.idl
new file mode 100644
index 000000000000..f8dc3f834e73
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextMarkup.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_XTextMarkup_idl__
+#define __com_sun_star_text_XTextMarkup_idl__
+
+#ifndef __com_sun_star_container_XStringKeyMap_idl__
+#include <com/sun/star/container/XStringKeyMap.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextMarkupType_idl__
+#include <com/sun/star/text/TextMarkupType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** provides functionality to markup text.
+
+ @since OOo 2.3.0
+ */
+
+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 <type>TextMarkupType</type>.
+
+ @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 commitTextMarkup( [in] long nType,
+ [in] string aIdentifier,
+ [in] long nStart,
+ [in] long nLength,
+ [in] com::sun::star::container::XStringKeyMap xMarkupInfoContainer );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextPortionAppend.idl b/offapi/com/sun/star/text/XTextPortionAppend.idl
new file mode 100644
index 000000000000..84b121163e72
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextPortionAppend.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextPortionAppend_idl__
+#define __com_sun_star_text_XTextPortionAppend_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#include <com/sun/star/beans/PropertyValues.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** .
+ */
+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 <type scope="com::sun::star::text">TextPortion.
+ </p>
+
+ @param
+ Text contains the text to be appended.
+
+ @param
+ CharacterAndParagraphProperties can contain all the properties defined by the service
+ <type scope="com::sun::star::text">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 );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextRange.idl b/offapi/com/sun/star/text/XTextRange.idl
new file mode 100644
index 000000000000..58a59b33b09e
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRange.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextRange_idl__
+#define __com_sun_star_text_XTextRange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+ published interface XText;
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextRange
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRange::getText
+ /** @returns
+ the text interface in which the text position is contained.
+ */
+ XText getText();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRange::getStart
+ /** @returns
+ a text range which contains only the start of this text range.
+ */
+ XTextRange getStart();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRange::getEnd
+ /** @returns
+ a text range which contains only the end of this text range.
+ */
+ XTextRange getEnd();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRange::getString
+ /** @returns
+ the string that is included in this text range.
+ */
+ string getString();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextRange::setString
+ /** the whole string of characters of this piece of text is replaced.
+
+
+
+ <p>All styles are removed when applying this method.
+
+ </p>
+ */
+ [oneway] void setString( [in] string aString );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextRangeCompare.idl b/offapi/com/sun/star/text/XTextRangeCompare.idl
new file mode 100644
index 000000000000..5f15feab1905
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRangeCompare.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextRangeCompare_idl__
+#define __com_sun_star_text_XTextRangeCompare_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+ published interface XText;
+ published interface XTextRange;
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextRangeCompare
+/** compares the positions of two <type>TextRange</type>s within a
+ <type>Text</type>.
+
+
+
+ <p>Only <type>TextRange</type> instances within the same <type>Text</type>
+ can be compared.
+ </p>
+ */
+published interface XTextRangeCompare: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRangeCompare::compareRegionStarts
+ /** @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 );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextRangeCompare::compareRegionEnds
+ /** @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
diff --git a/offapi/com/sun/star/text/XTextRangeMover.idl b/offapi/com/sun/star/text/XTextRangeMover.idl
new file mode 100644
index 000000000000..59381de38854
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextRangeMover.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextRangeMover_idl__
+#define __com_sun_star_text_XTextRangeMover_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextRange_idl__
+#include <com/sun/star/text/XTextRange.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextRangeMover
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextRangeMover::moveTextRange
+ /** 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
diff --git a/offapi/com/sun/star/text/XTextSection.idl b/offapi/com/sun/star/text/XTextSection.idl
new file mode 100644
index 000000000000..2a35e2bf0edb
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextSection.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextSection_idl__
+#define __com_sun_star_text_XTextSection_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextSection
+/** provide special data of a <type>TextSection</type>.@see TextSection
+ */
+published interface XTextSection: com::sun::star::text::XTextContent
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextSection::getParentSection
+ /** If the object is a child section, then this method returns
+ the parent text section.
+ */
+ com::sun::star::text::XTextSection getParentSection();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextSection::getChildSections
+ /** @returns
+ all text sections that are children of this text section (recursive).
+ */
+ sequence<com::sun::star::text::XTextSection> getChildSections();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextSectionsSupplier.idl b/offapi/com/sun/star/text/XTextSectionsSupplier.idl
new file mode 100644
index 000000000000..0425534c275b
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextSectionsSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextSectionsSupplier_idl__
+#define __com_sun_star_text_XTextSectionsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextSectionsSupplier
+/** manages the text sections within the context (i.e. the document).
+ */
+published interface XTextSectionsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextSectionsSupplier::getTextSections
+ /** @returns
+ the collection of text sections.
+ */
+ com::sun::star::container::XNameAccess getTextSections();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextShapesSupplier.idl b/offapi/com/sun/star/text/XTextShapesSupplier.idl
new file mode 100644
index 000000000000..838e74a00110
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextShapesSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextShapesSupplier_idl__
+#define __com_sun_star_text_XTextShapesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextShapesSupplier
+/** provides the collection of <type scope="com::sun::star::drawing">TextShape</type>s.
+ */
+published interface XTextShapesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextShapesSupplier::getShapes
+ /** returns the collection of shapes.
+
+ @see com::sun::star::drawing::DrawPage
+ */
+ com::sun::star::container::XIndexAccess getShapes();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XTextTable.idl b/offapi/com/sun/star/text/XTextTable.idl
new file mode 100644
index 000000000000..44b18be77648
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTable.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextTable_idl__
+#define __com_sun_star_text_XTextTable_idl__
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableRows_idl__
+#include <com/sun/star/table/XTableRows.idl>
+#endif
+
+#ifndef __com_sun_star_table_XTableColumns_idl__
+#include <com/sun/star/table/XTableColumns.idl>
+#endif
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTableCursor_idl__
+#include <com/sun/star/text/XTextTableCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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 <type scope="com::sun::star::table">XCell</type> 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
+ <type>XTextTableCursor</type> 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
diff --git a/offapi/com/sun/star/text/XTextTableCursor.idl b/offapi/com/sun/star/text/XTextTableCursor.idl
new file mode 100644
index 000000000000..54559fb89dc3
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTableCursor.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextTableCursor_idl__
+#define __com_sun_star_text_XTextTableCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** The TextTableCursor provide methods to navigate throught 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
+ contatenated 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 wether 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 wether 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 wether 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 wether 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 wether 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 wether 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 wether 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
diff --git a/offapi/com/sun/star/text/XTextTablesSupplier.idl b/offapi/com/sun/star/text/XTextTablesSupplier.idl
new file mode 100644
index 000000000000..b1c192ccd316
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextTablesSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextTablesSupplier_idl__
+#define __com_sun_star_text_XTextTablesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/text/XTextViewCursor.idl b/offapi/com/sun/star/text/XTextViewCursor.idl
new file mode 100644
index 000000000000..b06b8bfbb481
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextViewCursor.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextViewCursor_idl__
+#define __com_sun_star_text_XTextViewCursor_idl__
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextViewCursor
+/** describes a cursor in a text document's view.
+ */
+published interface XTextViewCursor: com::sun::star::text::XTextCursor
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextViewCursor::isVisible
+ /** @returns
+ <TRUE/> if this cursor is visible for the user.
+ */
+ boolean isVisible();
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::text::XTextViewCursor::setVisible
+ /** shows or hides this cursor for the user.
+ */
+ [oneway] void setVisible( [in] boolean bVisible );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextViewCursor::getPosition
+ /** @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
diff --git a/offapi/com/sun/star/text/XTextViewCursorSupplier.idl b/offapi/com/sun/star/text/XTextViewCursorSupplier.idl
new file mode 100644
index 000000000000..55f66b58395b
--- /dev/null
+++ b/offapi/com/sun/star/text/XTextViewCursorSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XTextViewCursorSupplier_idl__
+#define __com_sun_star_text_XTextViewCursorSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextViewCursor_idl__
+#include <com/sun/star/text/XTextViewCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module text {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::text::XTextViewCursorSupplier
+/** 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
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::text::XTextViewCursorSupplier::getViewCursor
+ /** @returns
+ the cursor of the document view.
+ */
+ com::sun::star::text::XTextViewCursor getViewCursor();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/XWordCursor.idl b/offapi/com/sun/star/text/XWordCursor.idl
new file mode 100644
index 000000000000..89da3ed370c0
--- /dev/null
+++ b/offapi/com/sun/star/text/XWordCursor.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_text_XWordCursor_idl__
+#define __com_sun_star_text_XWordCursor_idl__
+
+#ifndef __com_sun_star_text_XTextCursor_idl__
+#include <com/sun/star/text/XTextCursor.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
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 000000000000..844b01785500
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/Bibliography.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ //------------------------------------------------------------------------
+ /** determins whether the bibiliography text fields are numbered. If <FALSE/> the
+ short name of the bibliography entry is displayed instead.
+ */
+ [property] boolean IsNumberEntries;
+ //------------------------------------------------------------------------
+ /** determins whether the bibliography entries in a bibliography index are sorted
+ by the document position. If <FALSE/> the SortKey property determins the
+ sorting of the entries.
+ */
+ [property] boolean IsSortByPosition;
+ //------------------------------------------------------------------------
+ /** determins the opening bracket used to display the bibliography text fields.
+ */
+ [property] string BracketBefore;
+ //------------------------------------------------------------------------
+ /** determins the closing bracket used to display the bibliography text fields.
+ */
+ [property] string BracketAfter;
+ //------------------------------------------------------------------------
+ /** determins 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>Determins the bibliography field that is used to sort by.</P>
+ </UL>
+ <LI><P>[property] boolean IsSortAscending;</P>
+ <UL>
+ <LI><P>Determins wheter the sorting is ascending or descending.
+ It uses the type <type scope="com::sun::star::text">BibliographyDataField</type></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
+
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 000000000000..1f33ef5dac1d
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/DDE.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ //------------------------------------------------------------------------
+ /** determins whether DDE link is updated automatically.
+ */
+ [property] boolean IsAutomaticUpdate;
+ //------------------------------------------------------------------------
+ /** contains the content.
+ */
+ [optional, property] string Content;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..921c86ff8c94
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/Database.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>DataBaseName</member>,
+ <member>DataBaseURL</member> and <member>DataBaseResource</member>
+ 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.0
+ */
+ [optional, property] string DataBaseURL;
+
+ //------------------------------------------------------------------------
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.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
+
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 000000000000..1c6276205f3b
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/SetExpression.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ //------------------------------------------------------------------------
+ /** determins the number of the chapter. This values is used if the field master
+ is set as number sequence.
+ */
+ [property] byte ChapterNumberingLevel;
+ //------------------------------------------------------------------------
+ /** determins the numbering separator string if the field master
+ is set as number sequence.
+ */
+ [property] string NumberingSeparator;
+ //------------------------------------------------------------------------
+ /** determins the type of the field as <type scope="com::sun::star::text"SetVariableType</type>
+ */
+ [property] short SubType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..555e93cfb0d1
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/User.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_fieldmaster_ConditionalText_idl_
+#define __com_sun_star_text_fieldmaster_ConditionalText_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;
+
+ //------------------------------------------------------------------------
+ /** determins whether the field contains an expression.
+ */
+ [property] boolean IsExpression;
+ //------------------------------------------------------------------------
+ /** contains the value.
+ */
+ [property] double Value;
+ //------------------------------------------------------------------------
+ /** contains the content.
+ */
+ [property] string Content;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/fieldmaster/makefile.mk b/offapi/com/sun/star/text/fieldmaster/makefile.mk
new file mode 100644
index 000000000000..ad0a5d8af18c
--- /dev/null
+++ b/offapi/com/sun/star/text/fieldmaster/makefile.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfieldmaster
+PACKAGE=com$/sun$/star$/text$/fieldmaster
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Database.idl\
+ DDE.idl\
+ Bibliography.idl\
+ SetExpression.idl\
+ User.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/text/makefile.mk b/offapi/com/sun/star/text/makefile.mk
new file mode 100644
index 000000000000..4e6d24746af8
--- /dev/null
+++ b/offapi/com/sun/star/text/makefile.mk
@@ -0,0 +1,278 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csstext
+PACKAGE=com$/sun$/star$/text
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessibleEndnoteView.idl\
+ AccessibleFootnoteView.idl\
+ AccessibleHeaderFooterView.idl\
+ AccessiblePageView.idl\
+ AccessibleParagraphView.idl\
+ AccessibleTextDocumentPageView.idl\
+ AccessibleTextDocumentView.idl\
+ AccessibleTextEmbeddedObject.idl\
+ AccessibleTextFrameView.idl\
+ AccessibleTextGraphicObject.idl\
+ AdvancedTextDocument.idl\
+ AuthorDisplayFormat.idl\
+ AutoTextContainer.idl\
+ AutoTextEntry.idl\
+ AutoTextGroup.idl\
+ BaseFrame.idl\
+ BaseFrameProperties.idl\
+ BaseIndex.idl\
+ BaseIndexMark.idl\
+ Bibliography.idl\
+ BibliographyDataType.idl\
+ BibliographyDataField.idl\
+ Bookmark.idl\
+ Bookmarks.idl\
+ Cell.idl\
+ CellProperties.idl\
+ CellRange.idl\
+ ChainedTextFrame.idl\
+ ChapterFormat.idl\
+ ChapterNumberingRule.idl\
+ CharacterCompressionType.idl\
+ ContentIndex.idl\
+ ContentIndexMark.idl\
+ ControlCharacter.idl\
+ DateDisplayFormat.idl\
+ DefaultNumberingProvider.idl\
+ Defaults.idl\
+ DependentTextField.idl\
+ DocumentIndex.idl\
+ DocumentIndexes.idl\
+ DocumentIndexFormat.idl\
+ DocumentIndexLevelFormat.idl\
+ DocumentIndexMark.idl\
+ DocumentIndexMarkAsian.idl\
+ DocumentIndexParagraphStyles.idl\
+ DocumentSettings.idl\
+ DocumentStatistic.idl\
+ Endnote.idl\
+ EndnoteSettings.idl\
+ FilenameDisplayFormat.idl\
+ FontEmphasis.idl\
+ FontRelief.idl\
+ Footnote.idl\
+ FootnoteNumbering.idl\
+ Footnotes.idl\
+ FootnoteSettings.idl\
+ GenericTextDocument.idl\
+ GlobalDocument.idl\
+ GlobalSettings.idl\
+ GraphicCrop.idl\
+ HoriOrientation.idl\
+ HoriOrientationFormat.idl\
+ HorizontalAdjust.idl\
+ HypertextDocument.idl\
+ IllustrationsIndex.idl\
+ InContentMetadata.idl\
+ InvalidTextContentException.idl\
+ LabelFollow.idl\
+ LineNumberingProperties.idl\
+ LineNumberingSettings.idl\
+ MailMerge.idl\
+ MailMergeEvent.idl\
+ MailMergeType.idl\
+ NotePrintMode.idl\
+ NumberingLevel.idl\
+ NumberingRules.idl\
+ NumberingStyle.idl\
+ ObjectIndex.idl\
+ PageFootnoteInfo.idl\
+ PageNumberType.idl\
+ PagePrintSettings.idl\
+ Paragraph.idl\
+ ParagraphEnumeration.idl\
+ ParagraphVertAlign.idl\
+ PlaceholderType.idl\
+ PositionAndSpaceMode.idl\
+ PositionLayoutDir.idl\
+ PrintPreviewSettings.idl\
+ PrintSettings.idl\
+ RedlinePortion.idl\
+ ReferenceFieldPart.idl\
+ ReferenceFieldSource.idl\
+ ReferenceMark.idl\
+ ReferenceMarks.idl\
+ RelOrientation.idl\
+ RubyAdjust.idl\
+ SectionFileLink.idl\
+ SetVariableType.idl\
+ Shape.idl\
+ SizeType.idl\
+ TableColumns.idl\
+ TableColumnSeparator.idl\
+ TableIndex.idl\
+ TableRows.idl\
+ TemplateDisplayFormat.idl\
+ Text.idl\
+ TextColumn.idl\
+ TextColumns.idl\
+ TextColumnSequence.idl\
+ TextContent.idl\
+ TextContentAnchorType.idl\
+ TextContentCollection.idl\
+ TextCursor.idl\
+ TextDocument.idl\
+ TextDocumentView.idl\
+ TextEmbeddedObject.idl\
+ TextEmbeddedObjects.idl\
+ TextField.idl\
+ TextFieldEnumeration.idl\
+ TextFieldMaster.idl\
+ TextFieldMasters.idl\
+ TextFields.idl\
+ TextFrame.idl\
+ TextFrames.idl\
+ TextGraphicObject.idl\
+ TextGraphicObjects.idl\
+ TextGridMode.idl\
+ TextLayoutCursor.idl\
+ TextMarkupDescriptor.idl\
+ TextMarkupType.idl \
+ TextPageStyle.idl\
+ TextPortion.idl\
+ TextPortionEnumeration.idl\
+ TextRange.idl\
+ TextRanges.idl\
+ TextRangeContentProperties.idl\
+ TextSection.idl\
+ TextSections.idl\
+ TextSortable.idl\
+ TextSortDescriptor.idl\
+ TextSortDescriptor2.idl\
+ TextTable.idl\
+ TextTableCursor.idl\
+ TextTableRow.idl\
+ TextTables.idl\
+ TextViewCursor.idl\
+ TimeDisplayFormat.idl\
+ UserDataPart.idl\
+ UserDefinedIndex.idl\
+ UserFieldFormat.idl\
+ UserIndex.idl\
+ UserIndexMark.idl\
+ VertOrientation.idl\
+ VertOrientationFormat.idl\
+ ViewSettings.idl\
+ WebDocument.idl\
+ WrapInfluenceOnPosition.idl\
+ WrapTextMode.idl\
+ WritingMode.idl\
+ WritingMode2.idl\
+ XAutoTextContainer.idl\
+ XAutoTextEntry.idl\
+ XAutoTextGroup.idl\
+ XBookmarkInsertTool.idl\
+ XBookmarksSupplier.idl\
+ XChapterNumberingSupplier.idl\
+ XDefaultNumberingProvider.idl\
+ XDependentTextField.idl\
+ XDocumentIndex.idl\
+ XDocumentIndexesSupplier.idl\
+ XDocumentIndexMark.idl\
+ XEndnotesSettingsSupplier.idl\
+ XEndnotesSupplier.idl\
+ XFootnote.idl\
+ XFootnotesSettingsSupplier.idl\
+ XFootnotesSupplier.idl\
+ XHeaderFooter.idl\
+ XHeaderFooterPageStyle.idl\
+ XLineNumberingSupplier.idl\
+ XLineNumberingProperties.idl\
+ XMailMergeBroadcaster.idl\
+ XMailMergeListener.idl\
+ XModule.idl\
+ XNumberingFormatter.idl\
+ XNumberingRulesSupplier.idl\
+ XNumberingTypeInfo.idl\
+ XPageCursor.idl\
+ XPagePrintable.idl\
+ XParagraphCursor.idl\
+ XRedline.idl\
+ XReferenceMarksSupplier.idl\
+ XRelativeTextContentInsert.idl\
+ XRelativeTextContentRemove.idl\
+ XRubySelection.idl\
+ XSentenceCursor.idl\
+ XSimpleText.idl\
+ XText.idl\
+ XTextColumns.idl\
+ XTextContent.idl\
+ XTextCursor.idl\
+ XTextCopy.idl\
+ XTextDocument.idl\
+ XTextEmbeddedObject.idl\
+ XTextEmbeddedObjectsSupplier.idl\
+ XTextField.idl\
+ XTextFieldsSupplier.idl\
+ XTextFrame.idl\
+ XTextFramesSupplier.idl\
+ XTextGraphicObjectsSupplier.idl\
+ XTextMarkup.idl\
+ XMultiTextMarkup.idl\
+ XTextRange.idl\
+ XTextRangeCompare.idl\
+ XTextRangeMover.idl\
+ XTextSection.idl\
+ XTextSectionsSupplier.idl\
+ XTextShapesSupplier.idl\
+ XTextTable.idl\
+ XTextTableCursor.idl\
+ XTextTablesSupplier.idl\
+ XTextViewCursor.idl\
+ XTextViewCursorSupplier.idl\
+ XWordCursor.idl \
+ XParagraphAppend.idl \
+ XTextPortionAppend.idl \
+ XTextContentAppend.idl \
+ XTextConvert.idl \
+ XTextAppendAndConvert.idl \
+ XTextAppend.idl \
+ XFormField.idl \
+ XFlatParagraph.idl \
+ XFlatParagraphIterator.idl \
+ XFlatParagraphIteratorProvider.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..5127f728b109
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Annotation.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 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
+
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 000000000000..5650963b701f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Author.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 overiden 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 escpecially usefull 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
+
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 000000000000..2ba2c316f64b
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Bibliography.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
+
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 000000000000..819a4ff22b98
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Chapter.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ /** determins how the chapter should be displayed as described in
+ <type scope="com::sun::star::text">ChapterFormat</type>.
+ */
+ [property]short ChapterFormat;
+ /** determins which chapter level should be used. The highest chapter
+ level has the value 0.
+ */
+ [property]byte Level;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..3d5336939c1d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/CharacterCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..0842b6016b7d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/CombinedCharacters.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..c13f367948bf
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ConditionalText.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull for import/export purposes. </p>
+ */
+ [optional, property]string CurrentPresentation;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..95293d852f4a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DDE.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..f602db5977f9
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Database.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 colum name in parenthesis (<>).
+ */
+ [property]string Content;
+ /** contains the current content of the text field.
+ <p> This property is escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** determins 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
+
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 000000000000..f051aa72b7f1
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseName.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 displayes the name of a database.
+ @see com::sun::star::text::TextField
+
+ Only one of the properties <member>DataBaseName</member>,
+ <member>DataBaseURL</member> and <member>DataBaseResource</member>
+ 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.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..01b762b1e113
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>DataBaseName</member>,
+ <member>DataBaseURL</member> and <member>DataBaseResource</member>
+ 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;
+
+ /** determins 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.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..1ad00c840bce
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>DataBaseName</member>,
+ <member>DataBaseURL</member> and <member>DataBaseResource</member>
+ 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 determins whether the SetNumber is applied or not.
+ */
+ [property] string Condition;
+
+ /** cotains the set number that is to be applied.
+ */
+ [property] long SetNumber;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..3af3ab3516ce
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>DataBaseName</member>,
+ <member>DataBaseURL</member> and <member>DataBaseResource</member>
+ 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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property] short NumberingType;
+
+ /** contains the number of the database set.
+ */
+ [property] long SetNumber;
+
+ /** indicates the URL of a database file.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseURL;
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0.0
+ */
+ [optional, property] string DataBaseResource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..5a2875b10c0e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DateTime.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>IsDate</member>, this
+ is either a
+ <type scope="com::sun::star::text">DateDisplayFormat</type> or
+ <type scope="com::sun::star::text">TimeDisplayFormat</type>.
+
+ This property is deprecated and is here only
+ for components that do not support a
+ <type scope="com::sun::star::util">NumberFormatter</type>.
+
+ @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
+
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 000000000000..c70f1a1db499
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/DropDown.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 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 emtpy 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
+
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 000000000000..1e005d10ae95
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/EmbeddedObjectCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..ae464dd579ed
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ExtendedUser.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull 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
+ <type scope="com::sun::star::text">UserDataPart</type>.
+ */
+ [property]short UserDataType;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..062fb1255292
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/FileName.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** determins the format the file name is displayed as specified in
+ <type scope="com::sun::star::text">FilenameDisplayFormat</type>.
+ */
+ [property]short FileFormat;
+ /** If this flag is set to <FALSE/> the content is regularly updated.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..9e95ceb46473
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GetExpression.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull 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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+ /** determins whether the content is displayed or evaluated.
+ */
+ [property]boolean IsShowFormula;
+ /** determins the type of the variable as described in
+ <type scope="com::sun::star::text">SetVariableType</type>
+ */
+ [property]short SubType;
+ /** contains the numerical value of the field.
+ */
+ [property]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
+
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 000000000000..27e38613d3dd
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GetReference.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull 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;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..8b9c2f4cdddd
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/GraphicObjectCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..28648472cf38
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/HiddenParagraph.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..56c40dacedc5
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/HiddenText.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..ba62be9ba095
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Input.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..8eba22062b4f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/InputUser.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..1ad1b8a6e00a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/JumpEdit.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ /** determins a hint that is displayed at the user interface as tip.
+ */
+ [property]string Hint;
+ /** determins the text of the place holder.
+ */
+ [property]string PlaceHolder;
+ /** determins the type of the place holder as described in
+ <type scope="com::sun::star::text">PlaceholderType</type>.
+ */
+ [property]short PlaceHolderType;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..7cd799d0c4b7
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Macro.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
diff --git a/offapi/com/sun/star/text/textfield/MetadataField.idl b/offapi/com/sun/star/text/textfield/MetadataField.idl
new file mode 100755
index 000000000000..d98c4be39e96
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/MetadataField.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_MetadataField_idl__
+#define __com_sun_star_text_textfield_MetadataField_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextField_idl__
+#include <com/sun/star/text/TextField.idl>
+#endif
+
+#ifndef __com_sun_star_text_XText_idl__
+#include <com/sun/star/text/XText.idl>
+#endif
+
+#ifndef __com_sun_star_rdf_XMetadatable_idl__
+#include <com/sun/star/rdf/XMetadatable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text { module textfield {
+
+//=============================================================================
+/** is a <type scope="com::sun::star::text">TextField</type> whose content
+ is specified by RDF metadata.
+
+ @since OOo 3.2
+
+ @see com::sun::star::rdf
+*/
+service MetadataField
+{
+ //-------------------------------------------------------------------------
+ /** None of the properties of
+ <type scope="com::sun::star::text">TextContent</type> are supported. */
+ service com::sun::star::text::TextField;
+
+ //-------------------------------------------------------------------------
+ /** The <type>MetadataField</type> 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 <type>MetadataField</type>. */
+ interface com::sun::star::text::XText;
+
+ //-------------------------------------------------------------------------
+ /** The <type scope="com::sun::star::text">TextContent</type>s that are
+ contained in the <type>MetadataField</type> can be enumerated. */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ //-------------------------------------------------------------------------
+ /** The <type scope="com::sun::star::text">TextContent</type>
+ that is the parent of this <type>MetadataField</type>.
+ @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
+
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 000000000000..305a707ab62f
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/PageCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..b6a45ae60619
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/PageNumber.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ /** determins the type of the numbering.
+ @see <const scope="com::sun::star::style">NumberingType</const>
+ */
+ [property] short NumberingType;
+
+ /** determins an offset value to show a different page number.
+ */
+ [property] short Offset;
+ /** determins which page the field refers to.
+ @see <const scope="com::sun::star::text">PageNumberType</const>
+ */
+ [property] PageNumberType SubType;
+ /** if the user text string is set then it is displayed when the value
+ of NumberingType is set to <const scope="com::sun::star::style">NumberingType::CHAR_SPECIAL</const>
+ */
+ [property] string UserText;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..cff2c0f8486e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ParagraphCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..a21d34d049d5
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ReferencePageGet.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..dd12db2a42f0
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/ReferencePageSet.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ /** determins an offset value to change the displayed value of a ReferencePageGet text field.
+ */
+ [property]short Offset;
+ /** determins whether the ReferencePageGet text fields are displayed or not.
+ */
+ [property]boolean NameOn;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..b5e6baf501d6
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/Script.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ /** determins whether the property Content contains a URL or a script.
+ */
+ [property]boolean URLContent;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..cd727b6af827
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/SetExpression.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull 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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+ /** determins 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;
+ /** determins the type of the variable as described in
+ <type scope="com::sun::star::text">SetVariableType</type>
+ */
+ [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]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
+
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 000000000000..57d9ed10c420
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TableCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..f9013595a578
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TableFormula.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially usefull for import/export purposes. </p>
+ */
+ [property] string CurrentPresentation;
+
+ /** determins 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
+
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 000000000000..03b466ea5e06
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/TemplateName.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+ /** determins the format the template file name is displayed as specified in
+ <type scope="com::sun::star::text">FilenameDisplayFormat</type>.
+ */
+ [property]short FileFormat;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..16961361e177
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/URL.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ /** Speciefies how the URL is formated 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
+
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 000000000000..ba22607e6e37
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/User.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+ /** determins if the content is shown as text rather than as value.
+ */
+ [optional, property] boolean IsShowFormula;
+
+ /** determins 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
+
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 000000000000..2198715d2e93
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/WordCount.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::style">NumberingType</type>
+ */
+ [property]short NumberingType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..6ae2b010fb3a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/ChangeAuthor.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_ChangeAuthor_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..20d8cc5afcb2
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/ChangeDateTime.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_ChangeDateTime_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden 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
+
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 000000000000..5f95be467f0d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/CreateAuthor.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_CreateAuthor_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..b783517befdb
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/CreateDateTime.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_CreateDateTime_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden 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
+
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 000000000000..8f2c242fade1
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Custom.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+
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 000000000000..358f2af2202a
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Description.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..e83d12db3a19
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/EditTime.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_EditTime_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden 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
+
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Info0.idl b/offapi/com/sun/star/text/textfield/docinfo/Info0.idl
new file mode 100644
index 000000000000..90a305563476
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Info0.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_docinfo_Info0_idl__
+#define __com_sun_star_text_textfield_docinfo_Info0_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 Info0 field that is contained
+ in the document information.
+ @deprecated this service is no longer implemented as of OOo 3.0;
+ use com::sun::star::text::textfield::docinfo::Custom instead.
+ @see com::sun::star::text::TextField
+*/
+published service Info0
+{
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Info1.idl b/offapi/com/sun/star/text/textfield/docinfo/Info1.idl
new file mode 100644
index 000000000000..71bab32a1f1e
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Info1.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_docinfo_Info1_idl__
+#define __com_sun_star_text_textfield_docinfo_Info1_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 Info1 field that is contained
+ in the document information.
+ @deprecated this service is no longer implemented as of OOo 3.0;
+ use com::sun::star::text::textfield::docinfo::Custom instead.
+ @see com::sun::star::text::TextField
+*/
+published service Info1
+{
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Info2.idl b/offapi/com/sun/star/text/textfield/docinfo/Info2.idl
new file mode 100644
index 000000000000..65a0da3491ac
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Info2.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_docinfo_Info2_idl__
+#define __com_sun_star_text_textfield_docinfo_Info2_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 Info2 field that is contained
+ in the document information.
+ @deprecated this service is no longer implemented as of OOo 3.0;
+ use com::sun::star::text::textfield::docinfo::Custom instead.
+ @see com::sun::star::text::TextField
+*/
+published service Info2
+{
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/textfield/docinfo/Info3.idl b/offapi/com/sun/star/text/textfield/docinfo/Info3.idl
new file mode 100644
index 000000000000..e0e013eb3448
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Info3.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_docinfo_Info3_idl__
+#define __com_sun_star_text_textfield_docinfo_Info3_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 Info3 field that is contained
+ in the document information.
+ @deprecated this service is no longer implemented as of OOo 3.0;
+ use com::sun::star::text::textfield::docinfo::Custom instead.
+ @see com::sun::star::text::TextField
+*/
+published service Info3
+{
+ /** contains content information.
+ */
+ [property] string Content;
+ /** contains the current content of the text field.
+ <p> This property is escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..fee9797e719c
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Keywords.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..bce811fb3ae0
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/PrintAuthor.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_PrintAuthor_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden by the current author
+ each time the document is saved.
+ */
+ [optional, property] boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..87366468838d
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/PrintDateTime.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_textfield_PrintDateTime_idl__
+#define __com_sun_star_text_textfield_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 escpecially usefull for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to false the author
+ will be overiden 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
+
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 000000000000..82897c4cbfd8
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Revision.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..c9251e734381
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Subject.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
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 000000000000..4025ae6aea15
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/Title.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 escpecially useful for import/export purposes. </p>
+ */
+ [property]string CurrentPresentation;
+ /** If this flag is set to <FALSE/> the content updated everytime the document
+ information is changed.
+ */
+ [property]boolean IsFixed;
+};
+
+//=============================================================================
+
+}; }; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/text/textfield/docinfo/makefile.mk b/offapi/com/sun/star/text/textfield/docinfo/makefile.mk
new file mode 100644
index 000000000000..47381e570e06
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/docinfo/makefile.mk
@@ -0,0 +1,63 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csstextfielddocinfo
+PACKAGE=com$/sun$/star$/text$/textfield$/docinfo
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ChangeAuthor.idl\
+ ChangeDateTime.idl\
+ CreateAuthor.idl\
+ CreateDateTime.idl\
+ Custom.idl\
+ Description.idl\
+ EditTime.idl\
+ Info0.idl\
+ Info1.idl\
+ Info2.idl\
+ Info3.idl\
+ Keywords.idl\
+ PrintAuthor.idl\
+ PrintDateTime.idl\
+ Revision.idl\
+ Subject.idl\
+ Title.idl\
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/text/textfield/makefile.mk b/offapi/com/sun/star/text/textfield/makefile.mk
new file mode 100644
index 000000000000..475d6b019843
--- /dev/null
+++ b/offapi/com/sun/star/text/textfield/makefile.mk
@@ -0,0 +1,86 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csstextfield
+PACKAGE=com$/sun$/star$/text$/textfield
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ URL.idl\
+ Annotation.idl\
+ Author.idl\
+ Bibliography.idl\
+ Chapter.idl\
+ CharacterCount.idl\
+ CombinedCharacters.idl\
+ ConditionalText.idl\
+ Database.idl\
+ DatabaseName.idl\
+ DatabaseNextSet.idl\
+ DatabaseNumberOfSet.idl\
+ DatabaseSetNumber.idl\
+ DateTime.idl\
+ DDE.idl\
+ DropDown.idl\
+ EmbeddedObjectCount.idl\
+ ExtendedUser.idl\
+ FileName.idl\
+ GetExpression.idl\
+ GetReference.idl\
+ GraphicObjectCount.idl\
+ HiddenParagraph.idl\
+ HiddenText.idl\
+ Input.idl\
+ InputUser.idl\
+ JumpEdit.idl\
+ Macro.idl\
+ MetadataField.idl\
+ PageCount.idl\
+ PageNumber.idl\
+ ParagraphCount.idl\
+ ReferencePageGet.idl\
+ ReferencePageSet.idl\
+ Script.idl\
+ SetExpression.idl\
+ TableCount.idl\
+ TableFormula.idl\
+ TemplateName.idl\
+ User.idl\
+ WordCount.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/ucb/AlreadyInitializedException.idl b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl
new file mode 100644
index 000000000000..56902f637599
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_AlreadyInitializedException_idl__
+#define __com_sun_star_ucb_AlreadyInitializedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+*/
+published exception AlreadyInitializedException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/AnyCompareFactory.idl b/offapi/com/sun/star/ucb/AnyCompareFactory.idl
new file mode 100644
index 000000000000..2e0d3542668c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AnyCompareFactory.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_AnyCompareFactory_idl__
+#define __com_sun_star_ucb_AnyCompareFactory_idl__
+
+#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory to get <type>XAnyCompare</type> service implementations.
+
+ @since OOo 1.1.2
+*/
+published service AnyCompareFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory to get implementations of interface
+ <type>XAnyCompare</type>.
+ */
+ interface com::sun::star::ucb::XAnyCompareFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/AuthenticationRequest.idl b/offapi/com/sun/star/ucb/AuthenticationRequest.idl
new file mode 100644
index 000000000000..ceda716c3d91
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AuthenticationRequest.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_AuthenticationRequest_idl__
+#define __com_sun_star_ucb_AuthenticationRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error specifing 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
diff --git a/offapi/com/sun/star/ucb/CHAOSProgressStart.idl b/offapi/com/sun/star/ucb/CHAOSProgressStart.idl
new file mode 100644
index 000000000000..fc53292963c1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CHAOSProgressStart.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CHAOSProgressStart_idl__
+#define __com_sun_star_ucb_CHAOSProgressStart_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An object representing the start of a task's activity that will progress
+ from some minimal to some maximal value.
+
+ @deprecated
+
+ @see XProgressHandler
+*/
+published struct CHAOSProgressStart
+{
+ //-------------------------------------------------------------------------
+ /** An optional text describing the activity.
+ */
+ string Text;
+
+ //-------------------------------------------------------------------------
+ /** The minimal value of the progress.
+ */
+ long Minimum;
+
+ //-------------------------------------------------------------------------
+ /** The maximal value of the progress.
+ */
+ long Maximum;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSet.idl b/offapi/com/sun/star/ucb/CachedContentResultSet.idl
new file mode 100644
index 000000000000..26d6e66b3160
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSet.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CachedContentResultSet_idl__
+#define __com_sun_star_ucb_CachedContentResultSet_idl__
+
+#ifndef __com_sun_star_ucb_ContentResultSet_idl__
+#include <com/sun/star/ucb/ContentResultSet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is used on client side to access a <type>ContentResultSet</type>
+ remote optimized.
+
+ <p>The <type>CachedContentResultSet</type> 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 fethched from
+ an underlying database.
+
+ <p>The default fetch size is implementation specific.
+
+ <p>Every negative value for parameter <member>FetchSize</member> 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
+ <type scope="com::sun::star::sdbc">FetchDirection</type> constants group.
+
+ <p>The default value is implementation specific.
+
+ <p>If you set the value to
+ <member scope="com::sun::star::sdbc">FetchDirection::UNKNOWN</member> an
+ implementation specific direction will be used.
+ */
+ [property] long FetchDirection;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl
new file mode 100644
index 000000000000..ab03429e7f84
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_CachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetFactory_idl__
+
+#ifndef __com_sun_star_ucb_XCachedContentResultSetFactory_idl__
+#include <com/sun/star/ucb/XCachedContentResultSetFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>CachedContentResultSet</type> implementations.
+*/
+published service CachedContentResultSetFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>CachedContentResultSet</type>.
+ */
+ interface com::sun::star::ucb::XCachedContentResultSetFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl
new file mode 100644
index 000000000000..5d2a4ed61956
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CachedContentResultSetStub_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStub_idl__
+
+#ifndef __com_sun_star_ucb_ContentResultSet_idl__
+#include <com/sun/star/ucb/ContentResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XFetchProvider_idl__
+#include <com/sun/star/ucb/XFetchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+#include <com/sun/star/ucb/XFetchProviderForContentAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is used on provider side to access a <type>ContentResultSet</type>
+ 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
+ <type>XContentAccess</type> for several rows of one result set at once.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XFetchProviderForContentAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000000..cbfff8944311
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__
+
+#ifndef __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__
+#include <com/sun/star/ucb/XCachedContentResultSetStubFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>CachedContentResultSetStub</type> implementations.
+*/
+published service CachedContentResultSetStubFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>CachedContentResultSetStub</type>.
+ */
+ interface com::sun::star::ucb::XCachedContentResultSetStubFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl
new file mode 100644
index 000000000000..a6116d1db1a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CachedDynamicResultSet_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSet_idl__
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XSourceInitialization_idl__
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides read access to a static or dynamically changing
+ <type>ContentResultSet</type>.
+
+ <p>For example, a <type>DynamicResultSet</type> is returned from the
+ open-command executed by an <type>XCommandProcessor</type> of the service
+ <type>Content</type>.
+*/
+
+published service CachedDynamicResultSet
+{
+ //-------------------------------------------------------------------------
+ /** Provides remote optimized read access to a static or a dynamically
+ changing <type>ContentResultSet</type>.
+
+ <p>The <type scope="com::sun::star::sdbc">XResultSet</type>s given to
+ the listener in the first notification in the
+ <type>WelcomeDynamicResultSetStruct</type> are implementations of the
+ <type>CachedContentResultSet</type> service.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ //-------------------------------------------------------------------------
+ /** provides the initialization of the <type>CachedDynamicResultSet</type>
+ with a source object.
+
+ <p>The <var>Source</var> in
+ <member>XSourceInitialization::setSource</member> has to be an
+ implementation of service <type>CachedDynamicResultSetStub</type>
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000000..5ec157e15015
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__
+
+#ifndef __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__
+#include <com/sun/star/ucb/XCachedDynamicResultSetFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>CachedDynamicResultSet</type> implementations.
+*/
+published service CachedDynamicResultSetFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>CachedDynamicResultSet</type>.
+ */
+ interface com::sun::star::ucb::XCachedDynamicResultSetFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl
new file mode 100644
index 000000000000..6e88b77d74e9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CachedDynamicResultSetStub_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStub_idl__
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XSourceInitialization_idl__
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides read access to a static or dynamicallly changing
+ <type>ContentResultSet</type>.
+
+ <p>For example, a <type>DynamicResultSet</type> is returned from the
+ open-command executed by an <type>XCommandProcessor</type> of the service
+ <type>Content</type>.
+*/
+
+published service CachedDynamicResultSetStub
+{
+ //-------------------------------------------------------------------------
+ /** In Combination with a <type>CachedDynamicResultSet</type> this provides
+ remote optimized read access to a static or dynamically changing
+ <type>ContentResultSet</type>.
+
+ <p>The <type scope="com::sun::star::sdbc">XResultSet</type>s given to
+ the listener in the first notification in the
+ <type>WelcomeDynamicResultSetStruct</type> are implementations of
+ <type>CachedContentResultSetStub</type>.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ //-------------------------------------------------------------------------
+ /** provides the initialization of the <type>CachedDynamicResultSetStub</type>
+ with a source object.
+
+ <p>The <var>Source</var> in
+ <member>XSourceInitialization::setSource</member> has to be an
+ implementation of service <type>DynamicResultSet</type>
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000000..e0357c3ee61b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__
+
+#ifndef __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
+#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>CachedDynamicResultSetStub</type> implementations.
+*/
+published service CachedDynamicResultSetStubFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>CachedDynamicResultSetStub</type>.
+ */
+ interface com::sun::star::ucb::XCachedDynamicResultSetStubFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/CertificateValidationRequest.idl b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl
new file mode 100755
index 000000000000..5d225aa0220c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CertificateValidationRequest_idl__
+#define __com_sun_star_ucb_CertificateValidationRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_security_XCertificate_idl__
+#include <com/sun/star/security/XCertificate.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error specifing 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;
+
+ string HostName;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/Command.idl b/offapi/com/sun/star/ucb/Command.idl
new file mode 100644
index 000000000000..9d39c3a3525e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Command.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_Command_idl__
+#define __com_sun_star_ucb_Command_idl__
+
+#ifndef __com_sun_star_ucb_CommandInfo_idl__
+#include <com/sun/star/ucb/CommandInfo.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/CommandAbortedException.idl b/offapi/com/sun/star/ucb/CommandAbortedException.idl
new file mode 100644
index 000000000000..a7fac87d48b3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandAbortedException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CommandAbortedException_idl__
+#define __com_sun_star_ucb_CommandAbortedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is thrown to indicate that a command was aborted.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XCommandProcessor
+*/
+published exception CommandAbortedException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/CommandEnvironment.idl b/offapi/com/sun/star/ucb/CommandEnvironment.idl
new file mode 100644
index 000000000000..6141a74da32a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandEnvironment.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XCommandEnvironment</type> that can be
+ initialized with any implementation of
+ <type scope="com::sun::star::task">XInteractionHandler</type> and
+ <type scope="com::sun::star::ucb">XProgressHandler</type>. 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' implementation of
+ <method>XCommandEnvironemt::getInteractionHandler</method>
+
+ @param ProgressHandler the progress handler instance that will be
+ returned by this service' implementation of
+ <method>XCommandEnvironemt::getProgressHandler</method>
+ */
+ create( [in] com::sun::star::task::XInteractionHandler InteractionHandler,
+ [in] com::sun::star::ucb::XProgressHandler ProgressHandler );
+ };
+
+};};};};
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CommandFailedException.idl b/offapi/com/sun/star/ucb/CommandFailedException.idl
new file mode 100644
index 000000000000..e757e2c687d0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandFailedException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_CommandFailedException_idl__
+#define __com_sun_star_ucb_CommandFailedException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is thrown if an exception situation occured during the
+ processing of a command and an
+ <type scope="com::sun::star::task">XInteractionHandler</type> 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
+ @author Kai Sommerfeld
+ @see XCommandProcesssor
+*/
+published exception CommandFailedException : com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** contains the exception that was passed to the
+ <type scope="com::sun::star::task">XInteractionHandler</type>.
+ */
+ any Reason;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CommandInfo.idl b/offapi/com/sun/star/ucb/CommandInfo.idl
new file mode 100644
index 000000000000..aa4c07c5519f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfo.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CommandInfo_idl__
+#define __com_sun_star_ucb_CommandInfo_idl__
+
+#ifndef __com_sun_star_reflection_XIdlClass_idl__
+#include <com/sun/star/reflection/XIdlClass.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/CommandInfoChange.idl b/offapi/com/sun/star/ucb/CommandInfoChange.idl
new file mode 100644
index 000000000000..41ac487cbda6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChange.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>CommandInfoChangeEvent</type>s.
+
+ @see CommandInfoChangeEvent
+ @see XCommandInfo
+*/
+published constants CommandInfoChange
+{
+ //-------------------------------------------------------------------------
+ /** A command was inserted into a <type>XCommandInfo</type>.
+ */
+ const long COMMAND_INSERTED = 0;
+
+ //-------------------------------------------------------------------------
+ /** A command was removed from a <type>XCommandInfo</type>.
+ */
+ const long COMMAND_REMOVED = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl
new file mode 100644
index 000000000000..60cd2a06a847
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CommandInfoChangeEvent_idl__
+#define __com_sun_star_ucb_CommandInfoChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This event gets delivered whenever a <type>XCommandInfo</type> is changed.
+
+ <p>A <type>CommandInfoChangeEvent</type> object is sent to
+ <type>XCommandInfoChangeListener</type>s.
+*/
+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 <type>CommandInfoChange</type> constants.
+ */
+ long Reason;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ConnectionMode.idl b/offapi/com/sun/star/ucb/ConnectionMode.idl
new file mode 100644
index 000000000000..b23389e740a6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ConnectionMode.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/Content.idl b/offapi/com/sun/star/ucb/Content.idl
new file mode 100644
index 000000000000..85923c65fe15
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Content.idl
@@ -0,0 +1,756 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_Content_idl__
+#define __com_sun_star_ucb_Content_idl__
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A <type>Content</type> is a service that provides access to data of a
+ content provided by an implementation of the service
+ <type>ContentProvider</type>.
+*/
+published service Content
+{
+ //-------------------------------------------------------------------------
+ /** provides access to the identitity and the type of the content and
+ allows the registration of listeners for <type>ContentEvent</type>s.
+
+ <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 occure 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,
+ <member scope="com::sun::star::lang">XComponent::dispose</member> must
+ be called at the content. The implementation of this method must call
+ <member scope="com::sun::star::lang">XEventListener::disposing</member>
+ 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 <type>XCommandProcessor2</type> 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>
+
+ <pre>
+ =======================================================================
+ Commands:
+ =======================================================================
+
+ [return type]
+ [command name]
+ [parameter type and name]
+
+ -----------------------------------------------------------------------
+ Mandatory commands:
+ -----------------------------------------------------------------------
+
+ // This command obtains an interface which allows to query
+ // information on commands supported by a content.
+ <type>XCommandInfo</type>
+ getCommandInfo
+ void
+
+ // This command obtains an interface which allows to query
+ // information on properties supported by a content.
+ <type scope="com::sun::star::beans">XPropertySetInfo</type>
+ getPropertySetInfo
+ void
+
+ // This command obtains property values from the content.
+ // Note: 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.
+ <type scope="com::sun::star::sdbc">XRow</type>
+ getPropertyValues
+ sequence&lt; <type scope="com::sun::star::beans">Property</type> &gt; aProps
+
+ // This command sets property values of the content.
+ // 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. 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
+ // <type scope="com::sun::star::beans">PropertyValue</type> passed as
+ // command argument and so on. The exceptions will never be passed to
+ // an Interaction Handler.
+ //
+ // An any containing:
+ //
+ // - No value indicates, that the property value was set successfully.
+ // - <type scope="com::sun::star::beans">UnknownPropertyException</type>
+ // indicates, that the property is not known to the content
+ // implementation.
+ // - <type scope="com::sun::star::beans">IllegalTypeException</type>
+ // indicates, that the data type of the property value is not
+ // acceptable.
+ // - <type scope="com::sun::star::lang">IllegalAccessException</type>
+ // indicates, that the property is constant
+ // (<member scope="com::sun::star::beans">PropertyAttribute::READONLY</member>
+ // is set).
+ // - <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ // indicates, that the property value is not acceptable. For instance,
+ // setting an empty title may be illegal.
+ // - Any other execption derived from <type scope="com::sun::star::uno">Exception</type>
+ // indicates, that the value was not set successfully. For example,
+ // this can be a <type>InteractiveAugmentedIOException</type>
+ // transporting the error code <member>IOErrorCode::ACCESS_DENIED</member>.
+ //
+ // If the value to set is equal to the current value, no exception must
+ // be added to the returned sequence
+ sequence&lt; any &gt;
+ setPropertyValues
+ sequence&lt; <type scope="com::sun::star::beans">PropertyValue</type> &gt; aValues
+
+ -----------------------------------------------------------------------
+ Optional commands:
+ -----------------------------------------------------------------------
+
+ // For folder objects, this command will return an implementation
+ // of service <type>DynamicResultSet</type>.
+ //
+ // The <type>OpenCommandArgument2</type> members must be filled as follows:
+ //
+ // Mode : ALL or FOLDERS or DOCUMENTS. The implementation
+ // of the open command MUST support all these modes!
+ // Priority : can be set, but implementation may ignore the value
+ // Sink : empty( ignored )
+ // Properties : The properties for that 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, ...
+ // SortingInfo : contains sort criteria, if result set shall
+ // be sorted, otherwise it can be left empty.
+ //
+ // The exceution must be aborted by the implementation of this command
+ // (by throwing a <type>CommandAbortedException</type>), if an
+ // unsupported mode is requested.
+ <type>XDynamicResultSet</type>
+ <B>open</B>
+ <type>OpenCommandArgument2</type> aOpenCommandArg
+
+ // For non-folder objects, the <type>OpenCommandArgument2</type> struct
+ // will be prefilled with a data sink object, which will be filled
+ // with the content data.
+ //
+ // The <type>OpenCommandArgument2</type> members must be filled as follows:
+ //
+ // Mode : DOCUMENT or DOCUMENT_SHARE_DENY_NONE or
+ // DOCUMENT_SHARE_DENY_WRITE. Support for DOCUMENT
+ // is mandatory, all others are optional.
+ // Priority : can be set, but implementation may ignore the value
+ // Sink : a sink, where the implementation can put the
+ // document data into.
+ // Properties : empty ( ignored )
+ // SortingInfo : empty ( ignored )
+ //
+ // The exceution must be aborted by the implementation of this command
+ // (by throwing a <type>CommandAbortedException</type>), if an
+ // unsupported mode is requested.
+ void
+ <B>open</B>
+ <type>OpenCommandArgument2</type> aOpenCommandArg
+
+ // 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
+ // <member>XContentEventListener::contentEvent</member>.
+ void
+ <B>update</B>
+ <type>OpenCommandArgument2</type> aOpenCommandArg
+
+ // 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
+ // <member>XContent::contentEvent</member>.
+ void
+ <B>synchronize</B>
+ <type>OpenCommandArgument2</type> aOpenCommandArg
+
+ // This command closes an object.
+ void
+ <B>close</B>
+ void
+
+ // 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 <type>ContentEvent</type>
+ // - <member>ContentAction::DELETED</member>. Additionally, the contents
+ // parent must notify a <type>ContentEvent</type>
+ // - <member>ContentAction::REMOVED</member>
+ void
+ <B>delete</B>
+ boolean bDeletePhysically
+
+ // 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.
+ void
+ <B>undelete</B>
+ void
+
+ // (1) This command inserts a new content. It commits the process of
+ // creating a new content via executing the command "createNewContent"
+ // and initializing it via setting properties, afterwards.
+ // 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.
+ // On successful completion of this command, the parent of the inserted
+ // content must propagate the change by notifying a
+ // <type>ContentEvent</type> - <member>ContentAction::INSERTED</member>.
+ //
+ // (2) Additionally this command can be called at any time to overwrite
+ // the data of an existing content.
+ void
+ <B>insert</B>
+ <type>InsertCommandArgument</type> aInsertCommandArg
+
+ // This command searches for subcontents of a content matching the
+ // given search criteria. The command will return an implemenation
+ // of service <type>DynamicResultSet</type>.
+ <type>XDynamicResultSet</type>
+ <B>search</B>
+ <type>SearchCommandArgument</type> aSearchCommandArg
+
+ // <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 <type>UniversalContentBroker</type>.
+ // This command is able to transfer all kind of content
+ // supported by that UCB.
+ //
+ // This command transfers (copies/moves) an object from one location
+ // to another. It must be executed at the folder content representing
+ // the destination of the transfer operation. Note that the
+ // implementation need not(!) be able to handle any type of contents.
+ // 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. 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 implemeted efficiently. If an implementation is not able to
+ // handle a given source URL, it should indicate this by issuing a
+ // <type>InteractiveBadTransferURLException</type> interaction request.
+ // Source and target folder may be the same when doing a move operation.
+ //
+ // Transfers without the transfer command can be done as follows:
+ //
+ // 1) Create a new content at the target folder
+ // --> targetContent = target.execute( "createNewContent", type )
+ // 2) Transfer data from source to target content
+ // --> props = sourceContent.execute( "getPropertyValues", ... )
+ // --> dataStream = sourceContent.execute( "open", ... )
+ // --> targetContent.execute( "setPropertyValues", props )
+ // 3) Insert ( commit ) the new content
+ // --> targetContent.execute( "insert", dataStream )
+ // 4) For move operations only: destroy the source content
+ // sourceContent.execute( "delete", ... )
+ //
+ // This mechanism should work for all transfer operations, but generally
+ // it's less efficient than the transfer command.
+ void
+ <B>transfer</B>
+ <type>TransferInfo</type> aTransferInfo
+
+ // This command obtains an exlusive 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).
+ void
+ <B>lock</B>
+ void
+ Exceptions: <type>InteractiveLockingLockedException</type>
+ <type>InteractiveLockingLockExpiredException</type>
+
+ // This command removes a lock obtained by executing the command "lock"
+ // from the resource.
+ void
+ <B>unlock</B>
+ void
+ Exceptions: <type>InteractiveLockingNotLockedException</type>
+ <type>InteractiveLockingLockExpiredException</type>
+
+ // Note that <type>InteractiveLockingLockExpiredException</type> might
+ // be raised by any command that requires a previously obtained lock.
+
+ // This command creates a new non-persistent content of a given type.
+ //
+ // <p>Creation of a new (persistent) content:
+ // <ol>
+ // <li>creatabletypes = obtain "CreatableContentsInfo" property<br>
+ // from creator
+ // <li>choose a suitable type from creatabletypes
+ // <li>newObject = execute command "createNewContent(type)" at<br>
+ // creator
+ // <li>initialize the new object (i.e. newObject.Property1 = ...)
+ // <li>execute command "insert" at new content. This command
+ // commits the data and makes the new content persistent.
+ // </ol>
+ //
+ // 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.
+ //
+ // Note: This command is part of the replacement for the deprecated
+ // interface <type>XContentCreator</type>.
+ <type>XContent</type> >
+ <B>createNewContent</B>
+ <type>ContentInfo<type> contentinfo
+
+ =======================================================================
+ Properties:
+ =======================================================================
+
+ -----------------------------------------------------------------------
+ Mandatory properties:
+ -----------------------------------------------------------------------
+
+ // contains a unique(!) type string for the content ( i.e.
+ // "application/vnd.sun.star.hierarchy-link" ). This property is always
+ // read-only. It does not contain the media type ( MIME types ) of the
+ // content. Media types may be provided through the optional property
+ // "MediaType".
+ // The value of this property should match the information on creatable
+ // contents given by UCB contents that implement the property
+ // "CreatableContentsInfo".
+ string ContentType
+
+ // indicates, whether a content can contain other contents.
+ boolean IsFolder
+
+ // indicates, whether a content is a document. This means, the
+ // content can dump itself into a data sink.
+ boolean IsDocument
+
+ // contains the title of an object (e.g. the subject of a message).
+ string Title;
+
+ -----------------------------------------------------------------------
+ Optional properties:
+ -----------------------------------------------------------------------
+
+ // contains the interval for automatic updates of an object.
+ // It is specified in seconds.
+ long AutoUpdateInterval
+
+ // 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.)
+ short ConnectionLimit
+
+ // contains the current connection mode for the object.
+ // (see <type>ConnectionMode</type>)
+ short ConnectionMode
+
+ // contains the date and time the object was created.
+ <type scope"com::sun::star::util">DateTime</type> DateCreated
+
+ // contains the date and time the object was last modified.
+ <type scope"com::sun::star::util">DateTime</type> DateModified
+
+ // contains the count of documents of a folder.
+ long DocumentCount;
+
+ // contains the count of marked documents within a folder.
+ long DocumentCountMarked
+
+ // contains a sequence of documemt 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;.
+ sequence&lt; <type>DocumentHeaderField</type> &gt; DocumentHeader
+
+ // contains information about the way a folder stores the
+ // contents of (remote) documents.
+ <type>DocumentStoreMode</type> DocumentStoreMode
+
+ // contains the count of subfolders of a folder.
+ long FolderCount
+
+ // contains the free space left on a storage device. It is
+ specified in bytes.
+ hyper FreeSpace
+
+ // indicates whether a content has subcontents, which are documents.
+ boolean HasDocuments
+
+ // indicates whether a content has subcontents, which are folders.
+ boolean HasFolders
+
+ // indicates whether a content is &quot;marked&quot;.
+ boolean IsMarked
+
+ // indicates whether a content has been "read".
+ boolean IsRead;
+
+ // indicates whether a content is read-only.
+ boolean IsReadOnly
+
+ // indicates whether a content is subscribed.
+ boolean IsSubscribed
+
+ // indicates whether the feature to store contents depending on
+ // their age is active.
+ boolean IsTimeLimitedStore;
+
+ // indicates whether (sub)contents shall be automatically updated
+ // everytime a (folder) content is opened. 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.
+ boolean UpdateOnOpen
+
+ // contains the keywords of a document (e.g. the value
+ // of the &quot;keywords&quot; header field of a news article).
+ string Keywords
+
+ // 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 ).
+ string MediaType
+
+ // contains the BCC (blind carbon copy) receiver(s) of a message.
+ string MessageBCC
+
+ // contains the CC (carbon copy) receiver(s) of a message.
+ string MessageCC
+
+ // contains (the address of) the sender of a message.
+ string MessageFrom
+
+ // contains the ID of a message.
+ string MessageId
+
+ // contains the &quot;In-Reply-To&quot; field of a message.
+ string MessageInReplyTo
+
+ // contains the &quot;Reply-To&quot; field of a message.
+ string MessageReplyTo
+
+ // contains the recipient(s) of a message.
+ string MessageTo
+
+ // contains the name(s) of the newsgroup(s) into which a message
+ // was posted.
+ string NewsGroups
+
+ // contains a password (e.g. needed to access a POP3-Server).
+ string Password
+
+ // contains a priority (i.e. of a message).
+ <type>Priority</type> Priority
+
+ // contains the &quot;References&quot; field of a news article.
+ string References
+
+ // contains the rules set for a content.
+ <type>RuleSet</type> Rules
+
+ // contains the count of seen/read subcontents of a folder content.
+ long SeenCount
+
+ // 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)
+ string ServerBase
+
+ // contains a server name (e.g. The name of the server to use for
+ // a POP3-Account).
+ string ServerName
+
+ // contains a numeric server port.
+ short ServerPort
+
+ // contains the size (usually in bytes) of an object.
+ hyper Size
+
+ // contains a size limit for an object. (e.g. One may specify the
+ // maximum size of the HTTP-Cache)
+ hyper SizeLimit
+
+ // contains the count of subscribed contents of a folder.
+ long SubscribedCount
+
+ // contains the policy to use when synchronizing two objects.
+ <type>SynchronizePolicy</type> SynchronizePolicy
+
+ // 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>
+ string TargetFrames
+
+ // for contents that are links to other contents, contains the URL of
+ // the target content
+ string TargetURL
+
+ // contains the value to use if the property "IsTimeLimitedStore" is set.
+ short TimeLimitStore;
+
+ // contains a user name. (e.g. the user name needed to access a
+ // POP3-Account)
+ string UserName
+
+ // describes a verification policy.
+ <type>VerificationMode</type> VerificationMode
+
+ // contains the types of Contents a Content object can create via
+ // command "createNewContent".
+ //
+ // If the property value can be a non-empty sequence, the Content must
+ // also support command "createNewContent".
+ //
+ // Note: This property is part of the replacement for the deprecated
+ // interface <type>XContentCreator</type>.
+ sequence <type>ContentInfo</type> CreatableContentsInfo
+
+ </pre>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ //-------------------------------------------------------------------------
+ /** is an enhanced version of <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Store</type> (UCB persistence service) may be used to
+ implement this.
+
+ <p><b>Important:</b> The implementation of
+ <method scope="com::sun::star::beans">XPropertyContainer::addProperty</method>
+ 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>If a property with an unsupported type shall be added a
+ <type scope="com::sun::star::beans">IllegalTypeException</type> must
+ be raised.
+ */
+ 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
+ <type scope="com::sun::star::beans">XPropertyContainer</type>. )
+ */
+ [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
+ <member scope="com::sun::star::container">XChild::getParent()</member>
+ must implement the service <type>Content</type>. 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
diff --git a/offapi/com/sun/star/ucb/ContentAction.idl b/offapi/com/sun/star/ucb/ContentAction.idl
new file mode 100644
index 000000000000..7e5a7370c067
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentAction.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 usualy 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" propery,
+ or when afolder that hierarchicaly 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
diff --git a/offapi/com/sun/star/ucb/ContentCreationError.idl b/offapi/com/sun/star/ucb/ContentCreationError.idl
new file mode 100644
index 000000000000..538ce0e09842
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationError.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/ContentCreationException.idl b/offapi/com/sun/star/ucb/ContentCreationException.idl
new file mode 100644
index 000000000000..fdeca8a1c772
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentCreationException_idl__
+#define __com_sun_star_ucb_ContentCreationException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ContentCreationError_idl__
+#include <com/sun/star/ucb/ContentCreationError.idl>
+#endif
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+*/
+published exception ContentCreationException : com::sun::star::uno::Exception
+{
+ /** An error code.
+ */
+ ContentCreationError eError;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentEvent.idl b/offapi/com/sun/star/ucb/ContentEvent.idl
new file mode 100644
index 000000000000..8d69bfb3d23e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentEvent.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentEvent_idl__
+#define __com_sun_star_ucb_ContentEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ContentAction</type> 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><member>ContentAction::INSERTED</member></td>
+ <td>The content inserted into a folder</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::REMOVED</member></td>
+ <td>The content removed from a folder</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::DELETED</member></td>
+ <td>The deleted content</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::EXCHANGED</member></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><member>ContentAction::INSERTED</member></td>
+ <td>Id of the folder the content was inserted into</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::REMOVED</member></td>
+ <td>Id of the folder the content was removed from</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::DELETED</member></td>
+ <td>Id of the deleted content</td>
+ </tr>
+ <tr align=left>
+ <td><member>ContentAction::EXCHANGED</member></td>
+ <td>Previous(!) id of the exchanged content</td>
+ </tr>
+ </table>
+ */
+ XContentIdentifier Id;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentInfo.idl b/offapi/com/sun/star/ucb/ContentInfo.idl
new file mode 100644
index 000000000000..f562d8f39670
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfo.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentInfo_idl__
+#define __com_sun_star_ucb_ContentInfo_idl__
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>XContent::getContentType</member> 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
+ <type>ContentProvider</type>s.
+
+ <p>The value can be one of the <type>ContentInfoAttribute</type>
+ constants.
+ */
+ long Attributes;
+
+ //-------------------------------------------------------------------------
+ /** This field contains a list with the properties which must be set at
+ a content that was just created using
+ <member>XContentCreator::createNewContent</member> 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
diff --git a/offapi/com/sun/star/ucb/ContentInfoAttribute.idl b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl
new file mode 100644
index 000000000000..47dc7e8bb0df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>ContentInfo::Attributes</member>.
+*/
+published constants ContentInfoAttribute
+{
+ //-------------------------------------------------------------------------
+ /** No extra attributes.
+ */
+ const short NONE = 0;
+
+ //-------------------------------------------------------------------------
+ /** Supply an input stream with the <type>InsertCommandArgument</type>,
+ 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
diff --git a/offapi/com/sun/star/ucb/ContentProvider.idl b/offapi/com/sun/star/ucb/ContentProvider.idl
new file mode 100644
index 000000000000..314b4f7c858d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProvider.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentProvider_idl__
+#define __com_sun_star_ucb_ContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides access to a set of <type>Content</type>s.
+*/
+published service ContentProvider
+{
+ //-------------------------------------------------------------------------
+ /** gives access to all contents provided by this provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ //-------------------------------------------------------------------------
+ /** creates special <type>XContentIdentifier</type> 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 <type>ContentProvider</type> to adjust itself to special
+ needs.
+
+ <p>Whenever a ContentProvider that supports this interface is
+ registered at a <type>XContentProviderManager</type>, the method
+ <member>XParameterizedContentProvider::registerInstance</member>
+ should first be called, using the returned <type>XContentProvider</type>
+ to register at the XContentProviderManager.
+ */
+ [optional] interface com::sun::star::ucb::XParameterizedContentProvider;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentProviderInfo.idl b/offapi/com/sun/star/ucb/ContentProviderInfo.idl
new file mode 100644
index 000000000000..1c39ff7929f8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderInfo.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentProviderInfo_idl__
+#define __com_sun_star_ucb_ContentProviderInfo_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxy.idl b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
new file mode 100644
index 000000000000..1bbd1ebf8c8e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentProviderProxy_idl__
+#define __com_sun_star_ucb_ContentProviderProxy_idl__
+
+#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#endif
+
+//=============================================================================
+
+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. Instaead of
+ instanciating 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
+ <member scope="com::sun::star::uno">XInterface::queryInterface</member>
+ must instanciate 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 wrappes the original provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ //-------------------------------------------------------------------------
+ /** a parameterized content provider implementation that wrappes the
+ original provider.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl
new file mode 100644
index 000000000000..adc63748b95f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentProviderProxyFactory_idl__
+#define __com_sun_star_ucb_ContentProviderProxyFactory_idl__
+
+#ifndef __com_sun_star_ucb_XContentProviderFactory_idl__
+#include <com/sun/star/ucb/XContentProviderFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>ContentProviderProxy</type> implementations.
+*/
+published service ContentProviderProxyFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>ContentProviderProxy</type>.
+ */
+ interface com::sun::star::ucb::XContentProviderFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/ContentResultSet.idl b/offapi/com/sun/star/ucb/ContentResultSet.idl
new file mode 100644
index 000000000000..64867d800cfb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSet.idl
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentResultSet_idl__
+#define __com_sun_star_ucb_ContentResultSet_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XResultSetMetaDataSupplier_idl__
+#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XRow_idl__
+#include <com/sun/star/sdbc/XRow.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XCloseable_idl__
+#include <com/sun/star/sdbc/XCloseable.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentAccess_idl__
+#include <com/sun/star/ucb/XContentAccess.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_ResultSet_idl__
+#include <com/sun/star/sdbc/ResultSet.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::beans">XPropertySet</type>
+ - which may hold property change listeners - and
+ <type scope="com::sun::star::beans">XPropertyChangeListener</type>
+ - 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 travelling 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 <type>ResultSetException</type> ( which is derived from
+ <type scope="com::sun::star::sdbc">SQLException</type> 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 <type>ResultSetException</type> ( which is derived from
+ <type scope="com::sun::star::sdbc">SQLException</type> 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 <type>ResultSetException</type> ( which is derived from
+ <type scope="com::sun::star::sdbc">SQLException</type> 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 resultset.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+ /** controls the travel mode of the resultset cursor.
+
+ <p>There are two possible travel modes:
+
+ <p><table border=1>
+ <tr><td><member>CursorTravelMode::BLOCKING</member></td>
+ <td>Each travel method of the resultset will not return until the
+ data for the new position were retrieved.</td></tr>
+ <tr><td><member>CursorTravelMode::NONBLOCKING</member></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:
+
+ <p><pre>
+ 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 = ...
+ }
+ </pre>
+
+ <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 <member>CursorTravelMode::BLOCKING</member>.
+ </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 te resultset 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 implememtation of this service is optional.
+ */
+ service com::sun::star::sdbc::ResultSet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentResultSetCapability.idl b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl
new file mode 100644
index 000000000000..a5c8c07353d9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XDynamicResultSet</type>.
+*/
+published constants ContentResultSetCapability
+{
+ //-------------------------------------------------------------------------
+ /** indicates that a <type>ContentResultSet</type> is properly sorted,
+ exactly following the rules given during the ContentResultSet was
+ created.
+ */
+ const short SORTED = 1;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ContentTransmitter.idl b/offapi/com/sun/star/ucb/ContentTransmitter.idl
new file mode 100644
index 000000000000..7691dcf91036
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentTransmitter.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ContentTransmitter_idl__
+#define __com_sun_star_ucb_ContentTransmitter_idl__
+
+#ifndef __com_sun_star_ucb_XContentTransmitter_idl__
+#include <com/sun/star/ucb/XContentTransmitter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A <type>ContentTransmitter</type> is a service that provides
+
+ @deprecated
+*/
+published service ContentTransmitter
+{
+ //-------------------------------------------------------------------------
+ /**
+
+ This interface is required.
+ */
+ interface com::sun::star::ucb::XContentTransmitter;
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/Cookie.idl b/offapi/com/sun/star/ucb/Cookie.idl
new file mode 100644
index 000000000000..0c413322dd76
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Cookie.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_Cookie_idl__
+#define __com_sun_star_ucb_Cookie_idl__
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CookiePolicy_idl__
+#include <com/sun/star/ucb/CookiePolicy.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A cookie.
+*/
+published struct Cookie
+{
+ //-------------------------------------------------------------------------
+ /** The name of the cookie.
+ */
+ string Name;
+
+ //-------------------------------------------------------------------------
+ /** The value of the cookie.
+ */
+ string Value;
+
+ //-------------------------------------------------------------------------
+ /** The domain to which the cookie applies.
+ */
+ string Domain;
+
+ //-------------------------------------------------------------------------
+ /** The path to which the cookie applies.
+ */
+ string Path;
+
+ //-------------------------------------------------------------------------
+ /** The date the cookie will expire.
+ */
+ com::sun::star::util::DateTime Expires;
+
+ //-------------------------------------------------------------------------
+ /** Whether the requested action should be performed in a secure fashion.
+ */
+ boolean Secure;
+
+ //-------------------------------------------------------------------------
+ /** The policy for handling this cookie in the future.
+ */
+ com::sun::star::ucb::CookiePolicy Policy;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CookiePolicy.idl b/offapi/com/sun/star/ucb/CookiePolicy.idl
new file mode 100644
index 000000000000..50d354cf618f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CookiePolicy.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CookiePolicy_idl__
+#define __com_sun_star_ucb_CookiePolicy_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A policy how to handle cookie requests.
+*/
+published enum CookiePolicy
+{
+ //-------------------------------------------------------------------------
+ /** Interactively accept or ignore each individual cookie request.
+ */
+ CONFIRM,
+
+ //-------------------------------------------------------------------------
+ /** Generally accept all cookie requests.
+ */
+ ACCEPT,
+
+ //-------------------------------------------------------------------------
+ /** Generally ignore all cookie requests.
+ */
+ IGNORE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CookieRequest.idl b/offapi/com/sun/star/ucb/CookieRequest.idl
new file mode 100644
index 000000000000..cde1f143420e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CookieRequest.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_CookieRequest_idl__
+#define __com_sun_star_ucb_CookieRequest_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Cookie requests.
+*/
+published enum CookieRequest
+{
+ //-------------------------------------------------------------------------
+ /** Receive (store) a cookie.
+ */
+ RECEIVE,
+
+ //-------------------------------------------------------------------------
+ /** Send a (stored) cookie.
+ */
+ SEND
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/CrossReference.idl b/offapi/com/sun/star/ucb/CrossReference.idl
new file mode 100644
index 000000000000..799cd245f809
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CrossReference.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl
new file mode 100644
index 000000000000..b2f3af2c01b7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_DefaultHierarchyDataSource_idl__
+#define __com_sun_star_ucb_DefaultHierarchyDataSource_idl__
+
+#ifndef __com_sun_star_ucb_HierarchyDataSource_idl__
+#include <com/sun/star/ucb/HierarchyDataSource.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a concrete implementation of service <type>HierarchyDataSource</type>,
+ which uses the service
+ <type scope="com::sun::star::configuration">ConfigurationProvider</type>
+ for reading and writing hierarchy data.
+*/
+published service DefaultHierarchyDataSource
+{
+ //-------------------------------------------------------------------------
+ /** is a concrete implementation of service <type>HierarchyDataSource</type>,
+ which uses the service
+ <type scope="com::sun::star::configuration">ConfigurationProvider</type>
+ for reading and writing hierarchy data.
+
+ <p><member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
+ supports the service specifiers
+ <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code> and
+ <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code>.
+ */
+ service HierarchyDataSource;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/DocumentHeaderField.idl b/offapi/com/sun/star/ucb/DocumentHeaderField.idl
new file mode 100644
index 000000000000..2ae9fce14544
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentHeaderField.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/DocumentStoreMode.idl b/offapi/com/sun/star/ucb/DocumentStoreMode.idl
new file mode 100644
index 000000000000..59c3b727754a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentStoreMode.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl
new file mode 100644
index 000000000000..fb6153644e0e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__
+#define __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is thrown by <member>XCommandProcessor::execute</member> to indicate that
+ the same command identifier was used for two threads.
+
+ <p>Each thread must use it's own command identifier, which must be obtained
+ using <method>XCommandProcessor::createCommandIdentifier</method>. 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
+ @author Kai Sommerfeld
+ @see XCommandProcessor
+*/
+published exception DuplicateCommandIdentifierException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/DuplicateProviderException.idl b/offapi/com/sun/star/ucb/DuplicateProviderException.idl
new file mode 100644
index 000000000000..1cade82f18e0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateProviderException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_DuplicateProviderException_idl__
+#define __com_sun_star_ucb_DuplicateProviderException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+ @see XContentProviderManager
+*/
+published exception DuplicateProviderException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/DynamicResultSet.idl b/offapi/com/sun/star/ucb/DynamicResultSet.idl
new file mode 100644
index 000000000000..637d15ab814a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DynamicResultSet.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_DynamicResultSet_idl__
+#define __com_sun_star_ucb_DynamicResultSet_idl__
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides read access to a static or dynamically changing
+ <type>ContentResultSet</type>.
+
+ <p>For example, a <type>DynamicResultSet</type> is returned from the
+ open-command executed by an <type>XCommandProcessor</type> of the service
+ <type>Content</type>.
+*/
+
+published service DynamicResultSet
+{
+ //-------------------------------------------------------------------------
+ /** Provides read access to a static or a dynamically changing
+ <type>ContentResultSet</type>.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/Error.idl b/offapi/com/sun/star/ucb/Error.idl
new file mode 100644
index 000000000000..681360f28b8f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Error.idl
@@ -0,0 +1,444 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/ExpandContentProvider.idl b/offapi/com/sun/star/ucb/ExpandContentProvider.idl
new file mode 100644
index 000000000000..1db65c2f5150
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExpandContentProvider.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED_com_sun_star_ucb_ExpandContentProvider_idl
+#define INCLUDED_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 <type>ContentProvider</type>
+ for the <type>UniversalContentBroker</type> (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' initial component context.
+
+ @see Content
+*/
+service ExpandContentProvider
+{
+ service ContentProvider;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ExportStreamInfo.idl b/offapi/com/sun/star/ucb/ExportStreamInfo.idl
new file mode 100644
index 000000000000..bf8f2b59bc3d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExportStreamInfo.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ExportStreamInfo_idl__
+#define __com_sun_star_ucb_ExportStreamInfo_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/FTPContent.idl b/offapi/com/sun/star/ucb/FTPContent.idl
new file mode 100644
index 000000000000..b72ef1d660cd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContent.idl
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_FTPContent_idl__
+#define __com_sun_star_ucb_FTPContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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
+ an <type scope="com::sun::star::io">XInputStream</type> 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 <type>Content</type>.
+
+ <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>
+ <type scope="com::sun::star::util">DateTime</type>DateCreated ( read-only )
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/FTPContentProvider.idl b/offapi/com/sun/star/ucb/FTPContentProvider.idl
new file mode 100644
index 000000000000..dd1a6e8aea09
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContentProvider.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_FTPContentProvider_idl__
+#define __com_sun_star_ucb_FTPContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The FTP Content Provider (FCP) implements a <type>ContentProvider</type>
+ for the <Type>UniversalContentBroker</type> (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
diff --git a/offapi/com/sun/star/ucb/FetchError.idl b/offapi/com/sun/star/ucb/FetchError.idl
new file mode 100644
index 000000000000..49e9f5f7ed39
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchError.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 occured
+ while fetching data of some <type>ContentResultSet</type> 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 <type>FetchResult</type> 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 exceptione, and all following ( 'following'
+ in readorder! ) rows are not contained in the <type>FetchResult</type>.
+ Therefore the <type>FetchResult</type> does not contain the full count
+ of demanded rows. But all properly readed rows so far must be contained.
+ */
+ const short EXCEPTION = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/FetchResult.idl b/offapi/com/sun/star/ucb/FetchResult.idl
new file mode 100644
index 000000000000..ebd8dd4060aa
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchResult.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>ContentResultSet</type>.
+
+ <p>This struct is returned from <member>XFetchProvider::fetch</member>,
+ 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
+ <member>FetchResult::Rows</member> in the original resultset. So if
+ <member>FetchResult::StartIndex</member> equals <code>3</code>, the
+ first element in the sequence <member>FetchResult::Rows</member>
+ contains the data of the index <code>3</code> in the original resultset.
+
+ <p>The following rows are one after the other, but the direction
+ depends on the value of <member>FetchResult::Direction</member>
+ */
+ long StartIndex;
+
+ //-------------------------------------------------------------------------
+ /** indicates the orientation in which the rows are fetched and set into
+ the sequence <member>FetchResult::Rows</member>.
+
+ <p>When <member>FetchResult::Orientation</member> equals <TRUE/>, the
+ rows in <member>FetchResult::Rows</member> are ordered in the same way
+ as in the original resultset.
+ */
+ boolean Orientation;
+
+ //-------------------------------------------------------------------------
+ /** indicates whether and which error has occured, while fetching.
+
+ <p>The value may contain zero or more constants of the
+ <type>FetchError</type> constants group.
+ */
+ short FetchError;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/FileContent.idl b/offapi/com/sun/star/ucb/FileContent.idl
new file mode 100644
index 000000000000..7dfd2d7439ca
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContent.idl
@@ -0,0 +1,268 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_FileContent_idl__
+#define __com_sun_star_ucb_FileContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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
+ an <type scope="com::sun::star::io">XInputStream</type> 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 <type>Content</type>.
+
+ <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>
+ <type scope="com::sun::star::util">DateTime</type> 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/FileContentProvider.idl b/offapi/com/sun/star/ucb/FileContentProvider.idl
new file mode 100644
index 000000000000..5951d852e2ca
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContentProvider.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_FileContentProvider_idl__
+#define __com_sun_star_ucb_FileContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+#ifndef __com_sun_star_ucb_XFileIdentifierConverter_idl__
+#include <com/sun/star/ucb/XFileIdentifierConverter.idl>
+#endif
+#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The File Content Provider (FCP) implements a <type>ContentProvider</type>
+ for the <Type>UniversalContentBroker</type> (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 aliasnames.
+
+ @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 <type>ContentProvider</type>.
+ */
+
+ 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
+ <type>FileSystemNotation</type> 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
diff --git a/offapi/com/sun/star/ucb/FileSystemNotation.idl b/offapi/com/sun/star/ucb/FileSystemNotation.idl
new file mode 100644
index 000000000000..70ded4100bf3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileSystemNotation.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/ucb/FolderList.idl b/offapi/com/sun/star/ucb/FolderList.idl
new file mode 100644
index 000000000000..0966639725cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderList.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_FolderList_idl__
+#define __com_sun_star_ucb_FolderList_idl__
+
+#ifndef __com_sun_star_ucb_FolderListCommand_idl__
+#include <com/sun/star/ucb/FolderListCommand.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_FolderListEntry_idl__
+#include <com/sun/star/ucb/FolderListEntry.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member>FolderListCommand::SET</member>).
+ */
+ sequence<FolderListEntry> List;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/FolderListCommand.idl b/offapi/com/sun/star/ucb/FolderListCommand.idl
new file mode 100644
index 000000000000..243e66dc31b7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListCommand.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/FolderListEntry.idl b/offapi/com/sun/star/ucb/FolderListEntry.idl
new file mode 100644
index 000000000000..0652dd17c87e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListEntry.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>FolderList</type>.
+*/
+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 foler is subscribed.
+ */
+ boolean Subscribed;
+
+ //-------------------------------------------------------------------------
+ /** The foler is new.
+ */
+ boolean New;
+
+ //-------------------------------------------------------------------------
+ /** The foler has been removed.
+ */
+ boolean Removed;
+
+ //-------------------------------------------------------------------------
+ /** The folder shall be purged (only used in conjunction with the
+ <member>FolderListCommand::SET</member>).
+ */
+ boolean Purge;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/GIOContentProvider.idl b/offapi/com/sun/star/ucb/GIOContentProvider.idl
new file mode 100644
index 000000000000..356fd6a5c246
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GIOContentProvider.idl
@@ -0,0 +1,15 @@
+#ifndef __com_sun_star_ucb_GIOContentProvider_idl__
+#define __com_sun_star_ucb_GIOContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+service GIOContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl
new file mode 100644
index 000000000000..65b479bb3c55
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_GlobalTransferCommandArgument_idl__
+#define __com_sun_star_ucb_GlobalTransferCommandArgument_idl__
+
+#ifndef __com_sun_star_ucb_TransferCommandOperation_idl__
+#include <com/sun/star/ucb/TransferCommandOperation.idl>
+#endif
+
+//=============================================================================
+
+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 <type>NameClash</type> for possible values for
+ this field.
+ */
+ long NameClash;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl
new file mode 100644
index 000000000000..2e6276dca63d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl
@@ -0,0 +1,21 @@
+#ifndef __com_sun_star_ucb_GnomeVFSContentProvider_idl__
+#define __com_sun_star_ucb_GnomeVFSContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl
new file mode 100644
index 000000000000..4cda47bc34bf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl
@@ -0,0 +1,97 @@
+#ifndef __com_sun_star_ucb_GnomeVFSDocumentContent_idl__
+#define __com_sun_star_ucb_GnomeVFSDocumentContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSDocumentContent
+{
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
new file mode 100644
index 000000000000..fe105e2f4034
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
@@ -0,0 +1,109 @@
+#ifndef __com_sun_star_ucb_GnomeVFSFolderContent_idl__
+#define __com_sun_star_ucb_GnomeVFSFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/HandleCookiesRequest.idl b/offapi/com/sun/star/ucb/HandleCookiesRequest.idl
new file mode 100644
index 000000000000..50dbac15ef0b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HandleCookiesRequest.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HandleCookiesRequest_idl__
+#define __com_sun_star_ucb_HandleCookiesRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_Cookie_idl__
+#include <com/sun/star/ucb/Cookie.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CookieRequest_idl__
+#include <com/sun/star/ucb/CookieRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error requesting guidance on how to handle cookie requests.
+*/
+published exception HandleCookiesRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ //-------------------------------------------------------------------------
+ /** The URL for which one ore more cookies are requested.
+ */
+ string URL;
+
+ //-------------------------------------------------------------------------
+ /** The requested cookies.
+ */
+ sequence<com::sun::star::ucb::Cookie> Cookies;
+
+ //-------------------------------------------------------------------------
+ /** Whether to receive (store) or send the cookies.
+ */
+ com::sun::star::ucb::CookieRequest Request;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/HelpContent.idl b/offapi/com/sun/star/ucb/HelpContent.idl
new file mode 100644
index 000000000000..2dca8b8cf8b1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContent.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HelpContent_idl__
+#define __com_sun_star_ucb_HelpContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/HelpContentProvider.idl b/offapi/com/sun/star/ucb/HelpContentProvider.idl
new file mode 100644
index 000000000000..32b51431436a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContentProvider.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HelpContentProvider_idl__
+#define __com_sun_star_ucb_HelpContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The Help Content Provider (HCP) implements a <type>ContentProvider</type>
+ for the <Type>UniversalContentBroker</type> (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
diff --git a/offapi/com/sun/star/ucb/HierarchyContentProvider.idl b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl
new file mode 100644
index 000000000000..f5a975ed58b6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyContentProvider_idl__
+#define __com_sun_star_ucb_HierarchyContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The Hierarchy Content Provider (HCP) implements a
+ <type>ContentProvider</type> for the <type>UniversalContentBroker</type>
+ (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 (<type>HierarchyLinkContent</type>) 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 (<type>HierarchyFolderContent</type>) is a container for
+ other HCP Folders and HCP Links.
+ </li>
+ <li>
+ There is at most one instance of a HCP Root Folder
+ ( <type>HierarchyRootFolderContent</type> ) 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
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
new file mode 100644
index 000000000000..d5056f2c0afb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
@@ -0,0 +1,171 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#endif
+#ifndef __com_sun_star_util_XChangesNotifier_idl__
+#include <com/sun/star/util/XChangesNotifier.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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 <atom>string</atom>. It contains a title
+ for the node. This value must not be empty.
+ <li>"TargetURL", which is of type <atom>string</atom></li> It may contain
+ any URL, which will be treated as the target of a hierarchy link.
+ <li>"Children", which is of type <type>HierarchyDataReadAccess</type> or
+ of type <type>HierarchyDataReadWriteAccess</type></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 <atom>any</atom>
+ containing a string containing the title of the node.
+ </li>
+ <li><code>getByName( "Children" )</code> will return an <atom>any</atom>
+ containing an implementation of service
+ <type>HierarchyDataReadAccess</type>, if it was called on a read-only
+ node. It will return an implementation of service
+ <type>HierarchyDataReadWriteAccess</type> 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 ( '/' segement )*
+ </li>
+ <li>
+ segment = '[' quoted-string ']'
+ </li>
+ <li>
+ quoted-string = "'" escaped-string "'"
+ </li>
+ <li>
+ escaped-string = escaped accoding to XML attribute naming conventions
+ </li>
+ </ul>
+
+ <p>Examples:
+ <ul>
+ <li>
+ <code>getByHierarchicalName( "Title" )</code> will return an
+ <atom>any</atom> 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 <atom>any</atom> containing an implementation of service
+ <type>HierarchyDataReadAccess</type>, if it was called on a read-only
+ node. It will return an implementation of service
+ <type>HierarchyDataReadWriteAccess</type> 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 <atom>any</atom>
+ containing a <atom>string</atom> 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 <atom>any</atom>
+ conntaining an implementation of service
+ <type>HierarchyDataReadAccess</type>, if it was called on a read-only
+ node. It will return an implementation of service
+ <type>HierarchyDataReadWriteAccess</type> 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
+ <type scope="com::sun::star::util">XChangesListener</type>, 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 <type scope="com::sun::star::util">ChangesEvent</type>.
+ */
+ 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
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl
new file mode 100644
index 000000000000..eda1b45094e4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__
+
+#ifndef __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+#include <com/sun/star/ucb/HierarchyDataReadAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#endif
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#include <com/sun/star/util/XChangesBatch.idl>
+#endif
+
+//=============================================================================
+
+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 hieryrchy 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 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><member scope="com::sun::star::lang">XSingleServiceFactory::createInstance</member>
+ 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
+ <member scope="com::sun::star::container">XNameContainer::insertByName</member>.
+
+ <p>There are no special arguments that must be supported by
+ <member scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments</member>
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** allows managing changes within the hierarchy.
+
+ <p><member scope="com::sun::star::util">XChangesBatch::getPendingChanges</member>
+ 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
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges</member>
+ is invoked.
+ */
+ interface com::sun::star::util::XChangesBatch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/HierarchyDataSource.idl b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
new file mode 100644
index 000000000000..31ec3ea91ca1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyDataSource_idl__
+#define __com_sun_star_ucb_HierarchyDataSource_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+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 instanciated 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 hierrachy data.
+
+ <p>The parameter <var>aServiceSpecifier</var> passed to
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
+ 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 <type>HierarchyDataReadAccess</type>.
+
+ <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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
+ The object that is created implements the service
+ <type>HierarchyDataReadWriteAccess</type>.
+
+ <p>The arguments passed to
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
+ 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
+ <type scope="com::sun::star::beans">PropertyValue</type>, 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
+ <atom>string</atom>. 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 decendants. 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 <type>HierarchyDataReadAccess</type> for
+ more informtion 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
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstance</member>
+ must behave exactly as if
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
+ 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
diff --git a/offapi/com/sun/star/ucb/HierarchyFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
new file mode 100644
index 000000000000..5db255975cae
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
@@ -0,0 +1,228 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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
diff --git a/offapi/com/sun/star/ucb/HierarchyLinkContent.idl b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
new file mode 100644
index 000000000000..53769e310488
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyLinkContent_idl__
+#define __com_sun_star_ucb_HierarchyLinkContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
new file mode 100644
index 000000000000..3ef8c59bc24a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
@@ -0,0 +1,226 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_HierarchyRootFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyRootFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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
diff --git a/offapi/com/sun/star/ucb/IOErrorCode.idl b/offapi/com/sun/star/ucb/IOErrorCode.idl
new file mode 100644
index 000000000000..91572ab45b3e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IOErrorCode.idl
@@ -0,0 +1,233 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type scope="com::sun::star::task">InteractionHandler</type> for a
+ description of what kinds of arguments
+ <type>InteractiveAugmentedIOException</type> 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
diff --git a/offapi/com/sun/star/ucb/IllegalIdentifierException.idl b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl
new file mode 100644
index 000000000000..d0dc33dbcd5c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_IllegalIdentifierException_idl__
+#define __com_sun_star_ucb_IllegalIdentifierException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is thrown to indicate an illegal content identifier.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XContent
+ @see XContentIdentifier
+*/
+published exception IllegalIdentifierException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument.idl b/offapi/com/sun/star/ucb/InsertCommandArgument.idl
new file mode 100644
index 000000000000..c8950ac87113
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InsertCommandArgument.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InsertCommandArgument_idl__
+#define __com_sun_star_ucb_InsertCommandArgument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveAppException.idl b/offapi/com/sun/star/ucb/InteractiveAppException.idl
new file mode 100644
index 000000000000..5e75721b7cec
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAppException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#define __com_sun_star_ucb_InteractiveIOException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_IOErrorCode_idl__
+#include <com/sun/star/ucb/IOErrorCode.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl
new file mode 100644
index 000000000000..0949078f15f9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveAugmentedIOException_idl__
+#define __com_sun_star_ucb_InteractiveAugmentedIOException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::task">InteractionHandler</type>
+ for a description of well-known arguments.</P>
+ */
+ sequence< any > Arguments;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl
new file mode 100644
index 000000000000..37e3f09ae4c2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveBadTransferURLException_idl__
+#define __com_sun_star_ucb_InteractiveBadTransferURLException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveCHAOSException.idl b/offapi/com/sun/star/ucb/InteractiveCHAOSException.idl
new file mode 100644
index 000000000000..55a6caa756d4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveCHAOSException.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveCHAOSException_idl__
+#define __com_sun_star_ucb_InteractiveCHAOSException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error capsuling error information as used by CHAOS.
+
+ @deprecated
+*/
+published exception InteractiveCHAOSException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ //-------------------------------------------------------------------------
+ /** The error ID.
+
+ <p>For a 'dynamic' error (with extra textual arguments), this ID
+ does not contain the 'dynamic bits'.
+ */
+ long ID;
+
+ //-------------------------------------------------------------------------
+ /** Any textual arguments of a 'dynamic' error (which will get merged into
+ the error message).
+
+ <p>This sequence should contain at most two elements.
+ */
+ sequence<string> Arguments;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveFileIOException.idl b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl
new file mode 100644
index 000000000000..6d4f9015f206
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveFileIOException_idl__
+#define __com_sun_star_ucb_InteractiveFileIOException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_IOErrorCode_idl__
+#include <com/sun/star/ucb/IOErrorCode.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An input/output error while processing a file.
+
+ <p>This exception is deprecated. Use
+ <type>InteractiveAugmentedIOException</type> instead.
+
+ @deprecated
+*/
+published exception InteractiveFileIOException: com::sun::star::ucb::InteractiveIOException
+{
+ //-------------------------------------------------------------------------
+ /** The file url where the i/o error occured
+ */
+ string FileName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveIOException.idl b/offapi/com/sun/star/ucb/InteractiveIOException.idl
new file mode 100644
index 000000000000..ef66bd57488a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveIOException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveIOException_idl__
+#define __com_sun_star_ucb_InteractiveIOException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_IOErrorCode_idl__
+#include <com/sun/star/ucb/IOErrorCode.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingException.idl b/offapi/com/sun/star/ucb/InteractiveLockingException.idl
new file mode 100644
index 000000000000..8dc6444ef446
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingException.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__
+#define __com_sun_star_ucb_InteractiveLockingException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl
new file mode 100644
index 000000000000..b47d4f55c3d1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl
new file mode 100644
index 000000000000..da243c4d2bbe
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveLockingLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockedException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl
new file mode 100644
index 000000000000..7342ef87f35d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error indicating that the resource is not locked.
+
+ <p>This error for instance can occure when trying to unlock a resource
+ that is not locked.
+ </p>
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingNotLockedException : com::sun::star::ucb::InteractiveLockingException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl
new file mode 100644
index 000000000000..bbb9afcb901e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkConnectException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkConnectException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing a connection failure.
+*/
+published exception InteractiveNetworkConnectException: InteractiveNetworkException
+{
+ //-------------------------------------------------------------------------
+ /** The name of the server to which connecting failed.
+ */
+ string Server;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl
new file mode 100644
index 000000000000..deb741724ca1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl
new file mode 100644
index 000000000000..7ac16fa30bee
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing a general failure.
+*/
+published exception InteractiveNetworkGeneralException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl
new file mode 100644
index 000000000000..70c7c3592604
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing an off line condition.
+*/
+published exception InteractiveNetworkOffLineException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl
new file mode 100644
index 000000000000..edfdfe6392f2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkReadException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkReadException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing 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
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl
new file mode 100644
index 000000000000..3e60d9b21e8d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing a name resolution failure.
+*/
+published exception InteractiveNetworkResolveNameException: com::sun::star::ucb::InteractiveNetworkException
+{
+ //-------------------------------------------------------------------------
+ /** The server name for which resolution failed.
+ */
+ string Server;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl
new file mode 100644
index 000000000000..dbeff75142a0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveNetworkWriteException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkWriteException_idl__
+
+#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A network error specifing 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
diff --git a/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl
new file mode 100644
index 000000000000..f3757b17b7fa
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_InteractiveWrongMediumException_idl__
+#define __com_sun_star_ucb_InteractiveWrongMediumException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+//=============================================================================
+
+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 thats needed to continue with the pending
+ operation.
+ */
+ any Medium;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/Link.idl b/offapi/com/sun/star/ucb/Link.idl
new file mode 100644
index 000000000000..42998e3daae0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Link.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/ListAction.idl b/offapi/com/sun/star/ucb/ListAction.idl
new file mode 100644
index 000000000000..d7d9e2751eb5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListAction.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XDynamicResultSet</type>.
+
+ @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
+ <type scope="com::sun::star::sdbc">XResultSet</type>, but a position
+ while doing the changes step by step beginning with the old
+ <type scope="com::sun::star::sdbc">XResultSet</type>.
+ */
+ 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><type>WelcomeDynamicResultSetStruct</type> 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
+ <type>ListActionType</type> constants group.
+ */
+ long ListActionType;
+
+ //-------------------------------------------------------------------------
+ /** dependend on the content of <member>ListAction::ListActionType</member>
+ the <member>ListAction::ActionInfo</member> could contain additional
+ information about the changes happened (see table above).
+ */
+
+ any ActionInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ListActionType.idl b/offapi/com/sun/star/ucb/ListActionType.idl
new file mode 100644
index 000000000000..d370ce00f1d7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListActionType.idl
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 sended from an <type>XDynamicResultSet</type>
+ as <type>ListAction</type> to a <type>XDynamicResultSetListener</type>.
+
+ <p>The values are contained in <member>ListAction::ListActionType</member>.
+*/
+
+published constants ListActionType
+{
+ //-------------------------------------------------------------------------
+ /** First notification to a single listener for purpose of initialization.
+
+ <p>This type of notification is required to be sended first and only once
+ to a new listener.
+
+ <p>The member <member>ListAction::ActionInfo</member> is required to
+ contain a struct <type>WelcomeDynamicResultSetStruct</type>.
+ This struct contains two
+ <type scope="com::sun::star::sdbc">XResultSet</type>s (old and new).
+ During and after the notification only the new set is valid for access.
+ But the listener is required to remind both
+ <type scope="com::sun::star::sdbc">XResultSet</type>s as he will not get
+ another chance to get them again.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> are not used.
+ */
+ const long WELCOME = 20;
+
+ //-------------------------------------------------------------------------
+ /** One or more rows were inserted into the list.
+
+ <p>This action is related to <member>ContentAction::INSERTED</member>.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> 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> <member>ListAction::ActionInfo</member> 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 unrestrictly recommended.
+
+ <p>@todo ... further description of allowed contents for
+ <member>ListAction::ActionInfo</member> is needed
+ */
+ const long INSERTED = 21;
+
+ //-------------------------------------------------------------------------
+ /** One or more rows were removed from the list.
+
+ <p>This action is related to <member>ContentAction::REMOVED</member>.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> 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 <member>ListAction::ListActionType</member> is not used.
+ */
+ const long REMOVED = 22;
+
+
+ //-------------------------------------------------------------------------
+ /** The whole list was destroyed and independently rebuild.
+
+ <p>If 'CLEARED' is sended you don't need to refer to the old ResultSet.
+
+ <p>The members <member>ListAction::ListActionType</member>,
+ <member>ListAction::Count</member> and <member>ListAction::Position</member>
+ are ignored.
+ */
+ const long CLEARED = 23;
+
+ //-------------------------------------------------------------------------
+ /** One or more rows were moved to another position.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> 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><member>ListAction::ListActionType</member> 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 <type scope="com::sun::star::beans">PropertyChangeEvent</type>.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> 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> <member>ListAction::ActionInfo</member> 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 unrestrictly
+ recommended.
+
+ <p>@todo ... further description of allowed contents for
+ <member>ListAction::ActionInfo</member> 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 <type>ContentAction</type> == EXCHANGED.
+
+ <p>The members <member>ListAction::Count</member> and
+ <member>ListAction::Position</member> 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><member>ListAction::ListActionType</member> 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 <member>ListAction::ListActionType</member>,
+ <member>ListAction::Count</member> and <member>ListAction::Position</member>
+ are useless.
+ */
+ const long COMPLETED = 27;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ListEvent.idl b/offapi/com/sun/star/ucb/ListEvent.idl
new file mode 100644
index 000000000000..b739f6e11178
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListEvent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ListEvent_idl__
+#define __com_sun_star_ucb_ListEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ListAction_idl__
+#include <com/sun/star/ucb/ListAction.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** specifies the type of event fired by an <type>XDynamicResultSet</type>
+*/
+
+published struct ListEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** If you apply the given <type>ListAction</type>s one after the other
+ to the old version of an resultset in given order, you will get the
+ positions in the new version.
+ */
+ sequence<ListAction> Changes;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl
new file mode 100644
index 000000000000..5c279f974f94
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ListenerAlreadySetException_idl__
+#define __com_sun_star_ucb_ListenerAlreadySetException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/Lock.idl b/offapi/com/sun/star/ucb/Lock.idl
new file mode 100644
index 000000000000..cf6276f9a4e2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Lock.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_Lock_idl__
+#define __com_sun_star_ucb_Lock_idl__
+
+#ifndef __com_sun_star_ucb_LockEntry_idl__
+#include <com/sun/star/ucb/LockEntry.idl>
+#endif
+#ifndef __com_sun_star_ucb_LockDepth_idl__
+#include <com/sun/star/ucb/LockDepth.idl>
+#endif
+
+//=============================================================================
+
+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 providfes 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 infinit lock, that will never be removed automatically.
+ */
+ hyper Timeout;
+
+ //-------------------------------------------------------------------------
+ /** the lock tokens.
+
+ <p>Each lock token is a URI.
+ */
+ sequence< string > LockTokens;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/LockDepth.idl b/offapi/com/sun/star/ucb/LockDepth.idl
new file mode 100644
index 000000000000..9ad463b16676
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockDepth.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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,
+
+ //-------------------------------------------------------------------------
+ /** Ininity (includes children and children's children and ...).
+ */
+ INFINITY
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/LockEntry.idl b/offapi/com/sun/star/ucb/LockEntry.idl
new file mode 100644
index 000000000000..be348e09a08b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockEntry.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_LockEntry_idl__
+#define __com_sun_star_ucb_LockEntry_idl__
+
+#ifndef __com_sun_star_ucb_LockScope_idl__
+#include <com/sun/star/ucb/LockScope.idl>
+#endif
+#ifndef __com_sun_star_ucb_LockType_idl__
+#include <com/sun/star/ucb/LockType.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/LockScope.idl b/offapi/com/sun/star/ucb/LockScope.idl
new file mode 100644
index 000000000000..d3af9a2b61a1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockScope.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/ucb/LockType.idl b/offapi/com/sun/star/ucb/LockType.idl
new file mode 100644
index 000000000000..d85cfb7baeb8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockType.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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,
+//
+// //-------------------------------------------------------------------------
+// /** readwrite lock.
+// */
+// READWRITE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/MissingInputStreamException.idl b/offapi/com/sun/star/ucb/MissingInputStreamException.idl
new file mode 100644
index 000000000000..76dde6da44a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingInputStreamException.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_MissingInputStreamException_idl__
+#define __com_sun_star_ucb_MissingInputStreamException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is used to indicate that there is an
+ <type scope="com::sun::star::io">XInputStream</type> missing.
+
+ <p>For example, the command 'insert' may fail, if the implementation
+ expects that an input stream is supplied with the given
+ <type>InsertCommandArgument</type>.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see Content
+*/
+published exception MissingInputStreamException : com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/MissingPropertiesException.idl b/offapi/com/sun/star/ucb/MissingPropertiesException.idl
new file mode 100644
index 000000000000..086c4a8ec8c7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingPropertiesException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_MissingPropertiesException_idl__
+#define __com_sun_star_ucb_MissingPropertiesException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+ @see Content
+*/
+published exception MissingPropertiesException : com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** contains the names of the missing properties.
+ */
+ sequence< string > Properties;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/NameClash.idl b/offapi/com/sun/star/ucb/NameClash.idl
new file mode 100644
index 000000000000..018b57c1c8f0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClash.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>TransferInfo::NameClash</member>.
+*/
+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 <type>NameClashResolveRequest</type> in order to solve
+ the name clash.
+
+ @see com::sun::star::task::XInteractionHandler
+ */
+ const long ASK = 4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/NameClashException.idl b/offapi/com/sun/star/ucb/NameClashException.idl
new file mode 100644
index 000000000000..e3cbedcb4d4c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_NameClashException_idl__
+#define __com_sun_star_ucb_NameClashException_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/NameClashResolveRequest.idl b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl
new file mode 100644
index 000000000000..a76e8845d0c7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_NameClashResolveRequest_idl__
+#define __com_sun_star_ucb_NameClashResolveRequest_idl__
+
+#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#endif
+
+
+//=============================================================================
+
+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 migth 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
+ <type scope="com::sun::star::task">XInteractionHandler</type> an
+ <type>XInteractionSupplyName</type> and an
+ <type>XInteractionReplaceExistingData</type> should be supplied with
+ the <type scope="com::sun::star::task">XInteractionRequest</type>. On
+ return the <type>XInteractionSupplyName</type>, if selected, will contain
+ a new name supposed to resolve the name clash. The
+ <type>XInteractionReplaceExistingData</type> will be selected if the
+ clashing resource shall be overwritten.
+
+ @version 1.0
+ @author Kai Sommerfeld
+*/
+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 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
diff --git a/offapi/com/sun/star/ucb/NumberedSortingInfo.idl b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl
new file mode 100644
index 000000000000..f1b414974160
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>ContentResultSet</type>.
+
+ <p> In contrast to the struct <type>SortingInfo</type> 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 <type>ContentResultSet</type>.
+*/
+published struct NumberedSortingInfo
+{
+ //-------------------------------------------------------------------------
+ /** sort the resultset by this column. Index starts with <code>1</code>.
+ */
+ long ColumnIndex;
+
+ //-------------------------------------------------------------------------
+ /** contains a flag indicating the sort mode (ascending or descending).
+ */
+ boolean Ascending;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ODMAContent.idl b/offapi/com/sun/star/ucb/ODMAContent.idl
new file mode 100644
index 000000000000..b74f8be34956
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContent.idl
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ODMAContent_idl__
+#define __com_sun_star_ucb_ODMAContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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>
+ <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
+ </li>
+ <li>
+ <type scope="com::sun::star::util">DateTime</type> 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ODMAContentProvider.idl b/offapi/com/sun/star/ucb/ODMAContentProvider.idl
new file mode 100644
index 000000000000..b5f5106cd81c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContentProvider.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ODMAContentProvider_idl__
+#define __com_sun_star_ucb_ODMAContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The ODMA Content Provider (OCP) implements a <type>ContentProvider</type>
+ for the <type>UniversalContentBroker</type> (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 avaible 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 &bdquo;<b>vnd.sun.star.odma:/</b>&ldquo;.</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
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument.idl b/offapi/com/sun/star/ucb/OpenCommandArgument.idl
new file mode 100644
index 000000000000..c09241aa5728
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_OpenCommandArgument_idl__
+#define __com_sun_star_ucb_OpenCommandArgument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+//=============================================================================
+
+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 <type>OpenMode</type> 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
+ <type scope="com::sun::star::io">XActiveDataSink</type>,
+ <type scope="com::sun::star::io">XOutputStream</type> or
+ <type scope="com::sun::star::io">XActiveDataStreamer</type>).
+
+ <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 <type scope="com::sun::star::io">XInputStream</type>. It is
+ highly recommended that this object also implements the interface
+ <type scope="com::sun::star::io">XSeekable</type>, 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
+ <type>DynamicResultSet</type> returned by the command).
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument2.idl b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl
new file mode 100644
index 000000000000..a9ab8b66dd83
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_OpenCommandArgument2_idl__
+#define __com_sun_star_ucb_OpenCommandArgument2_idl__
+
+#ifndef __com_sun_star_ucb_OpenCommandArgument_idl__
+#include <com/sun/star/ucb/OpenCommandArgument.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The argument for commands like "open", "update", and "synchronize".
+
+ <p>This strcut 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
+ <type>ContentResultSet</type>.
+
+ <p>The resultset 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
diff --git a/offapi/com/sun/star/ucb/OpenMode.idl b/offapi/com/sun/star/ucb/OpenMode.idl
new file mode 100644
index 000000000000..4f709d579a5e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenMode.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>OpenCommandArgument::Mode</member>.
+*/
+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
+ <type>OpenCommandArgument</type> 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
+ <type>OpenCommandArgument</type> 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
+ <type>OpenCommandArgument</type> 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
diff --git a/offapi/com/sun/star/ucb/OutgoingMessageState.idl b/offapi/com/sun/star/ucb/OutgoingMessageState.idl
new file mode 100644
index 000000000000..cb2e660b3c13
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OutgoingMessageState.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>RecipientInfo::State</member>.
+*/
+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
diff --git a/offapi/com/sun/star/ucb/PackageContentProvider.idl b/offapi/com/sun/star/ucb/PackageContentProvider.idl
new file mode 100644
index 000000000000..8a26b4044bdf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageContentProvider.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PackageContentProvider_idl__
+#define __com_sun_star_ucb_PackageContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The Package Content Provider (PCP) implements a <type>ContentProvider</type>
+ for the <type>UniversalContentBroker</type> (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 (<type>PackageStreamContent</type>) 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 (<type>PackageFolderContent</type>) 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-segements = 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
diff --git a/offapi/com/sun/star/ucb/PackageFolderContent.idl b/offapi/com/sun/star/ucb/PackageFolderContent.idl
new file mode 100644
index 000000000000..13668bc54ea6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageFolderContent.idl
@@ -0,0 +1,256 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PackageFolderContent_idl__
+#define __com_sun_star_ucb_PackageFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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
+ <type scope="com::sun::star::io">XInputStream</type> 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
+ <member>InsertCommandArgument::ReplaceExisting"</member>
+ 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
diff --git a/offapi/com/sun/star/ucb/PackageStreamContent.idl b/offapi/com/sun/star/ucb/PackageStreamContent.idl
new file mode 100644
index 000000000000..7da23332c959
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageStreamContent.idl
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PackageStreamContent_idl__
+#define __com_sun_star_ucb_PackageStreamContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 explecitly 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/PersistentPropertySet.idl b/offapi/com/sun/star/ucb/PersistentPropertySet.idl
new file mode 100644
index 000000000000..b25e1dfa25cb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PersistentPropertySet.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PersistentPropertySet_idl__
+#define __com_sun_star_ucb_PersistentPropertySet_idl__
+
+#ifndef __com_sun_star_ucb_XPersistentPropertySet_idl__
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This service containss the interfaces to implement by objects
+ returned by <member>XPropertySetRegistry::openPropertySet</member>.
+ */
+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
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument.idl b/offapi/com/sun/star/ucb/PostCommandArgument.idl
new file mode 100644
index 000000000000..c1c04c237af4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PostCommandArgument_idl__
+#define __com_sun_star_ucb_PostCommandArgument_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::io">XActiveDataSink</type> or
+ <type scope="com::sun::star::io">XOutputStream</type>).
+ */
+ com::sun::star::uno::XInterface Sink;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument2.idl b/offapi/com/sun/star/ucb/PostCommandArgument2.idl
new file mode 100644
index 000000000000..6ee276c013e5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument2.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PostCommandArgument2_idl__
+#define __com_sun_star_ucb_PostCommandArgument2_idl__
+
+#ifndef __com_sun_star_ucb_PostCommandArgument_idl__
+#include <com/sun/star/ucb/PostCommandArgument.idl>
+#endif
+
+
+//=============================================================================
+
+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 referer.
+ */
+ string Referer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/Priority.idl b/offapi/com/sun/star/ucb/Priority.idl
new file mode 100644
index 000000000000..061676b26ab4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Priority.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/PropertiesManager.idl b/offapi/com/sun/star/ucb/PropertiesManager.idl
new file mode 100644
index 000000000000..9c855a9bb13b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertiesManager.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PropertiesManager_idl__
+#define __com_sun_star_ucb_PropertiesManager_idl__
+
+#ifndef __com_sun_star_beans_XPropertySetInfo_idl__
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This service provides access to the meta data of the well known
+ (prefdefined) UCB properties.
+
+ @see com::sun::star::ucb::UniversalContentBroker
+ @see com::sun::star::ucb::ContentProvider
+ @see com::sun::star::ucb::Content
+*/
+published service PropertiesManager
+{
+ //-------------------------------------------------------------------------
+ /** This interface provides access to the meta data of the well known
+ (prefdefined) UCB properties.
+ */
+ interface com::sun::star::beans::XPropertySetInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/PropertySetRegistry.idl b/offapi/com/sun/star/ucb/PropertySetRegistry.idl
new file mode 100644
index 000000000000..2d626335bcf1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertySetRegistry.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PropertySetRegistry_idl__
+#define __com_sun_star_ucb_PropertySetRegistry_idl__
+
+#ifndef __com_sun_star_ucb_XPropertySetRegistry_idl__
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+#endif
+#ifndef __com_sun_star_conatiner_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This service contains the interfaces to implement by objects
+ returned by <member>XPropertySetRegistryFactory::createRegistry</member>.
+ */
+published service PropertySetRegistry
+{
+ //-------------------------------------------------------------------------
+ /** A propertyset registry.
+ */
+ interface com::sun::star::ucb::XPropertySetRegistry;
+
+ //-------------------------------------------------------------------------
+ /** An interface for accessing registry entries.
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/PropertyValueInfo.idl b/offapi/com/sun/star/ucb/PropertyValueInfo.idl
new file mode 100644
index 000000000000..1c55113e1eaa
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueInfo.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_PropertyValueInfo_idl__
+#define __com_sun_star_ucb_PropertyValueInfo_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_PropertyValueState_idl__
+#include <com/sun/star/ucb/PropertyValueState.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** contains value and state of a
+ <type scope="com::sun::star::beans">Property</type>.
+*/
+published struct PropertyValueInfo: com::sun::star::beans::PropertyValue
+{
+ //-------------------------------------------------------------------------
+ /** the state of the property value.
+ */
+ com::sun::star::ucb::PropertyValueState ValueState;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/PropertyValueState.idl b/offapi/com/sun/star/ucb/PropertyValueState.idl
new file mode 100644
index 000000000000..eee82bd78011
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueState.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>PropertyValueInfo::Value</member>.
+ */
+ PROCESSED,
+
+ //-------------------------------------------------------------------------
+ /** The given property name/handle is invalid.
+ */
+ INVALID_NAME,
+
+ //-------------------------------------------------------------------------
+ /** The given property type is invalid.
+ */
+ INVALID_TYPE
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RecipientInfo.idl b/offapi/com/sun/star/ucb/RecipientInfo.idl
new file mode 100644
index 000000000000..fe8f7d5d3a6b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RecipientInfo.idl
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_RecipientInfo_idl__
+#define __com_sun_star_ucb_RecipientInfo_idl__
+
+#ifndef __com_sun_star_ucb_OutgoingMessageState_idl__
+#include <com/sun/star/ucb/OutgoingMessageState.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/RememberAuthentication.idl b/offapi/com/sun/star/ucb/RememberAuthentication.idl
new file mode 100644
index 000000000000..711eab079741
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RememberAuthentication.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl
new file mode 100644
index 000000000000..2a0f84a5737f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_RemoteAccessContentProvider_idl__
+#define __com_sun_star_ucb_RemoteAccessContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_ContentProvider_idl__
+#include <com/sun/star/ucb/ContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A <type>RemoteAccessContentProvider</type> is a
+ <type>ContentProvider</type> that provides access to contents available at
+ other (remote) UCBs.
+*/
+published service RemoteAccessContentProvider
+{
+ //-------------------------------------------------------------------------
+ /** A <type>RemoteAccessContentProvider</type> is a specialized
+ <type>ContentProvider</type>.
+ */
+ service com::sun::star::ucb::ContentProvider;
+
+ //-------------------------------------------------------------------------
+ /** allows configuration of the <type>RemoteAccessContentProvider</type>,
+ to specify that certain <type>XContentIdentifier</type>s map to
+ <type>XContent</type>s from a certain remote UCB. The Arguments
+ string in the
+ <member>XParameterizedContentProvider::registerInstance</member>
+ call must contain the UNO URL of the remote UCB.
+
+ @descr
+ The <type>XContentProvider</type>s obtained through this interface
+ implement the service <type>ContentProvider</type> and, if
+ appropriate, also the interface <type>XFileIdentifierConverter</type>.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000000..88f71abb9986
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 deprectated.
+
+ @deprecated
+ */
+ [optional] interface XRemoteContentProviderActivator;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl
new file mode 100644
index 000000000000..8f9204518d2c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
+ <type scope="com::sun::star::ucb">RemoteContentProviderChangeEvent</type> to
+ specify whether a remote content provider has been added to or removed
+ from an
+ <type scope="com::sun::star::ucb">XRemoteContentProviderSupplier</type>.
+
+ @version 1.0
+ @author Stephan Bergmann
+ */
+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
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl
new file mode 100644
index 000000000000..ddf2c668763d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__
+#define __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+#ifndef __com_sun_star_ucb_RemoteContentProviderChangeAction_idl__
+#include <com/sun/star/ucb/RemoteContentProviderChangeAction.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+
+//============================================================================
+/** The description of a change to a
+ <type scope="com::sun::star::ucb">XRemoteContentProviderSupplier</type>.
+
+ @version 1.0
+ @author Stephan Bergmann
+ */
+published struct RemoteContentProviderChangeEvent: com::sun::star::lang::EventObject
+{
+ //------------------------------------------------------------------------
+ /** The identifier with which the remote content provider is registered
+ at the
+ <type scope="com::sun::star::ucb">XRemoteContentProviderSupplier</type>.
+ */
+ string Identifier;
+
+ //------------------------------------------------------------------------
+ /** An indicator whether a remote content provider has been added or
+ removed.
+ */
+ RemoteContentProviderChangeAction Action;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl
new file mode 100644
index 000000000000..9415346aacaf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>ContentProvider</type> 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
+ <type>RemoteContentProviderAcceptor</type> and
+ <type>XRemoteContentProviderActivator</type> for more information).
+
+ <p>The way this works might change, therefore this interface is marked as
+ deprectated.
+
+ @deprecated
+ */
+published service RemoteProxyContentProvider
+{
+ //------------------------------------------------------------------------
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying <type>XContentProvider</type>.
+ */
+ interface XContentProvider;
+
+ //------------------------------------------------------------------------
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying
+ <type>XContentIdentifierFactory</type>.
+ */
+ [optional] interface XContentIdentifierFactory;
+
+ //------------------------------------------------------------------------
+ /** allows this <type>ContentProvider</type> to adjust itself to special
+ needs.
+ */
+ [optional] interface XParameterizedContentProvider;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/ResultSetException.idl b/offapi/com/sun/star/ucb/ResultSetException.idl
new file mode 100644
index 000000000000..7e207d96867b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ResultSetException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ResultSetException_idl__
+#define __com_sun_star_ucb_ResultSetException_idl__
+
+#ifndef __com_sun_star_sdbc_SQLException_idl__
+#include <com/sun/star/sdbc/SQLException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is thrown to propagate exceptions thrown by operations
+ on <type>ContentResultSet</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+*/
+published exception ResultSetException: com::sun::star::sdbc::SQLException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/Rule.idl b/offapi/com/sun/star/ucb/Rule.idl
new file mode 100644
index 000000000000..213ac28b1f3d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Rule.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_Rule_idl__
+#define __com_sun_star_ucb_Rule_idl__
+
+#ifndef __com_sun_star_ucb_RuleTerm_idl__
+#include <com/sun/star/ucb/RuleTerm.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>RuleTerm</type>s describing the
+ objects to which the rule should be applied, the <type>RuleAction</type>
+ 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 <type>RuleAction</type>s 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 recepient</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 <type>RuleAction</type> constants.
+ */
+ short Action;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RuleAction.idl b/offapi/com/sun/star/ucb/RuleAction.idl
new file mode 100644
index 000000000000..b460e927f14a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleAction.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>Rule::Action</member>.
+
+ @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 <member>Rule::Parameter</member> when term
+ matches.
+ */
+ const short MOVE = 7;
+
+ //-------------------------------------------------------------------------
+ /** "Copy" - Copies object to <member>Rule::Parameter</member> when term
+ matches.
+ */
+ const short COPY = 8;
+
+ //-------------------------------------------------------------------------
+ /** "Delete" - Deletes object when term matches.
+ */
+ const short DELETE = 9;
+
+ //-------------------------------------------------------------------------
+ /** "Link" - Creates a link to <member>Rule::Parameter</member> when term
+ matches.
+ */
+ const short LINK = 10;
+
+ //-------------------------------------------------------------------------
+ /** "Forward" - Forwards object to <member>Rule::Parameter</member> when
+ term matches.
+ */
+ const short FORWARD = 11;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/RuleOperator.idl b/offapi/com/sun/star/ucb/RuleOperator.idl
new file mode 100644
index 000000000000..3e4674f8607c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleOperator.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>RuleTerm::RuleOperator</member>.
+
+ @see RuleSet
+ @see Rule
+*/
+published constants RuleOperator
+{
+ //-------------------------------------------------------------------------
+ /** "Contains" - Object contains <member>RuleTerm::Operand</member>.
+ */
+ const short CONTAINS = 1;
+
+ //-------------------------------------------------------------------------
+ /** "ContainsNot" - Object does not contain
+ <member>RuleTerm::Operand</member>.
+ */
+ const short CONTAINSNOT = 2;
+
+ //-------------------------------------------------------------------------
+ /** "GreaterEqual" - Object is greater than or equal to
+ <member>RuleTerm::Operand</member>.
+ */
+ const short GREATEREQUAL = 3;
+
+ //-------------------------------------------------------------------------
+ /** "LessEqual" - Object is less than or equal to
+ <member>RuleTerm::Operand</member>.
+ */
+ const short LESSEQUAL = 4;
+
+ //-------------------------------------------------------------------------
+ /** "Equal" - Object is equal to <member>RuleTerm::Operand</member>.
+ */
+ const short EQUAL = 5;
+
+ //-------------------------------------------------------------------------
+ /** "NotEqual" - Object is not equal to <member>RuleTerm::Operand</member>.
+ */
+ 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
diff --git a/offapi/com/sun/star/ucb/RuleSet.idl b/offapi/com/sun/star/ucb/RuleSet.idl
new file mode 100644
index 000000000000..ae4af6d876cb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleSet.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_RuleSet_idl__
+#define __com_sun_star_ucb_RuleSet_idl__
+
+#ifndef __com_sun_star_ucb_Rule_idl__
+#include <com/sun/star/ucb/Rule.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** describes a set of <type>Rule</type>s.
+
+ <p>A RuleSet is applied to a folder. It consists of a sequence of rules.
+ Each rule consists of a sequence of <type>RuleTerm</type>s describing the
+ objects to which the rule should by applied and the <type>RuleAction</type>
+ which should be performed on the matching objects.
+*/
+published struct RuleSet
+{
+ //-------------------------------------------------------------------------
+ /** conatains 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
diff --git a/offapi/com/sun/star/ucb/RuleTerm.idl b/offapi/com/sun/star/ucb/RuleTerm.idl
new file mode 100644
index 000000000000..375bdb1dde0a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleTerm.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>RuleOperator</type> 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
diff --git a/offapi/com/sun/star/ucb/SearchCommandArgument.idl b/offapi/com/sun/star/ucb/SearchCommandArgument.idl
new file mode 100644
index 000000000000..47353803dfa0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCommandArgument.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_SearchCommandArgument_idl__
+#define __com_sun_star_ucb_SearchCommandArgument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_SearchInfo_idl__
+#include <com/sun/star/ucb/SearchInfo.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>ContentResultSet</type> returned by the search command.
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/SearchCriterium.idl b/offapi/com/sun/star/ucb/SearchCriterium.idl
new file mode 100644
index 000000000000..09be35ed6152
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCriterium.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_SearchCriterium_idl__
+#define __com_sun_star_ucb_SearchCriterium_idl__
+
+#ifndef __com_sun_star_ucb_RuleTerm_idl__
+#include <com/sun/star/ucb/RuleTerm.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a criterium 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
diff --git a/offapi/com/sun/star/ucb/SearchInfo.idl b/offapi/com/sun/star/ucb/SearchInfo.idl
new file mode 100644
index 000000000000..5137db204c5c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchInfo.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_SearchInfo_idl__
+#define __com_sun_star_ucb_SearchInfo_idl__
+
+#ifndef __com_sun_star_ucb_SearchCriterium_idl__
+#include <com/sun/star/ucb/SearchCriterium.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_SearchRecursion_idl__
+#include <com/sun/star/ucb/SearchRecursion.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/SearchRecursion.idl b/offapi/com/sun/star/ucb/SearchRecursion.idl
new file mode 100644
index 000000000000..e682deb012d5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchRecursion.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hierachical
+ 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
diff --git a/offapi/com/sun/star/ucb/SendInfo.idl b/offapi/com/sun/star/ucb/SendInfo.idl
new file mode 100644
index 000000000000..6311f92967a9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendInfo.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/SendMediaTypes.idl b/offapi/com/sun/star/ucb/SendMediaTypes.idl
new file mode 100644
index 000000000000..64a4710bbe1a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendMediaTypes.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/ServiceNotFoundException.idl b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl
new file mode 100644
index 000000000000..e5780837b9bd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_ServiceNotFoundException_idl__
+#define __com_sun_star_ucb_ServiceNotFoundException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/SimpleFileAccess.idl b/offapi/com/sun/star/ucb/SimpleFileAccess.idl
new file mode 100644
index 000000000000..4a1d69d2458d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SimpleFileAccess.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_SimpleFileAccess_idl__
+#define __com_sun_star_ucb_SimpleFileAccess_idl__
+
+#ifndef __com_sun_star_ucb_XSimpleFileAccess2_idl__
+#include <com/sun/star/ucb/XSimpleFileAccess2.idl>
+#endif
+
+
+//=============================================================================
+
+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 an WebDAV server.
+
+ @author Andreas Bregas
+ @version 1.0 07/25/2000
+*/
+published service SimpleFileAccess
+{
+ interface com::sun::star::ucb::XSimpleFileAccess2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000000..d9ad5d7cb6e6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__
+
+#ifndef __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__
+#include <com/sun/star/ucb/XSortedDynamicResultSetFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a factory for <type>DynamicResultSet</type> implementations, which
+ will be sorted according to the given sorting options.
+*/
+published service SortedDynamicResultSetFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for implementations of service
+ <type>DynamicResultSet</type>.
+ */
+ interface com::sun::star::ucb::XSortedDynamicResultSetFactory;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/SortingInfo.idl b/offapi/com/sun/star/ucb/SortingInfo.idl
new file mode 100644
index 000000000000..9fc586c0a474
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortingInfo.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/Store.idl b/offapi/com/sun/star/ucb/Store.idl
new file mode 100644
index 000000000000..18eca0e9fb61
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Store.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_Store_idl__
+#define __com_sun_star_ucb_Store_idl__
+
+#ifndef __com_sun_star_ucb_XPropertySetRegistryFactory_idl__
+#include <com/sun/star/ucb/XPropertySetRegistryFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates instances of the service <type>PropertySetRegistry</type>.
+ */
+published service Store
+{
+ //-------------------------------------------------------------------------
+ /** A factory for propertyset registries. This factory must create
+ instances of the service <typePropertySetRegistry</type>
+ */
+ interface com::sun::star::ucb::XPropertySetRegistryFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/SynchronizePolicy.idl b/offapi/com/sun/star/ucb/SynchronizePolicy.idl
new file mode 100644
index 000000000000..92a0fdd62661
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SynchronizePolicy.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/TransferCommandOperation.idl b/offapi/com/sun/star/ucb/TransferCommandOperation.idl
new file mode 100644
index 000000000000..5cf3d012ce6d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferCommandOperation.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>GlobalTransferCommandArgument::Operation</member>.
+*/
+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
diff --git a/offapi/com/sun/star/ucb/TransferInfo.idl b/offapi/com/sun/star/ucb/TransferInfo.idl
new file mode 100644
index 000000000000..dadf21dd5f08
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferInfo.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>Content</type>.
+*/
+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 <type>NameClash</type> constants.
+
+ <p>Implementations that are not able to detect whether there is a
+ clashing resource may ignore <member>NameClash::ERROR</member> and
+ <member>NameClash::RENAME</member> always write the new data.
+ */
+ long NameClash;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/TransferResult.idl b/offapi/com/sun/star/ucb/TransferResult.idl
new file mode 100644
index 000000000000..289ae67b5c5f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferResult.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
new file mode 100644
index 000000000000..d985376b4c78
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_TransientDocumentsContentProvider_idl__
+#define __com_sun_star_ucb_TransientDocumentsContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The Transient Documents Content Provider (TDCP) implements a
+ <type>ContentProvider</type> for the <type>UniversalContentBroker</type>
+ (UCB).
+
+ <p>It provides access to the hierachical 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.0
+*/
+service TransientDocumentsContentProvider
+{
+ //-------------------------------------------------------------------------
+ /** provides four different types of contents: Stream, Folder, Document and
+ Root.
+
+ <p>
+
+ <b>TDCP Contents</b>
+ <ol>
+ <li>
+ A TDCP Stream (<type>TransientDocumentsStreamContent</type>) 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 (<type>TransientDocumentsFolderContent</type>) 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 (<type>TransientDocumentsDocumentContent</type>)
+ 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
+ (<type>TransientDocumentsRootContent</type>) 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
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
new file mode 100644
index 000000000000..a6bf588ad873
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+service TransientDocumentsDocumentContent
+{
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <p>To create a new child of a TDCP Document:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ <member>XContentCreator::createNewContent</member> 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
+ <type scope="com::sun::star::io">XInputStream</type> with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
new file mode 100644
index 000000000000..a2233e4c5f40
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_TransientDocumentsFolderContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+service TransientDocumentsFolderContent
+{
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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>
+ <type scope="com::sun::star::embed">XStorage</type> 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <p>To create a new child of a TDCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ <member>XContentCreator::createNewContent</member> 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
+ <type scope="com::sun::star::io">XInputStream</type> with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
new file mode 100644
index 000000000000..0d33d0415560
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_TransientDocumentsRootContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsRootContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A TDCP Root Folder is the root container for all other DTCP 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.0
+*/
+service TransientDocumentsRootContent
+{
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
new file mode 100644
index 000000000000..aede99473933
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
@@ -0,0 +1,197 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_TransientDocumentsStreamContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsStreamContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+service TransientDocumentsStreamContent
+{
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl
new file mode 100644
index 000000000000..1d79ea42cf2f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_URLAuthenticationRequest_idl__
+#define __com_sun_star_ucb_URLAuthenticationRequest_idl__
+
+#ifndef __com_sun_star_ucb_AuthenticationRequest_idl__
+#include <com/sun/star/ucb/AuthenticationRequest.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An error specifing lack of correct authentication data (e.g., to log into
+ an account).
+
+ @since OOo 3.2
+*/
+/*published*/ exception URLAuthenticationRequest : AuthenticationRequest
+{
+ //-------------------------------------------------------------------------
+ /** The URL for which authentication is requested.
+ */
+ string URL;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/UniversalContentBroker.idl b/offapi/com/sun/star/ucb/UniversalContentBroker.idl
new file mode 100644
index 000000000000..562508a74314
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UniversalContentBroker.idl
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_UniversalContentBroker_idl__
+#define __com_sun_star_ucb_UniversalContentBroker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProviderManager_idl__
+#include <com/sun/star/ucb/XContentProviderManager.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is a one-instance service that provides access to a set of
+ <type>Content</type>s via <type>ContentProvider</type>s.
+
+ <p>If the instance is created with two arguments of type string,
+ these two strings are used to configure the newly instantiated broker;
+ see the description of the required
+ <type scope="com::sun::star::lang">XInitialization</type> interface for
+ details.
+
+ <p>If the instance is created without arguments, the newly instatiated
+ broker is not configured.
+*/
+published service UniversalContentBroker
+{
+ //-------------------------------------------------------------------------
+ /** must be implemented to make it possible to resolve cyclic object
+ references.
+
+ <p>Those references i.e. may occure if content provider implementations
+ hold references to the Broker. The Broker itself always holds its
+ providers. If the Broker shall be released,
+ <member scope="com::sun::star::lang">XComponent::dispose</member>
+ must be called at the Broker. The implementation of this method must
+ call
+ <member scope="com::sun::star::lang">XEventListener::disposing</member>
+ 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 <type>XContentIdentifier</type> implementation objects for
+ all kind of contents provided by the UCB.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ //-------------------------------------------------------------------------
+ /** supports the configuration of a newly created broker.
+
+ <p>The
+ <member scope="com::sun::star::lang">XInitialization::initialize</member>
+ method should be called 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.
+
+ <p>Typical values for the pair of strings would be
+ <code>"Local"</code>/<code>"Office"</code>, to configure a broker that
+ contains all the relevant content providers.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** enables the caller to execute commands at the broker.
+
+ <p>This interface is required.
+
+ <p><pre>
+ =======================================================================
+ Commands:
+ =======================================================================
+
+ [return type]
+ [command name]
+ [parameter type and name]
+
+ -----------------------------------------------------------------------
+ Requiered commands:
+ -----------------------------------------------------------------------
+
+ // This command obtains an interface which allows to query
+ // information on commands supported by the Content Broker.
+
+ <type>XCommandInfo</type>
+ 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 <type>Content</type>s provided by one
+ // <type>ContentProvider</type>.
+
+ void
+ globalTransfer
+ <type>GlobalTransferCommandArgument</type>
+ </pre>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ //-------------------------------------------------------------------------
+ /** is an enhanced version of <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>UniversalContentBroker</type>
+ implementations do not (yet), every new implementation should support
+ this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/UnsupportedCommandException.idl b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl
new file mode 100644
index 000000000000..03431da57906
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_UnsupportedCommandException_idl__
+#define __com_sun_star_ucb_UnsupportedCommandException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** is thrown to indicate that the a command is not known by the
+ implementation of an interface.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XCommandProcessor
+*/
+published exception UnsupportedCommandException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl
new file mode 100644
index 000000000000..47dcf76ca4a0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_UnsupportedDataSinkException_idl__
+#define __com_sun_star_ucb_UnsupportedDataSinkException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>OpenCommandArgument</type> supplied as argument
+ of the command 'open' contains such a data sink.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl
new file mode 100644
index 000000000000..2a4417291489
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_UnsupportedNameClashException_idl__
+#define __com_sun_star_ucb_UnsupportedNameClashException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** <p>This exception must be thrown in case the requested nameclash
+ 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 nameclash directive specified in
+ parameter NameClash of the supplied <type>TransferInfo</type> 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 <type>InsertCommandArgument</type> 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
+ @author Kai Sommerfeld
+ @see Content
+*/
+published exception UnsupportedNameClashException : com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** contains the <type>NameClash</type> that is not supported.
+ */
+ long NameClash;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl
new file mode 100644
index 000000000000..5e79f175ebd9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_UnsupportedOpenModeException_idl__
+#define __com_sun_star_ucb_UnsupportedOpenModeException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This exception is used to indicate that the requested <type>OpenMode</type>
+ is not supported.
+
+ <p>For example, each <type>OpenCommandArgument</type> supplied as argument
+ of the command 'open' contains such an open mode.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see Content
+*/
+published exception UnsupportedOpenModeException : com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** contains the <type>OpenMode</type> that is not supported.
+ */
+ short Mode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/VerificationMode.idl b/offapi/com/sun/star/ucb/VerificationMode.idl
new file mode 100644
index 000000000000..399a64227019
--- /dev/null
+++ b/offapi/com/sun/star/ucb/VerificationMode.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/ucb/WebDAVContentProvider.idl b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl
new file mode 100644
index 000000000000..17c6d66e8c1f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_WebDAVContentProvider_idl__
+#define __com_sun_star_ucb_WebDAVContentProvider_idl__
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** The WebDAV Content Provider (DCP) implements a <type>ContentProvider</type>
+ for the <type>UniversalContentBroker</type> (UCB).
+
+ <p>It provides access to WebDAV and standard HTTP servers. The DCP
+ communicates with the server using the WebDAV protocol which is an
+ extention 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 (<type>WebDAVFolderContent</type>) is a container for
+ other DCP Folders or Documents.
+ </li>
+ <li>
+ A DCP Document (<type>WebDAVDocumentContent</type>) 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
diff --git a/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
new file mode 100644
index 000000000000..7fbfd36ebdb9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_WebDAVDocumentContent_idl__
+#define __com_sun_star_ucb_WebDAVDocumentContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+//=============================================================================
+
+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
+ <member>XContent::getContentType</member> 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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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: <type>PostCommandArgument2</type> - 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>
+ <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
+ </li>
+ <li>
+ <type scope="com::sun::star::util">DateTime</type> 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/WebDAVFolderContent.idl b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
new file mode 100644
index 000000000000..5363015cfb99
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
@@ -0,0 +1,243 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__
+#define __com_sun_star_ucb_WebDAVFolderContent_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#include <com/sun/star/ucb/XContentCreator.idl>
+#endif
+
+//=============================================================================
+
+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 <type>Content</type>.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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 recide 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>
+ <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
+ </li>
+ <li>
+ <type scope="com::sun::star::util">DateTime</type> 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 <type>XCommandProcessor</type> that has an
+ additional method for releasing command identifiers obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> to avoid
+ resource leaks. For a detailed description of the problem refer to
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>.
+
+ <p>Where many existing <type>Content</type> 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 <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
+ /** This interface is implemented according to the specification of
+ service <type>Content</type>.
+
+ <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
+ <member>XContentCreator::createNewContent</member> 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 an <type scope="com::sun::star::io">XInputStream</type>
+ with the command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl
new file mode 100644
index 000000000000..329f36f7696d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__
+#define __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This struct is to be contained in the first notification of an
+ <type>XDynamicResultSet</type>.
+
+ @see XDynamicResultSet
+ @see ListEvent
+ @see ListAction
+ @see ListActionType
+*/
+
+published struct WelcomeDynamicResultSetStruct
+{
+ //-------------------------------------------------------------------------
+ /** The static resultset containing the previous version of resultset data.
+ */
+ com::sun::star::sdbc::XResultSet Old;
+
+ //-------------------------------------------------------------------------
+ /** The static resultset containing the new version of resultset data.
+ */
+ com::sun::star::sdbc::XResultSet New;
+};
+
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XAnyCompare.idl b/offapi/com/sun/star/ucb/XAnyCompare.idl
new file mode 100644
index 000000000000..f718883ac582
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompare.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XAnyCompare_idl__
+#define __com_sun_star_ucb_XAnyCompare_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** compares two <atom>any</atom>s.
+*/
+
+published interface XAnyCompare: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** allows comparision of two <atom>any</atom>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
diff --git a/offapi/com/sun/star/ucb/XAnyCompareFactory.idl b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl
new file mode 100644
index 000000000000..6356c846aa47
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
+#define __com_sun_star_ucb_XAnyCompareFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XAnyCompare_idl__
+#include <com/sun/star/ucb/XAnyCompare.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Property_idl__
+#include <com/sun/star/beans/Property.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates an <type>XAnyCompare</type> instance.
+*/
+
+published interface XAnyCompareFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates an <type>XAnyCompare</type> instance.
+
+ @param PropertyName
+ is the name of a property
+
+ @returns
+ a compare interface
+ */
+ com::sun::star::ucb::XAnyCompare createAnyCompareByName(
+ [in] string PropertyName );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl
new file mode 100644
index 000000000000..2f764a05c4f9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates a <type>CachedContentResultSet</type>.
+*/
+
+published interface XCachedContentResultSetFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a remote optimized
+ <type scope="com::sun::star::sdbc">XResultSet</type>.
+
+ @param xSource
+ must be an instance of service <type>CachedContentResultSetStub</type>.
+
+ @param xMapping
+ can be used for optimization of remote access via the interface
+ <type>XContentAccess</type> of the <type>CachedContentResultSet</type>.
+ This paramter can be <NULL/>.
+
+ @returns
+ an instance of service <type>CachedContentResultSet</type>.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSet(
+ [in] com::sun::star::sdbc::XResultSet xSource,
+ [in] com::sun::star::ucb::XContentIdentifierMapping xMapping );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000000..9a78bc2e0952
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates a <type>CachedContentResultSetStub</type>.
+*/
+
+published interface XCachedContentResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a remote optimized
+ <type scope="com::sun::star::sdbc">XResultSet</type>.
+
+ @param xSource
+ must be an instance of service <type>ContentResultSet</type>.
+
+ @returns
+ an instance of service <type>CachedContentResultSetStub</type>.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSetStub(
+ [in] com::sun::star::sdbc::XResultSet xSource );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000000..f7ccbc2c8804
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates a <type>CachedDynamicResultSet</type>.
+
+ <p>Pay attention to instanciate this helper on clientside where your want
+ to read the data respectively where you have instantiated the listener to
+ the <type>XDynamicResultSet</type>.
+
+ <p>The needed stub on server side can be created using
+ <type>XCachedDynamicResultSetStubFactory</type>.
+*/
+
+published interface XCachedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a remote optimizes <type>XDynamicResultSet</type>.
+
+ @param SourceStub
+ must be an instance of service <type>CachedDynamicResultSetStub</type>.
+ It can be <NULL/>. In this case you can use the interface
+ <type>XSourceInitialization</type> of the returned
+ <type>CachedDynamicResultSet</type> 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 accessable via the interface
+ <type>XContentAccess</type> of the <type>ContentResultSet</type>
+ (e.g., if merging two sources of the same type).
+
+ @returns
+ an instance of service <type>CachedDynamicResultSet</type>.
+ */
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSet(
+ [in] com::sun::star::ucb::XDynamicResultSet SourceStub
+ , [in] com::sun::star::ucb::XContentIdentifierMapping ContentIdentifierMapping );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000000..cb46cca15c82
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** creates a <type>CachedDynamicResultSetStub</type> and connects a non-remote
+ optimized <type>DynamicResultSet</type> to a remote optimized
+ <type>CachedDynamicResultSet</type>.
+
+ <p>Pay attention to instanciate this helper on serverside where your source
+ <type>DynamicResultSet</type> was instanciated.
+
+ <p>Method
+ <member>XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub</member>
+ can be used to create a stub on serverside.
+
+ <p>If you have instanciated a <type>CachedDynamicResultSet</type> on client
+ side already, use method <member>connectToCache</member> to connect your
+ given DynamicResultSet with this Cache.
+
+ <p>The needed cache on server side you can create using
+ <type>XCachedDynamicResultSetFactory</type>.
+*/
+
+published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a remote optimizes <type>XDynamicResultSet</type>.
+
+ @param Source
+ must be an instance of service <type>DynamicResultSet</type>.
+
+ @returns
+ an instance of service <type>CachedDynamicResultSetStub</type>.
+ */
+
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSetStub(
+ [in] com::sun::star::ucb::XDynamicResultSet Source );
+
+ //-------------------------------------------------------------------------
+ /** If you have instanciated a <type>CachedDynamicResultSet</type> on
+ client side already, use this to connect your given Source on server
+ side to the TargetCache.
+
+ @param Source
+ is an instance of service <type>DynamicResultSet</type>.
+
+ @param TargetCache
+ is an instance of service <type>CachedDynamicResultSet</type>.
+
+ @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 instanciate objects used to compare the
+ properties that are involved in sorting.
+
+ @throws ListenerAlreadySetException
+ if <member>Source</member> is already in use.
+
+ @throws AlreadyInitializedException
+ if <member>TargetCache</member> 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
diff --git a/offapi/com/sun/star/ucb/XCommandEnvironment.idl b/offapi/com/sun/star/ucb/XCommandEnvironment.idl
new file mode 100644
index 000000000000..35e1af812e60
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandEnvironment.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XCommandEnvironment_idl__
+#define __com_sun_star_ucb_XCommandEnvironment_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XProgressHandler_idl__
+#include <com/sun/star/ucb/XProgressHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** defines the environment for a command.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XCommandInfo.idl b/offapi/com/sun/star/ucb/XCommandInfo.idl
new file mode 100644
index 000000000000..e262e658a424
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfo.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCommandInfo_idl__
+#define __com_sun_star_ucb_XCommandInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CommandInfo_idl__
+#include <com/sun/star/ucb/CommandInfo.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_UnsupportedCommandException_idl__
+#include <com/sun/star/ucb/UnsupportedCommandException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides access to information on a set of commands.
+
+ @version 1.0
+ @author Kai Sommerfeld
+*/
+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 apecific command is supported.
+
+ @returns
+ <TRUE/> if a command with the specified handle is supported;
+ otherwise <FALSE/> is returned.
+
+ @param Name
+ specifies the handle of the requested command.
+ */
+ boolean hasCommandByHandle( [in] long Handle );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl
new file mode 100644
index 000000000000..3bd9012c5b4c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCommandInfoChangeListener_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CommandInfoChangeEvent_idl__
+#include <com/sun/star/ucb/CommandInfoChangeEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a listener for events related to changing <type>XCommandInfo</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeNotifier
+*/
+published interface XCommandInfoChangeListener : com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** gets called whenever changes of a <type>XCommandInfo</type> shall
+ be propagated.
+
+ @param evt
+ the event.
+ */
+ void commandInfoChange( [in] CommandInfoChangeEvent evt );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl
new file mode 100644
index 000000000000..43379f86de83
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_ucb_XCommandInfoChangeListener_idl__
+#include <com/sun/star/ucb/XCommandInfoChangeListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a notifier for changes of <type>XCommandInfo</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeListener
+*/
+published interface XCommandInfoChangeNotifier : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers a listener for <type>CommandInfoChangeEvent</type>s.
+
+ @param Listener
+ the listener to add.
+ */
+ void addCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** removes a listener for <type>CommandInfoChangeEvent</type>s.
+
+ @param Listener
+ the listener to remove.
+ */
+ void removeCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor.idl b/offapi/com/sun/star/ucb/XCommandProcessor.idl
new file mode 100644
index 000000000000..92da7d7f1495
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#define __com_sun_star_ucb_XCommandProcessor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandEnvironment_idl__
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_Command_idl__
+#include <com/sun/star/ucb/Command.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CommandAbortedException_idl__
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+#endif
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+
+ @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
+ accociated 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 <member>XCommandProcessor::abort</member>, an
+ identifier should not be used any longer (and instead be released by a
+ call to <member>XCommandProcessor2::releaseCommandIdentifier</member>),
+ because it may well abort <em>all</em> further calls to
+ <member>XCommandProcessor::execute</member>.</p>
+
+ <p>To avoid ever-increasing resource consumption, the identifier
+ should be released via
+ <member>XCommandProcessor2::releaseCommandIdentifier</member>
+ 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 soecification of the
+ service <type>Content</type>.
+
+ @param aCommand
+ is the command to execute.
+
+ @param CommandId
+ is a unique id for the command. This identifier was obtained by calling
+ <member>XCommandProcessor::createCommandIdentifier</member>. 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
+ <type>XCommandProcessor</type>, obtains exactly one identifier
+ using <member>XCommandProcessor::createCommandIdentifier</member>.
+ This identifier can be used for every call to
+ <member>XCommandProcessor::execute</member> 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 occured 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 <member>XCommandProcessor::execute</member> for the command
+ to abort.
+ */
+ [oneway] void abort( [in] long CommandId );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor2.idl b/offapi/com/sun/star/ucb/XCommandProcessor2.idl
new file mode 100644
index 000000000000..cc9d1c885a7a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor2.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
+#define __com_sun_star_ucb_XCommandProcessor2_idl__
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+
+//============================================================================
+/** An improved version of a
+ <type scope="com::sun::star::ucb">XCommandProcessor</type> that helps avoid
+ ever-increasing resource consumption.
+ */
+published interface XCommandProcessor2: com::sun::star::ucb::XCommandProcessor
+{
+ //------------------------------------------------------------------------
+ /** releases a command identifier obtainded through
+ <member>XCommandProcessor::createCommandIdentifier</member> when it is
+ no longer used.
+
+ <p>After this call the command identifier cannot be used any longer in
+ calls to <member>XCommandProcessor::execute</member> and
+ <member>XCommandProcessor::abort</member>. (But it can happen that a
+ call to <member>XCommandProcessor::createCommandIdentifier</member>
+ reuses this identifier.)</p>
+
+ @param CommandId
+ A command identifier obtained through
+ <member>XCommandProcessor::createCommandIdentifier</member>. If the
+ identifier is zero, the request is silently ignored; but if the
+ identifier is invalid (not obtained via
+ <member>XCommandProcessor::createCommandIdentifier</member> or already
+ handed to <member>XCommandProcessor2::releaseCommandIdentifier</member>
+ before), the behaviour is undefined.
+ */
+ [oneway] void releaseCommandIdentifier([in] long CommandId);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XContent.idl b/offapi/com/sun/star/ucb/XContent.idl
new file mode 100644
index 000000000000..2be61f32ac56
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContent.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContent_idl__
+#define __com_sun_star_ucb_XContent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifier_idl__
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentEventListener_idl__
+#include <com/sun/star/ucb/XContentEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+ @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
+ */
+ [oneway] void addContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** removes a listener for content events.
+
+ @param Listener
+ the listener to remove.
+
+ @see ContentEvent
+ */
+ [oneway] void removeContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XContentAccess.idl b/offapi/com/sun/star/ucb/XContentAccess.idl
new file mode 100644
index 000000000000..8ead478e660f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentAccess.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentAccess_idl__
+#define __com_sun_star_ucb_XContentAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XContent</type>s,
+ 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
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XContentCreator.idl b/offapi/com/sun/star/ucb/XContentCreator.idl
new file mode 100644
index 000000000000..6dcc42b37471
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentCreator.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentCreator_idl__
+#define __com_sun_star_ucb_XContentCreator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ContentInfo_idl__
+#include <com/sun/star/ucb/ContentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>Content</type> property
+ "CreatableContentsInfo" and command "createNewContent" instead.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XContentEventListener.idl b/offapi/com/sun/star/ucb/XContentEventListener.idl
new file mode 100644
index 000000000000..069f9c1012cc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentEventListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentEventListener_idl__
+#define __com_sun_star_ucb_XContentEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ContentEvent_idl__
+#include <com/sun/star/ucb/ContentEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a listener for events related to <type>XContent</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XContentIdentifier.idl b/offapi/com/sun/star/ucb/XContentIdentifier.idl
new file mode 100644
index 000000000000..143bcfdb0ac7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifier.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentIdentifier_idl__
+#define __com_sun_star_ucb_XContentIdentifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An identifier for contents.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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-URL's 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
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl
new file mode 100644
index 000000000000..5a89d4e59087
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__
+#define __com_sun_star_ucb_XContentIdentifierFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifier_idl__
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A factory for content identifiers.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl
new file mode 100644
index 000000000000..e4ab524fed8b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__
+#define __com_sun_star_ucb_XContentIdentifierMapping_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+//=============================================================================
+/** A mapping from a (source) set of <type>XContentIdentifier</type>s 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 <type>XContent</type>s identified by source/target
+ XContentIdentifiers is also supported.
+
+ <p>This interface can be useful in cases where the identifieres (and
+ associated contents) returned by the various methods of an
+ <type>XContentAccess</type> 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 <type>XContentIdentifier</type>.
+
+ @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 <type>XContentIdentifier</type>.
+
+ @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 <type>XContent</type> identified by an
+ <type>XContentIdentifier</type>.
+
+ @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 <type scope="com::sun::star::sdbc">XRow</type>.
+
+ @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
+ comination 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 occured 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
diff --git a/offapi/com/sun/star/ucb/XContentProvider.idl b/offapi/com/sun/star/ucb/XContentProvider.idl
new file mode 100644
index 000000000000..1422441a8879
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProvider.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#define __com_sun_star_ucb_XContentProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifier_idl__
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_IllegalIdentifierException_idl__
+#include <com/sun/star/ucb/IllegalIdentifierException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a content provider which creates and manages <type>XContent</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XContent
+ @see XContentIdentifier
+*/
+published interface XContentProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a new <type>XContent</type> instance, if the given
+ <type>XContentIdentifier</type> 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 <type>XContentIdentifier</type>s.
+
+ @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> indiactes, 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
diff --git a/offapi/com/sun/star/ucb/XContentProviderFactory.idl b/offapi/com/sun/star/ucb/XContentProviderFactory.idl
new file mode 100644
index 000000000000..034be592ece0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderFactory.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentProviderFactory_idl__
+#define __com_sun_star_ucb_XContentProviderFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a factory for a <type>XContentProvider</type>.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XContentProvider
+*/
+published interface XContentProviderFactory : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a <type>XContentProvider</type> 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
diff --git a/offapi/com/sun/star/ucb/XContentProviderManager.idl b/offapi/com/sun/star/ucb/XContentProviderManager.idl
new file mode 100644
index 000000000000..9e3ed70a1276
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderManager.idl
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentProviderManager_idl__
+#define __com_sun_star_ucb_XContentProviderManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_DuplicateProviderException_idl__
+#include <com/sun/star/ucb/DuplicateProviderException.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ContentProviderInfo_idl__
+#include <com/sun/star/ucb/ContentProviderInfo.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** makes it possible to query/register/deregister content providers.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
+ <member>XContentProvider::queryContent</member> with an
+ <type>XContentIdentifier</type> 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 comparision 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
+ <type>RemoteAccessContentProvider</type>'s
+ <type>XParameterizedContentProvider</type> 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
+ <member>registerContentProvider</member> for a discussion of URL
+ templates).
+ */
+ [oneway] 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.
+ */
+ com::sun::star::ucb::XContentProvider queryContentProvider(
+ [in] string Identifier );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl
new file mode 100644
index 000000000000..cfa70cee5ddb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XContentProviderSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** a supplier for a content provider.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @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
diff --git a/offapi/com/sun/star/ucb/XContentTransmitter.idl b/offapi/com/sun/star/ucb/XContentTransmitter.idl
new file mode 100644
index 000000000000..0ef1aace93cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentTransmitter.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XContentTransmitter_idl__
+#define __com_sun_star_ucb_XContentTransmitter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/**
+ @deprecated
+
+ @version 1.0
+ @author Dirk Voelzke
+ @see
+*/
+
+published interface XContentTransmitter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [oneway] void transmit( [in] string Source,
+ [in] string Destination,
+ [in] long Flags );
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ucb/XDataContainer.idl b/offapi/com/sun/star/ucb/XDataContainer.idl
new file mode 100644
index 000000000000..78437e0529a5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDataContainer.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XDataContainer_idl__
+#define __com_sun_star_ucb_XDataContainer_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ @author Kai Sommerfeld
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSet.idl b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
new file mode 100644
index 000000000000..291cd397e767
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#define __com_sun_star_ucb_XDynamicResultSet_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XDynamicResultSetListener_idl__
+#include <com/sun/star/ucb/XDynamicResultSetListener.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ListenerAlreadySetException_idl__
+#include <com/sun/star/ucb/ListenerAlreadySetException.idl>
+#endif
+
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#include <com/sun/star/sdbc/XResultSet.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_AlreadyInitializedException_idl__
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ServiceNotFoundException_idl__
+#include <com/sun/star/ucb/ServiceNotFoundException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Provides read access to a <type>ContentResultSet</type>.
+
+ <p>
+ You can either get a simple static <type>ContentResultSet</type> or you can
+ listen to change-notifications and than swap from the old to a new
+ <type>ContentResultSet</type>.
+ </p>
+
+ <p>The following describes the dynamic use:</p>
+
+ <p>
+ <type>XDynamicResultSet</type> provides the possibility to get notifications
+ about changes on a <type>ContentResultSet</type> and have an
+ listener-controlled update from one version to the next version. Two
+ <type>ContentResultSet</type> implementations were given to the listener in
+ the first notification as interface
+ <type scope="com::sun::star::sdbc">XResultSet</type>.
+ </p>
+
+ <p>
+ To get notifications the listener has to be of type
+ <type>XDynamicResultSetListener</type>.
+ </p>
+
+ <p>
+ After registration you will get notifications for events of type
+ <type>ListEvent</type>.
+ </p>
+
+ <p>
+ The calling of <member>XDynamicResultSetListener::notify</member> has
+ to happen in an own thread, because it could take a longer time and any
+ actions til 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 <type>ContentResultSet</type>s,
+ they must be both valid.</li>
+ <li> It is not allowed to start a second notify-call.</li>
+ <li> All addditional 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
+ <type>ContentResultSet</type>. The new one is first assigned in the
+ WELCOME-event and than the ResultSets are always swapped.</li>
+ <li> The listener is not allowed to access the old
+ <type>ContentResultSet</type>.</li>
+ </ol>
+*/
+
+published interface XDynamicResultSet: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** Call this, if you don't care about any changes.
+
+ @returns
+ an <type scope="com::sun::star::sdbc">XResultSet</type> that is
+ implemented as <type>ContentResultSet</type>. Its content will never
+ change.
+
+ @trows ListenerAlreadySetException
+ if someone already has registered as listener via
+ <member>XDynamicResultSet::setListener</member> or if someone has
+ established a connection to a <type>CachedDynamicResultSet</type>
+ via <member>XDynamicResultSet::connectToCache</member>.
+ */
+ 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
+ <member scope="com::sun::star::lang">XComponent::addEventListener</member>
+ in this method, so that we can call
+ <member scope="com::sun::star::lang">XEventListener::disposing</member>
+ at the listener
+
+ @param Listener
+ a listener for resultset 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 <type>ContentResultSet</type> via
+ <member>XDynamicResultSet::getStaticResultSet</member>.
+
+ */
+ void setListener( [in] XDynamicResultSetListener Listener )
+ raises( com::sun::star::ucb::ListenerAlreadySetException );
+
+ //-------------------------------------------------------------------------
+ /** Connects this to a <type>CachedDynamicResultSet</type> for optimized
+ remote data transport.
+
+ <p>This method creates a <type>CachedDynamicResultSetStub</type>
+ 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
+ <type>CachedDynamicResultSet</type>. In particular it has to support
+ the interface <type>XSourceInitialization</type>.
+
+ @throws ListenerAlreadySetException
+ if if someone already has fetched the <type>ContentResultSet</type> via
+ <member>XDynamicResultSet::getStaticResultSet</member>.
+
+ @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
+ <type>ContentResultSet</type>s are sorted or filtered etc correctly as
+ demanded during the creation of the <type>XDynamicResultSet</type>.
+
+ @returns
+ zero or more constants of the <type>ContentResultSetCapability</type>
+ constants group.
+ */
+ short getCapabilities();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl
new file mode 100644
index 000000000000..6bde84d89663
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XDynamicResultSetListener_idl__
+#define __com_sun_star_ucb_XDynamicResultSetListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_ListEvent_idl__
+#include <com/sun/star/ucb/ListEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** used to receive notifications from an <type>XDynamicResultSet</type>.
+*/
+
+published interface XDynamicResultSetListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** A method used to propagate changes of a resultset.
+
+ <p>In the first notify-call the listener gets two(!)
+ <type scope="com::sun::star::sdbc">XResultSet</type>s and has to hold
+ them. The <type scope="com::sun::star::sdbc">XResultSet</type>s are
+ implementations of the service <type>ContentResultSet</type>.
+
+ <p>The notified new
+ <type scope="com::sun::star::sdbc">XResultSet</type> 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 resultset, except in the first call, where only the new resultset
+ is valid.
+
+ <p>The Listener is allowed to stay (block) this call, until he really
+ wants to use the new resultset. 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
diff --git a/offapi/com/sun/star/ucb/XFetchProvider.idl b/offapi/com/sun/star/ucb/XFetchProvider.idl
new file mode 100644
index 000000000000..eb491caaaabf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProvider.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XFetchProvider_idl__
+#define __com_sun_star_ucb_XFetchProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_FetchResult_idl__
+#include <com/sun/star/ucb/FetchResult.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides the possibility to get the contents of the columns of several
+ rows of a <type>ContentResultSet</type> with a single function call.
+*/
+
+published interface XFetchProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the contents of the columns of the indicated rows
+
+ @returns
+ <member>FetchResult::Rows</member> contains a sequence of anys. Each
+ of these anys contains a sequence of anys.
+
+ @param nRowStartPosition
+ the starting row of the resultset
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
new file mode 100644
index 000000000000..5e6242e79e4e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+#define __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_FetchResult_idl__
+#include <com/sun/star/ucb/FetchResult.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** provides the possibility to load information offered by a
+ <type>XContentAccess</type> for several rows of a
+ <type>ContentResultSet</type> 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
+ <member>FetchResult::Rows</member> contains a sequence of anys. Each
+ of these anys contains a string.
+
+ @param nRowStartPosition
+ the starting row of the resultset
+
+ @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 <type>XContentIdentifier</type>s of the columns of the
+ indicated rows
+
+ @returns
+ <member>FetchResult::Rows</member> contains a sequence of anys. Each
+ of these anys contains an <type>XContentIdentifier</type>.
+
+ @param nRowStartPosition
+ the starting row of the resultset
+
+ @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 <type>XContent</types>s of the columns of the indicated rows
+
+ @returns
+ <member>FetchResult::Rows</member> contains a sequence of anys. Each
+ of these anys contains an <type>XContent</type>.
+
+ @param nRowStartPosition
+ the starting row of the resultset
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl
new file mode 100644
index 000000000000..1ff2579164ee
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XFileIdentifierConverter_idl__
+#define __com_sun_star_ucb_XFileIdentifierConverter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ @author Andreas Bille
+*/
+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 chose 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 appropriat 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
diff --git a/offapi/com/sun/star/ucb/XInteractionCookieHandling.idl b/offapi/com/sun/star/ucb/XInteractionCookieHandling.idl
new file mode 100644
index 000000000000..fe31114241da
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionCookieHandling.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionCookieHandling_idl__
+#define __com_sun_star_ucb_XInteractionCookieHandling_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CookiePolicy_idl__
+#include <com/sun/star/ucb/CookiePolicy.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_Cookie_idl__
+#include <com/sun/star/ucb/Cookie.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** An interaction continuation handing back some cookie request handling
+ policy.
+
+ <p>This continuation is typically used in conjunction with
+ <type>HandleCookiesRequest</type>.
+*/
+published interface XInteractionCookieHandling: com::sun::star::task::XInteractionContinuation
+{
+ //-------------------------------------------------------------------------
+ /** Set a general policy to hand back.
+
+ <p>This method should be called before select().
+
+ @param Policy
+ Some policy how to handle cookies.
+ */
+ void setGeneralPolicy( [in] com::sun::star::ucb::CookiePolicy Policy );
+
+ //-------------------------------------------------------------------------
+ /** Set a policy to hand back for a specific cookie.
+
+ <p>This method should be called before select().
+
+ @param ConfirmCookie
+ A cookie that sould come from the sequence of
+ cookies offered by the <type>HandleCookiesRequest</type> and that
+ should have a policy of <member>CookiePolicy::CONFIRM</member>.
+
+ @param Accept
+ If <TRUE/>, set the policy for the cookie to
+ <member>CookiePolicy::ACCEPT</member>; otherwise, set it to
+ <member>CookiePolicy::IGNORE</member>.
+ */
+ void setSpecificPolicy( [in] com::sun::star::ucb::Cookie ConfirmCookie,
+ [in] boolean Accept );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl
new file mode 100644
index 000000000000..a5ab34fc6af5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionHandlerSupplier_idl__
+#define __com_sun_star_ucb_XInteractionHandlerSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This interface should be implemented by an internal
+ <type>XCommandEnvironment</type> that can not supply an
+ <type scope="com::sun::star::task">XInteractionHandler</type>, 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
+ <type scope="com::sun::star::task">XInteractionHandler</type> can be
+ supplied.
+
+ @returns
+ <TRUE/>, if an
+ <type scope="com::sun::star::task">XInteractionHandler</type> can be
+ supplied, <FALSE/> otherwise.
+ */
+ boolean hasInteractionHandler();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl
new file mode 100644
index 000000000000..c5f03d720d49
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionReplaceExistingData_idl__
+#define __com_sun_star_ucb_XInteractionReplaceExistingData_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>NameClashResolveRequest</type> in order to instruct the requester
+ to overwrite the clashing data.
+
+ @version 1.0
+ @author Kai Sommerfeld
+*/
+published interface XInteractionReplaceExistingData : com::sun::star::task::XInteractionContinuation
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
new file mode 100644
index 000000000000..d89c06985044
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_RememberAuthentication_idl__
+#include <com/sun/star/ucb/RememberAuthentication.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <type>AuthenticationRequest</type>. </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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::canSetRealm</member> 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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::canSetUserName</member>
+ 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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::canSetPassword</member>
+ 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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::setPassword</member>
+ is also called.</p>
+
+ @param Remember
+ The mode to hand back, should be contained in the sequence returned by
+ <member>XInteractionSupplyAuthentication::getRememberPasswordModes</member>.
+ */
+ 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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::canSetAccount</member>
+ 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
+ <member scope="com::sun::star::task">XInteractionContinuation::select</member>,
+ and should only be called if
+ <member>XInteractionSupplyAuthentication::setAccount</member>
+ is also called.</p>
+
+ @param Remember The mode to hand back, should be contained in the
+ sequence returned by
+ <member>XInteractionSupplyAuthentication::getRememberAccountModes</member>.
+ */
+ void setRememberAccount( [in] com::sun::star::ucb::RememberAuthentication Remember );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl
new file mode 100644
index 000000000000..252ba27c25c6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__
+
+#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+#include <com/sun/star/ucb/XInteractionSupplyAuthentication.idl>
+#endif
+
+
+
+//=============================================================================
+
+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
+ <type>AuthenticationRequest</type>. </p>
+
+ @since OOo 3.2
+*/
+/*published*/ interface XInteractionSupplyAuthentication2 : XInteractionSupplyAuthentication
+{
+ //-------------------------------------------------------------------------
+ /** Specifies if 'system credentials' can be obtained and used by the issuer
+ of the authentiction 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
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyName.idl b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl
new file mode 100644
index 000000000000..57009d3bd7fb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XInteractionSupplyName_idl__
+#define __com_sun_star_ucb_XInteractionSupplyName_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>NameClashResolveRequest</type> in order to supply a new name
+ for a clashing resource.
+
+ @version 1.0
+ @author Kai Sommerfeld
+*/
+published interface XInteractionSupplyName : com::sun::star::task::XInteractionContinuation
+{
+ //-------------------------------------------------------------------------
+ /** sets the name to supply.
+
+ @parem Name
+ contains the name to supply.
+ */
+ void setName( [in] string Name );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl
new file mode 100644
index 000000000000..e7b0feec1a3f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
+#define __com_sun_star_ucb_XParameterizedContentProvider_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentProvider_idl__
+#include <com/sun/star/ucb/XContentProvider.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Register specially adjusted instances of content providers on URL
+ templates and supplementary arguments.
+
+ @version 1.0
+ @author Stephan Bergmann
+*/
+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, an <type scope="com::sun::star::lang">IllegalArgumentException</type> may be raised.
+
+ @param Arguments Any supplementary arguments required by this
+ <type>XContentProvider</type>, represented as a single string. If the
+ input is malformed, an
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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 <type>XContentProvider</type>, or another,
+ specially adjusted version of this <type>XContentProvider</type> (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
+ <type>XContentProvider</type> 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
+ <type>XContentProvider</type>, represented as a single string. If the
+ input is malformed, an
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ may be raised.
+
+ @return Either this <type>XContentProvider</type>, or another,
+ specially adjusted version of this <type>XContentProvider</type> (this
+ flexibility allows for different implementation strategies), or null
+ if no instance is registered for the given Template. Note that the
+ returned <type>XContentProvider</type> 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
diff --git a/offapi/com/sun/star/ucb/XPersistentPropertySet.idl b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl
new file mode 100644
index 000000000000..05a723972675
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XPersistentPropertySet_idl__
+#define __com_sun_star_ucb_XPersistentPropertySet_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+// forward.
+ published interface XPropertySetRegistry;
+
+//=============================================================================
+/** A persistent propertyset, which can be saved in and restored from a
+ <type>XPropertySetRegistry</type>.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ */
+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 propertyset registry.
+
+ @returns
+ The key.
+ */
+ string getKey();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XProgressHandler.idl b/offapi/com/sun/star/ucb/XProgressHandler.idl
new file mode 100644
index 000000000000..21665a0b3b3a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XProgressHandler.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XProgressHandler_idl__
+#define __com_sun_star_ucb_XProgressHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <member>XProgressHandler::push</member> and
+ <member>XProgressHandler::update</member> as to which Status
+ arguments are meaningful. For example, a <atom>string</atom> argument
+ to <member>XProgressHandler::push</member> should be used to transport
+ some status text that describes the progress being made (possibly
+ followed by one or more <member>XProgressHandler::update</member>s with
+ <atom>string</atom> 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 <member>XProgressHandler::push</member> for more
+ information.
+ */
+ void update([in] any Status);
+
+ //-------------------------------------------------------------------------
+ /** The task notifies the handler that it has finished its current
+ activity.
+ */
+ void pop();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcher.idl b/offapi/com/sun/star/ucb/XPropertyMatcher.idl
new file mode 100644
index 000000000000..3ca6f6005a32
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcher.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XPropertyMatcher_idl__
+#define __com_sun_star_ucb_XPropertyMatcher_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandEnvironment_idl__
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl
new file mode 100644
index 000000000000..32627ce4d37b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XPropertyMatcherFactory_idl__
+#define __com_sun_star_ucb_XPropertyMatcherFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XPropertyMatcher_idl__
+#include <com/sun/star/ucb/XPropertyMatcher.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_SearchCriterium_idl__
+#include <com/sun/star/ucb/SearchCriterium.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Creates an <type>XPropertyMatcher</type>, 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
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistry.idl b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl
new file mode 100644
index 000000000000..ea283ae81589
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XPropertySetRegistry_idl__
+#define __com_sun_star_ucb_XPropertySetRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XPersistentPropertySet_idl__
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A registry (storage medium) for persistent propertysets.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see XPersistentPropertySet
+ */
+published interface XPropertySetRegistry : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a new or opens an existing propertyset in the registry.
+
+ @param key
+ The key to use for addressing the propertyset.
+
+ @param create
+ Indicates whether a new set shall be created in case there
+ does not already exist one for the given key.
+
+ @returns
+ The propertyset.
+ */
+ com::sun::star::ucb::XPersistentPropertySet
+ openPropertySet( [in] string key, [in] boolean create );
+
+ //-------------------------------------------------------------------------
+ /** removes a propertyset from the registry.
+
+ @param key
+ The key to use for addressing the propertyset.
+ */
+ [oneway] void removePropertySet( [in] string key );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl
new file mode 100644
index 000000000000..a61210b78ba9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XPropertySetRegistryFactory_idl__
+#define __com_sun_star_ucb_XPropertySetRegistryFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XPropertySetRegistry_idl__
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A factory for propertyset registries.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ */
+published interface XPropertySetRegistryFactory : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a propertyset 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
diff --git a/offapi/com/sun/star/ucb/XRecycler.idl b/offapi/com/sun/star/ucb/XRecycler.idl
new file mode 100644
index 000000000000..e3e193b6c460
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRecycler.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XRecycler_idl__
+#define __com_sun_star_ucb_XRecycler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContentIdentifier_idl__
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Allows an <type>XContent</type> 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 <type>XContent</type> 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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000000..54aee34f4e7d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ @author Stephan Bergmann
+*/
+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
+ <type>UniversalContentBroker</type> 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
+ <member>XRemoteContentProviderAcceptor::removeRemoteContentProvider</member>
+ then.)
+
+ To enable connection control, it is recommended that this argument
+ also implements the interface
+ <type>XRemoteContentProviderConnectionControl</type>.
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl
new file mode 100644
index 000000000000..e2c69ec0f8f7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XRemoteContentProviderActivator_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderActivator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+
+ published interface XContentProviderManager;
+
+//============================================================================
+/** This interface should be implemented together with
+ <type>XRemoteContentProviderAcceptor</type> and allows for a lazy
+ implementation of
+ <member>XRemoteContentProviderAcceptor::addRemoteContentProvider</member>.
+
+ The way this works might change, therefore this interface is marked as
+ deprectated.
+
+ @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
+ <member>XRemoteContentProviderAcceptor::addRemoteContentProvider</member>,
+ but not registered.
+
+ <p>This allows for
+ <member>XRemoteContentProviderAcceptor::addRemoteContentProvider</member>
+ to be implemented in a layz 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 <type>XRemoteContentProviderAcceptor</type> 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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl
new file mode 100644
index 000000000000..3a8a22cc4da6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+#ifndef __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__
+#include <com/sun/star/ucb/RemoteContentProviderChangeEvent.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+
+//============================================================================
+/** A listener interested in changes to a
+ <type scope="com::sun::star::ucb">XRemoteContentProviderSupplier</type>.
+
+ @version 1.0
+ @author Stephan Bergmann
+ */
+published interface XRemoteContentProviderChangeListener:
+ com::sun::star::lang::XEventListener
+{
+ //------------------------------------------------------------------------
+ /** gets called whenever changes to a
+ <type scope="com::sun::star::ucb">XRemoteContentProviderSupplier</type>
+ occur.
+
+ @param Event
+ describes the change that has occured.
+ */
+ void
+ remoteContentProviderChange([in] RemoteContentProviderChangeEvent Event);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl
new file mode 100644
index 000000000000..ca43be38e95a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+ published interface XRemoteContentProviderChangeListener;
+}; }; }; };
+
+module com { module sun { module star { module ucb {
+
+//============================================================================
+/** Notify about changes to a <type>XRemoteContentProviderSupplier</type>.
+
+ @version 1.0
+ @author Stephan Bergmann
+ */
+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
+ <member>XRemoteContentProviderChangeNotifier::addRemoteContentProviderChangeListener</member>.
+ */
+ void
+ removeRemoteContentProviderChangeListener(
+ [in] XRemoteContentProviderChangeListener Listener);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl
new file mode 100644
index 000000000000..1bb56c3d7616
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
+ <member>XRemoteContentProviderAcceptor::addRemoteContentProvider</member>.
+
+ @version 1.0
+ @author Stephan Bergmann
+ */
+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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl
new file mode 100644
index 000000000000..c787fe32aa15
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__
+
+#ifndef __com_sun_star_connection_ConnectionSetupException_idl__
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#endif
+
+#ifndef __com_sun_star_connection_NoConnectException_idl__
+#include <com/sun/star/connection/NoConnectException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Distribute a content broker to variuos
+ <type>XRemoteContentProviderAcceptor</type>s.
+
+ @version 1.0
+ @author Stephan Bergmann
+ @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
+ <type scope="com::sun::star::bridge">UnoUrlResolver</type> service,
+ which is responsible for raising any of the advertised exceptions. </p>
+
+ @param Url A Uno Url to address the
+ <type>XRemoteContentProviderAcceptor</type>.
+
+ @param Identifier An identifier handed to the
+ <type>XRemoteContentProviderAcceptor</type>.
+
+ @returns success indicator. Escpecially, 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
+ <type>XRemoteContentProviderAcceptor</type>.
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl
new file mode 100644
index 000000000000..8786c28b49e5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderAcceptor;
+
+//============================================================================
+/** A notification mechanism that a
+ <type>XRemoteContentProviderAcceptor</type> no longer needs a remote
+ content provider.
+
+ @version 1.0
+ @author Stephan Bergmann
+*/
+published interface XRemoteContentProviderDoneListener: com::sun::star::uno::XInterface
+{
+ /** A notification that all remote content providers added to the given
+ <type>XRemoteContentProviderAcceptor</type> 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
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl
new file mode 100644
index 000000000000..037d67af4d36
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Provide access to a collection of remote content providers.
+
+ @version 1.0
+ @author Stephan Bergmann
+ @see XRemoteContentProviderAcceptor
+*/
+published interface XRemoteContentProviderSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Get a factory through which a remote content provider's
+ <type>UniversalContentBroker</type> 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
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
new file mode 100644
index 000000000000..122bde51ef1c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
@@ -0,0 +1,292 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_CommandAbortedException_idl__
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XStream_idl__
+#include <com/sun/star/io/XStream.idl>
+#endif
+
+
+
+//=============================================================================
+
+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 an 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 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
+ <type>UnsupportedDataSinkException</type>, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ <member>XSimpleFileAccess2::writeFile</member> 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
+ <type>UnsupportedDataSinkException</type>, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ <member>XSimpleFileAccess2::writeFile</member> 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
+ <type scope="com::sun::star::task">InteractionHandler</type>.
+ 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
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl
new file mode 100644
index 000000000000..92bdb9ca6365
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XSimpleFileAccess2_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess2_idl__
+
+#ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__
+#include <com/sun/star/ucb/XSimpleFileAccess.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This is an extension to the interface <type>XSimpleFileAccess</type>.
+*/
+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
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl
new file mode 100644
index 000000000000..396a0d3892c4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ucb_XSimpleFileAccess3_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess3_idl__
+
+#ifndef __com_sun_star_ucb_XSimpleFileAccess2_idl__
+#include <com/sun/star/ucb/XSimpleFileAccess2.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** This is an extension to the interface <type>XSimpleFileAccess2</type>.
+
+ @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 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
diff --git a/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000000..91ae947b613f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#endif
+#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#endif
+#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** Provides a method to create an <type>XDynamicResultSet</type> which
+ will be sorted according to the given sorting options.
+*/
+
+published interface XSortedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a sorted <type>XDynamicResultSet</type> depending on internal
+ data, an (unsorted) XDynamicResultSet and the sorting info.
+
+ @returns
+ a sorted resultset.
+
+ @param Source
+ the (unsorted) source resultset
+
+ @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
diff --git a/offapi/com/sun/star/ucb/XSourceInitialization.idl b/offapi/com/sun/star/ucb/XSourceInitialization.idl
new file mode 100644
index 000000000000..b091faece81d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSourceInitialization.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XSourceInitialization_idl__
+#define __com_sun_star_ucb_XSourceInitialization_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_AlreadyInitializedException_idl__
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+#endif
+
+//=============================================================================
+
+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 an <type scope="com::sun::star::lang">XComponent</type> and this
+ is an <type scope="com::sun::star::lang">XEventListener</type>.
+ Than you should call
+ <member scope="com::sun::star::lang">XComponent::addEventListener()</member>
+ 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
diff --git a/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl
new file mode 100644
index 000000000000..98d72c25e8ad
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__
+#define __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ucb {
+
+//=============================================================================
+/** A command environment that can be used to deal with WebDAV/HTTP specific
+ commands.
+
+ <p>Supply an implementation of this interface together with an
+ <type>XCommandEnvironment</type> implementation, when executing a command
+ using <type>XCommandProcessor</type>.
+*/
+/* published */
+interface XWebDAVCommandEnvironment : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** This method gets called while assembling an 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 aMethod
+ The WebDAV/HTTP method ("GET","PUT","MKCOL",...).
+
+ @return
+ A sequence of header name, header value pairs. The header
+ names must be the plain names and contain no trailing ":".
+ The header value must be an Any containing a string.
+ */
+ sequence<com::sun::star::beans::NamedValue> getUserRequestHeaders(
+ [in] string aURI,
+ [in] string aMethod);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ucb/makefile.mk b/offapi/com/sun/star/ucb/makefile.mk
new file mode 100644
index 000000000000..d5cd58ff685f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/makefile.mk
@@ -0,0 +1,274 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssucb
+PACKAGE=com$/sun$/star$/ucb
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AlreadyInitializedException.idl\
+ AnyCompareFactory.idl\
+ AuthenticationRequest.idl\
+ URLAuthenticationRequest.idl\
+ CachedContentResultSet.idl\
+ CachedContentResultSetFactory.idl\
+ CachedContentResultSetStub.idl\
+ CachedContentResultSetStubFactory.idl\
+ CachedDynamicResultSet.idl\
+ CachedDynamicResultSetFactory.idl\
+ CachedDynamicResultSetStub.idl\
+ CachedDynamicResultSetStubFactory.idl\
+ CHAOSProgressStart.idl\
+ CertificateValidationRequest.idl\
+ Command.idl\
+ CommandAbortedException.idl\
+ CommandEnvironment.idl\
+ CommandFailedException.idl\
+ CommandInfo.idl\
+ CommandInfoChange.idl\
+ CommandInfoChangeEvent.idl\
+ ConnectionMode.idl\
+ Content.idl\
+ ContentAction.idl\
+ ContentCreationError.idl\
+ ContentCreationException.idl\
+ ContentEvent.idl\
+ ContentInfo.idl\
+ ContentInfoAttribute.idl\
+ ContentProvider.idl\
+ ContentProviderInfo.idl\
+ ContentProviderProxy.idl\
+ ContentProviderProxyFactory.idl\
+ ContentResultSet.idl\
+ ContentResultSetCapability.idl\
+ ContentTransmitter.idl\
+ Cookie.idl\
+ CookiePolicy.idl\
+ CookieRequest.idl\
+ CrossReference.idl\
+ DefaultHierarchyDataSource.idl\
+ DocumentHeaderField.idl\
+ DocumentStoreMode.idl\
+ DuplicateCommandIdentifierException.idl\
+ DuplicateProviderException.idl\
+ DynamicResultSet.idl\
+ Error.idl\
+ ExpandContentProvider.idl\
+ ExportStreamInfo.idl\
+ FetchError.idl\
+ FetchResult.idl\
+ FileContent.idl\
+ FileContentProvider.idl\
+ FileSystemNotation.idl\
+ FolderList.idl\
+ FolderListCommand.idl\
+ FolderListEntry.idl\
+ FTPContent.idl\
+ FTPContentProvider.idl\
+ GlobalTransferCommandArgument.idl\
+ GIOContentProvider.idl\
+ GnomeVFSContentProvider.idl\
+ GnomeVFSDocumentContent.idl\
+ GnomeVFSFolderContent.idl\
+ HandleCookiesRequest.idl\
+ HelpContent.idl\
+ HelpContentProvider.idl\
+ HierarchyContentProvider.idl\
+ HierarchyDataReadAccess.idl\
+ HierarchyDataReadWriteAccess.idl\
+ HierarchyDataSource.idl\
+ HierarchyFolderContent.idl\
+ HierarchyLinkContent.idl\
+ HierarchyRootFolderContent.idl\
+ IllegalIdentifierException.idl\
+ InsertCommandArgument.idl\
+ InteractiveAppException.idl\
+ InteractiveAugmentedIOException.idl\
+ InteractiveBadTransferURLException.idl\
+ InteractiveCHAOSException.idl\
+ InteractiveFileIOException.idl\
+ InteractiveIOException.idl\
+ InteractiveLockingException.idl\
+ InteractiveLockingLockedException.idl\
+ InteractiveLockingLockExpiredException.idl\
+ InteractiveLockingNotLockedException.idl\
+ InteractiveNetworkConnectException.idl\
+ InteractiveNetworkException.idl\
+ InteractiveNetworkGeneralException.idl\
+ InteractiveNetworkOffLineException.idl\
+ InteractiveNetworkReadException.idl\
+ InteractiveNetworkResolveNameException.idl\
+ InteractiveNetworkWriteException.idl\
+ InteractiveWrongMediumException.idl\
+ IOErrorCode.idl\
+ Link.idl\
+ ListAction.idl\
+ ListActionType.idl\
+ ListenerAlreadySetException.idl\
+ ListEvent.idl\
+ Lock.idl\
+ LockDepth.idl\
+ LockEntry.idl\
+ LockScope.idl\
+ LockType.idl\
+ MissingInputStreamException.idl\
+ MissingPropertiesException.idl\
+ NameClash.idl\
+ NameClashException.idl\
+ NameClashResolveRequest.idl\
+ NumberedSortingInfo.idl\
+ ODMAContent.idl\
+ ODMAContentProvider.idl\
+ OpenCommandArgument.idl\
+ OpenCommandArgument2.idl\
+ OpenMode.idl\
+ OutgoingMessageState.idl\
+ PackageContentProvider.idl\
+ PackageFolderContent.idl\
+ PackageStreamContent.idl\
+ PersistentPropertySet.idl\
+ PostCommandArgument.idl\
+ PostCommandArgument2.idl\
+ Priority.idl\
+ PropertiesManager.idl\
+ PropertySetRegistry.idl\
+ PropertyValueInfo.idl\
+ PropertyValueState.idl\
+ RecipientInfo.idl\
+ RememberAuthentication.idl\
+ RemoteAccessContentProvider.idl\
+ RemoteContentProviderAcceptor.idl\
+ RemoteContentProviderChangeAction.idl\
+ RemoteContentProviderChangeEvent.idl\
+ RemoteProxyContentProvider.idl\
+ ResultSetException.idl\
+ Rule.idl\
+ RuleAction.idl\
+ RuleOperator.idl\
+ RuleSet.idl\
+ RuleTerm.idl\
+ SearchCommandArgument.idl\
+ SearchCriterium.idl\
+ SearchInfo.idl\
+ SearchRecursion.idl\
+ SendInfo.idl\
+ SendMediaTypes.idl\
+ ServiceNotFoundException.idl\
+ SimpleFileAccess.idl\
+ SortedDynamicResultSetFactory.idl\
+ SortingInfo.idl\
+ Store.idl\
+ SynchronizePolicy.idl\
+ TransferCommandOperation.idl\
+ TransferInfo.idl\
+ TransferResult.idl\
+ TransientDocumentsContentProvider.idl\
+ TransientDocumentsRootContent.idl\
+ TransientDocumentsDocumentContent.idl\
+ TransientDocumentsFolderContent.idl\
+ TransientDocumentsStreamContent.idl\
+ UniversalContentBroker.idl\
+ UnsupportedCommandException.idl\
+ UnsupportedDataSinkException.idl\
+ UnsupportedNameClashException.idl\
+ UnsupportedOpenModeException.idl\
+ VerificationMode.idl\
+ WebDAVContentProvider.idl\
+ WebDAVDocumentContent.idl\
+ WebDAVFolderContent.idl\
+ WelcomeDynamicResultSetStruct.idl\
+ XAnyCompare.idl\
+ XAnyCompareFactory.idl\
+ XCachedContentResultSetFactory.idl\
+ XCachedContentResultSetStubFactory.idl\
+ XCachedDynamicResultSetFactory.idl\
+ XCachedDynamicResultSetStubFactory.idl\
+ XCommandEnvironment.idl\
+ XCommandInfo.idl\
+ XCommandInfoChangeListener.idl\
+ XCommandInfoChangeNotifier.idl\
+ XCommandProcessor.idl\
+ XCommandProcessor2.idl\
+ XContent.idl\
+ XContentAccess.idl\
+ XContentCreator.idl\
+ XContentEventListener.idl\
+ XContentIdentifier.idl\
+ XContentIdentifierFactory.idl\
+ XContentIdentifierMapping.idl\
+ XContentProvider.idl\
+ XContentProviderFactory.idl\
+ XContentProviderManager.idl\
+ XContentProviderSupplier.idl\
+ XContentTransmitter.idl\
+ XDataContainer.idl\
+ XDynamicResultSet.idl\
+ XDynamicResultSetListener.idl\
+ XFetchProvider.idl\
+ XFetchProviderForContentAccess.idl\
+ XFileIdentifierConverter.idl\
+ XInteractionCookieHandling.idl\
+ XInteractionHandlerSupplier.idl\
+ XInteractionReplaceExistingData.idl\
+ XInteractionSupplyAuthentication.idl\
+ XInteractionSupplyAuthentication2.idl\
+ XInteractionSupplyName.idl\
+ XParameterizedContentProvider.idl\
+ XPersistentPropertySet.idl\
+ XProgressHandler.idl\
+ XPropertyMatcher.idl\
+ XPropertyMatcherFactory.idl\
+ XPropertySetRegistry.idl\
+ XPropertySetRegistryFactory.idl\
+ XRecycler.idl\
+ XRemoteContentProviderAcceptor.idl\
+ XRemoteContentProviderActivator.idl\
+ XRemoteContentProviderChangeListener.idl\
+ XRemoteContentProviderChangeNotifier.idl\
+ XRemoteContentProviderConnectionControl.idl\
+ XRemoteContentProviderDistributor.idl\
+ XRemoteContentProviderDoneListener.idl\
+ XRemoteContentProviderSupplier.idl\
+ XSimpleFileAccess.idl\
+ XSimpleFileAccess2.idl\
+ XSimpleFileAccess3.idl\
+ XSortedDynamicResultSetFactory.idl\
+ XSourceInitialization.idl\
+ XWebDAVCommandEnvironment.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/ucb/smart/makefile.mk b/offapi/com/sun/star/ucb/smart/makefile.mk
new file mode 100644
index 000000000000..37172e9e6db7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/smart/makefile.mk
@@ -0,0 +1,49 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssucbs
+PACKAGE=com$/sun$/star$/ucb$/smart
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ Content.idl\
+ XFactory.idl\
+ XContent.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/ui/ActionTrigger.idl b/offapi/com/sun/star/ui/ActionTrigger.idl
new file mode 100644
index 000000000000..fd41e7ae38f2
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTrigger.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTrigger_idl__
+#define __com_sun_star_ui_ActionTrigger_idl__
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/ui/ActionTriggerContainer.idl b/offapi/com/sun/star/ui/ActionTriggerContainer.idl
new file mode 100644
index 000000000000..63ef251ec83d
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerContainer.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTriggerContainer_idl__
+#define __com_sun_star_ui_ActionTriggerContainer_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+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 <type>ActionTriggerContainer</type> are
+ <ul>
+ <li><type>ActionTrigger</type> -
+ represents a simply clickable menu entry</li>
+ <li><type>ActionTriggerSeparator</type> -
+ represents a separator between two entries<br/>
+ This entry type is of interest for components rendering a an
+ <type>ActionTriggerContainer</type>
+ </li>
+ <li><type>ActionTriggerContainer</type> -
+ represents a sub container</li>
+ </ul>
+ </p>
+*/
+published service ActionTriggerContainer
+{
+ /** provides access to the entries of a menu. The element type
+ is <type scope="com::sun::star::beans">XPropertySet</type>.
+ The property set contains attributes like CommandURL, HelpURL
+ as defined in the service <type scope="com::sun::star::ui">ActionTrigger</type>
+ and optional a <type scope="com::sun::star::ui">ActionTriggerContainer</type>.
+ */
+
+ interface ::com::sun::star::container::XIndexContainer;
+
+ /** creates elements to be inserted into the container.
+ <p>Usually, the <method>XMultiServiceFactory::getSupportedServiceNames</method>
+ gives you a <type>ActionTrigger</type> and
+ optionally <type>ActionTriggerContainer</type> and
+ <type>ActionTriggerSeparator</type>
+
+ .</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 themself as listener for the container
+ structure.
+ */
+ [optional] interface ::com::sun::star::container::XContainer;
+};
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparator.idl b/offapi/com/sun/star/ui/ActionTriggerSeparator.idl
new file mode 100644
index 000000000000..94e6cc319f3a
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparator.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>ActionTriggerContainer</type>.
+*/
+published service ActionTriggerSeparator
+{
+ /** determins the type of the separator using constants from
+ <type>ActionTriggerSeparatorType</type>.
+ */
+ [optional, property] short SeparatorType;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
new file mode 100644
index 000000000000..f3ea2240547b
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+#define __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determins the type of a separator in an ActionTriggerContainer.
+ */
+published constants ActionTriggerSeparatorType
+{
+ //-------------------------------------------------------------------------
+ /** a separarator is inserted as a line.
+ */
+ const short LINE = 0;
+ //-------------------------------------------------------------------------
+ /** a separarator is inserted as a space.
+ */
+ const short SPACE = 1;
+ //-------------------------------------------------------------------------
+ /** a linebreak is inserted.
+ */
+ const short LINEBREAK = 2;
+
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ConfigurableUIElement.idl b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
new file mode 100644
index 000000000000..88d2a96416e8
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ConfigurableUIElement_idl__
+#define __com_sun_star_ui_ConfigurableUIElement_idl__
+
+#ifndef __com_sun_star_ui_UIElement_idl__
+#include <com/sun/star/ui/UIElement.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementSettings_idl__
+#include <com/sun/star/ui/XUIElementSettings.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_ui_UIElementType_idl__
+#include <com/sun/star/ui/UIElementType.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+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.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
+ <member scope=com::sun::star::lang>XInitialization::initialize</member> 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 <member>ConfigurationSource</member>. */
+ [property] boolean Persistent;
+
+ /** specifies the configuration source of this user interface element.
+
+ <p>
+ If the property <member>Persistent</member> is <TRUE/> changes on the structure of
+ the user interface element are written back to configuration source. When this property is
+ changed, afterwards <member>XUIElementSettings::updateSettings</member> 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
diff --git a/offapi/com/sun/star/ui/ConfigurationEvent.idl b/offapi/com/sun/star/ui/ConfigurationEvent.idl
new file mode 100644
index 000000000000..9001f3d2b333
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurationEvent.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ConfigurationEvent_idl__
+#define __com_sun_star_ui_ConfigurationEvent_idl__
+
+#ifndef __com_sun_star_container_ContainerEvent_idl__
+#include <com/sun/star/container/ContainerEvent.idl>
+#endif
+
+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.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
diff --git a/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl
new file mode 100644
index 000000000000..09fa6843efb7
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+#define __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+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
+ <type scope="com::sun::star::ui">ActionTriggerContainer</type>;
+ */
+ ::com::sun::star::container::XIndexContainer ActionTriggerContainer;
+ /** provides the current selection inside the source window.
+ */
+ ::com::sun::star::view::XSelectionSupplier Selection;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl
new file mode 100644
index 000000000000..e4fa8e0d7819
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+#define __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+
+module com { module sun { module star { module ui {
+
+
+/** determins the action that is requested from the <type>XContextMenuInterceptor</type>.
+ */
+published enum ContextMenuInterceptorAction
+{
+ /** the <type>XContextMenuInterceptor</type> has ignored the call. The next registered
+ <type>XContextMenuInterceptor</type> should be notified.
+ */
+ IGNORED,
+ /** the context menu must not be executed. The next registered
+ <type>XContextMenuInterceptor</type> should not be notified.
+ */
+ CANCELLED,
+ /**
+ the menu has been modified and should be executed without notifying the next registered
+ <type>XContextMenuInterceptor</type>.
+ */
+ EXECUTE_MODIFIED,
+ /**
+ the menu has been modified and the next registered <type>XContextMenuInterceptor</type>
+ should be notified.
+ */
+ CONTINUE_MODIFIED
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/DockingArea.idl b/offapi/com/sun/star/ui/DockingArea.idl
new file mode 100644
index 000000000000..9a4170dc1173
--- /dev/null
+++ b/offapi/com/sun/star/ui/DockingArea.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.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
diff --git a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
new file mode 100644
index 000000000000..58ff8da73fa0
--- /dev/null
+++ b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XAcceleratorConfiguration_idl__
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+//-----------------------------------------------
+/** provides access to the global shortcut configuration set.
+
+ <p> The GlobalAcceleratorConfiguration service can be created
+ by using an UNO service manager. It provides then access to
+ the global accelerator configuration.</p>
+
+ @since OOo 2.0.0
+*/
+service GlobalAcceleratorConfiguration : XAcceleratorConfiguration
+{};
+
+}; }; }; }; // com.sun.star
+
+#endif
diff --git a/offapi/com/sun/star/ui/ImageType.idl b/offapi/com/sun/star/ui/ImageType.idl
new file mode 100644
index 000000000000..fb35073f9d38
--- /dev/null
+++ b/offapi/com/sun/star/ui/ImageType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+constants ImageType
+{
+ //-------------------------------------------------------------------------
+ /** an image with default size.
+ */
+ const short SIZE_DEFAULT = 0;
+ //-------------------------------------------------------------------------
+ /** an image with big size;
+ */
+ const short SIZE_LARGE = 1;
+ //-------------------------------------------------------------------------
+ /** an image with normal colors.
+ */
+ const short COLOR_NORMAL = 0;
+ //-------------------------------------------------------------------------
+ /** an image with high contrast colors.
+ */
+ const short COLOR_HIGHCONTRAST = 4;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ItemDescriptor.idl b/offapi/com/sun/star/ui/ItemDescriptor.idl
new file mode 100644
index 000000000000..8732f300b96d
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemDescriptor.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ItemDescriptor_idl__
+#define __com_sun_star_ui_ItemDescriptor_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+service ItemDescriptor
+{
+ /** specifies which type this item descriptor belongs to.<p>See constant definition
+ <type>ItemType</type>.</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 <type>ItemStyle</type> 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
diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl
new file mode 100644
index 000000000000..78e11cde05fd
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemStyle.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.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 a 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 <member scope="::com::sun::star::ui::ItemStyle">TEXT</member> 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 <member scope="com::sun::star::ui::ItemStyle">ICON</member> 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;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ItemType.idl b/offapi/com/sun/star/ui/ItemType.idl
new file mode 100644
index 000000000000..35271779ca12
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemType.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ItemType_idl__
+#define __com_sun_star_ui_ItemType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determins the type of an item.
+
+ @since OOo 2.0.0
+ */
+constants ItemType
+{
+ //-------------------------------------------------------------------------
+ /** a normal item
+ */
+ const short DEFAULT = 0;
+ //-------------------------------------------------------------------------
+ /** a separarator is inserted as a line.
+ */
+ const short SEPARATOR_LINE = 1;
+ //-------------------------------------------------------------------------
+ /** a separarator is inserted as a space.
+ */
+ const short SEPARATOR_SPACE = 2;
+ //-------------------------------------------------------------------------
+ /** a linebreak is inserted.
+ */
+ const short SEPARATOR_LINEBREAK = 3;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
new file mode 100644
index 000000000000..3b410d9dc799
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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.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 <type scope="::com::sun:star::frame">
+ CommandGroup</type>.
+ </p>
+
+ @see ::com::sun::star::frame::ModuleManager
+ @see ::com::sun::star::frame::CommandGroup
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
new file mode 100644
index 000000000000..100c31073b7f
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+
+service ModuleUICommandDescription
+{
+ /** provides access to user interface commands of an installed module.
+
+ <p>
+ An implementation must provide a <type scope="com::sun::star::uno">Sequence</type> which
+ has <type scope="com::sun::star::beans">PropertyValue</type> 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
+ identifer for a popup menu. A popup 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
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
new file mode 100644
index 000000000000..44ee22856610
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+#include <com/sun/star/ui/XModuleUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+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 configuratio 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.</br>
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUIConfigurationManager
+{
+ /** 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
+ <type scope="com::sun::star::beans">PropertyValue</type> to be in a working state:
+ <ul>
+ <li><b>DefaultConfigStorage</b>a reference to a <type scope="com::sun::star::embed">Storage</type> that
+ contains the default module user interface configuration settings.</li>
+ <li><b>UserConfigStorage</b>a reference to a <type scope="com::sun::star::embed">Storage</type> 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 <type scope="com::sun::star::embed">XTransactedObject</type> 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>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** 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
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..835fecc0e5ab
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+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.
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUIConfigurationManagerSupplier
+{
+ /** controls module based user interface configuration managers.
+
+ <p>
+ There can only exists 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>
+ */
+ interface XModuleUIConfigurationManagerSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
new file mode 100644
index 000000000000..09c2d9657e49
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+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 amout 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.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 <type scope="com::sun::star::uno">Sequence</type> which
+ has <type scope="com::sun::star::beans">PropertyValue</type> 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 <type scope="com::sun::star::ui">DockingArea</type>
+ which specifies the docking area where the window is docked.</li>
+ <li><b>DockPos</b><br>a <type scope="com::sun::star::awt">Point</type> 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 <type scope="com::sun::star::awt">Size</type> 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 <type scope="com::sun::star::awt">Point</type> which specifies the
+ floating position in pixel of the window.</li>
+ <li><b>Size</b><br>a <type scope="com::sun::star::awt">Size</type> 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</br><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
diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl
new file mode 100644
index 000000000000..9853b43fc769
--- /dev/null
+++ b/offapi/com/sun/star/ui/UICategoryDescription.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_UICategoryDescription_idl__
+#define __com_sun_star_ui_UICategoryDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service 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 service is normally used by UI
+ implementations which provides all commands to a user.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+//=============================================================================
+
+service UICategoryDescription
+{
+ /** 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
+ <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ function. The module specifier can be retrieved from the
+ <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to
+ <type scope="com::sun:star::ui">ModuleUICommandDescription</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
diff --git a/offapi/com/sun/star/ui/UICommandDescription.idl b/offapi/com/sun/star/ui/UICommandDescription.idl
new file mode 100644
index 000000000000..76d7c179731b
--- /dev/null
+++ b/offapi/com/sun/star/ui/UICommandDescription.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UICommandDescription_idl__
+#define __com_sun_star_ui_UICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service 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 service provides access to the user interface commands that
+ are part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UICommandDescription
+{
+ /** 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 <member scope="com::sun::star::container">XNameAccess::getByName()</member> function.
+ The module specifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to <type scope="com::sun:star::ui">ModuleUICommandDescription</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl
new file mode 100644
index 000000000000..4e9b56cd4c97
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_UIConfigurationManager_idl__
+#define __com_sun_star_ui_UIConfigurationManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager which controls
+ all customizeable user interface elements of an object.
+
+ @since OOo 2.0.0
+*/
+
+service UIConfigurationManager
+{
+ /** 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
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElement.idl b/offapi/com/sun/star/ui/UIElement.idl
new file mode 100644
index 000000000000..580a660f734e
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElement.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElement_idl__
+#define __com_sun_star_ui_UIElement_idl__
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+//=============================================================================
+
+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.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
+ <member scope=com::sun::star::lang>XInitialization::initialize</member> 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
diff --git a/offapi/com/sun/star/ui/UIElementFactory.idl b/offapi/com/sun/star/ui/UIElementFactory.idl
new file mode 100644
index 000000000000..5e0e171c7da1
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactory.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#include <com/sun/star/ui/XUIElementFactory.idl>
+#endif
+
+//=============================================================================
+
+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 <type>UIElementFactoryManager</type>
+ service to provide access to itself.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UIElementFactory
+{
+ /** this interface provides a function to create and initalize new
+ instances of user interface elements.
+
+ @see XUIElementFactory
+ */
+ interface com::sun::star::ui::XUIElementFactory;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementFactoryManager.idl b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
new file mode 100644
index 000000000000..c814a58f6b8e
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementFactoryRegistration_idl__
+#include <com/sun/star/ui/XUIElementFactoryRegistration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a user interface factory manager that controls all registered user
+ interface element factories.
+
+ <p>An implementation is usually obtained from a
+ <type scope="com::sun::star::lang">ServiceManager</type>.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UIElementFactoryManager
+{
+ /** 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
diff --git a/offapi/com/sun/star/ui/UIElementSettings.idl b/offapi/com/sun/star/ui/UIElementSettings.idl
new file mode 100644
index 000000000000..575ff9ca1d71
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementSettings.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementSettings_idl__
+#define __com_sun_star_ui_UIElementSettings_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleComponentFactory_idl__
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+#endif
+
+//=============================================================================
+
+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.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 <type scope="com::sun::star::beans">PropertyValue</type>.
+ The properties insides the sequence are defined by the service <type scope="com::sun::star::ui">ItemDescriptor</type>.
+ It depends on the function which provides these service if the container is shareable read-only or exclusive writeable.
+
+ @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 a its user interface name on the window title, when it is in floating mode.
+ </p>
+ */
+ [optional, property] string UIName;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementType.idl b/offapi/com/sun/star/ui/UIElementType.idl
new file mode 100644
index 000000000000..0b4301f54f2a
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementType.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: UIElementType.idl,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.0
+ */
+constants UIElementType
+{
+ //-------------------------------------------------------------------------
+ /** unkown 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 popup 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
diff --git a/offapi/com/sun/star/ui/WindowContentFactory.idl b/offapi/com/sun/star/ui/WindowContentFactory.idl
new file mode 100644
index 000000000000..c1ea6a94d9b8
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowContentFactory.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_WindowContentFactory_idl__
+#define __com_sun_star_ui_WindowContentFactory_idl__
+
+#ifndef __com_sun_star_lang_XSingleComponentFactory_idl__
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+
+service WindowContentFactory : com::sun::star::lang::XSingleComponentFactory
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/WindowStateConfiguration.idl b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
new file mode 100644
index 000000000000..c5243e4144fa
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_WindowStateConfiguration_idl__
+#define __com_sun_star_ui_WindowStateConfiguration_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides window based information about user interface
+ elements.
+
+ <p>
+ OpenOffice.org has an amout 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 OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service WindowStateConfiguration
+{
+ /** 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 <member scope="com::sun::star::container">XNameAccess::getByName()</member> function.
+ The module specifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to a <type scope="com::sun:star::ui">ModuleWindowStateConfiguration</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
new file mode 100644
index 000000000000..2969f22a7f8c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
@@ -0,0 +1,304 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_XAcceleratorConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+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 configration access modify the
+ the configuration set inside memory only. You have to use
+ the <type scope="com::sun::star::util">XFlushable</type> interface
+ (which must be available at the same implementation object too), to
+ make it persistent.
+ </p>
+
+ @see AcceleratorConfiguration
+ @see <type scope="dom::sun::star::util">XFlushable</type>
+
+ @since OOo 2.0.0
+*/
+interface XAcceleratorConfiguration
+{
+ //-------------------------------------------
+ /** return the list of all key events, which
+ are available at this configration set.
+
+ <p>
+ The key events are the "primary keys" of this configuration sets.
+ Means: Commands are registerd 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 occures.</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 cant 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 isnt a valid one. Commands can be
+ checked only, if they are empty. Because every URL schema can be used
+ by commands in general, so its not possible to validate it.
+ */
+ void setKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent,
+ [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------
+ /** 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 normaly by this interface.
+
+ <p>
+ It can be used to implement collision handling, if more then one
+ key event match to the same command. The returned list contains all
+ possible key events - and the outside code can select an 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 <type scope="com::sun::star::awt">KeyEvent</type> structures,
+ where the pecified command is registered for.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the specified command is empty. It cant 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 isnt empty but does not
+ occure 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 then one key event
+ is bound to a command - a selection is done inside this method.
+ This internal selection cant be influenced from outside.
+ </p>
+
+ @attention Because its not defined, that any command (e.g. configured inside a menu)
+ must have an accelerator - we cant reject the call if at least one command
+ does not occure 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 cant 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);
+
+ //-------------------------------------------
+ /** search for an 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 normaly 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 isnt 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
+ <type scope="com::sun::star::util::">XConfigurationPersistence.load()</type>
+ and <type scope="com::sun::star::util::">XConfigurationPersistence.store()</type>.
+ */
+ 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
diff --git a/offapi/com/sun/star/ui/XContextMenuInterception.idl b/offapi/com/sun/star/ui/XContextMenuInterception.idl
new file mode 100644
index 000000000000..ab1b0416503f
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterception.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XContextMenuInterception_idl__
+#define __com_sun_star_ui_XContextMenuInterception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+
+ published interface XContextMenuInterceptor;
+/** This interface enables an object to get interceptors registered that
+ change context menue or prevent them from beeing executed.
+ */
+published interface XContextMenuInterception : ::com::sun::star::uno::XInterface
+{
+ /** registers an <type>XContextMenuInterceptor</type>, which will become
+ the first interceptor in the chain of registered interceptors.
+ */
+
+ void registerContextMenuInterceptor( [in]XContextMenuInterceptor Interceptor);
+ /** removes an <type>XContextMenuInterceptor</type> which was previously registered
+ using <member>XContextMenuInterception::registerContextMenuInterceptor</member>.
+
+ <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
diff --git a/offapi/com/sun/star/ui/XContextMenuInterceptor.idl b/offapi/com/sun/star/ui/XContextMenuInterceptor.idl
new file mode 100644
index 000000000000..832197aa01b5
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterceptor.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XContextMenuInterceptor_idl__
+#define __com_sun_star_ui_XContextMenuInterceptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+#include <com/sun/star/ui/ContextMenuInterceptorAction.idl>
+#endif
+#ifndef __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+#include <com/sun/star/ui/ContextMenuExecuteEvent.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** This interface enables the object to be registerd as interceptor to
+ change context menues 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
+ beeing modified or may ignore the call.
+ */
+ ContextMenuInterceptorAction notifyContextMenuExecute([in]ContextMenuExecuteEvent aEvent);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
new file mode 100644
index 000000000000..8e6d9a01a4ac
--- /dev/null
+++ b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
+#define __com_sun_star_ui_XDockingAreaAcceptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+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.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 <type scope="com::sun::star::awt">Rectangle</type> parameter is
+ filled by the caller with pixel data. The members of
+ <type scope="com::sun::star::awt">Rectangle</type> 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 <type scope="com::sun::star::awt">Rectangle</type>
+ parameter is filled by the caller with pixel data. The members of
+ <type scope="com::sun::star::awt">Rectangle</type> 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
diff --git a/offapi/com/sun/star/ui/XImageManager.idl b/offapi/com/sun/star/ui/XImageManager.idl
new file mode 100644
index 000000000000..2c5f3882fffe
--- /dev/null
+++ b/offapi/com/sun/star/ui/XImageManager.idl
@@ -0,0 +1,256 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XImageManager_idl__
+#define __com_sun_star_ui_XImageManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ImageType_idl__
+#include <com/sun/star/ui/ImageType.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies access functions to an images manager interface to add,
+ replace and remove images assocations to command URLs.
+
+ <p>
+ An image manager controls a number of image sets which are specified
+ by a <type>ImageType</type>.
+ </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();
+
+ /** 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 ResourceURL
+ 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 aCommandURL ) 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 <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the image manager is associated with a read-only configuration
+ manager a <type scope="com::sun::star::lang">IllegalAccessException</type>
+ 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 aCommandURLSequence
+ a sequence of command URLs for which the images should be removed.
+
+ <p>
+ If the <var>aCommandURLSequence</var> contains an invalid command URL a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type> is
+ thrown. If the image manager is associated with a read-only configuration
+ manager a <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is thrown.
+ </p>
+ */
+ void removeImages( [in] short nImageType, [in] sequence< string > aResourceURLSequence ) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** inserts new image/command associations to a image manager.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs which specify which commands get an 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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> 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 <type scope="com::sun::star::container">XNameAccess</type>
+ holds the information. The access key is a command URL and provides a
+ <type scope="::com::sun::star::graphic">XGraphic</type>. This container
+ is placed into the
+ <member scope="com::sun::star::ui">ConfigurationEvent::Element</member>.
+ The image set which has been changed is put into the
+ <member scope="com::sun::star::ui">ConfigurationEvent::aInfo</member>.
+ </p>
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+ /** allows controlling or observing the lifetime of an imahge manager
+ instance.
+
+ <p>The owner of the object may dispose of this object using
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** initializes an image manager instance.
+
+ An image manager instance must be initialized using
+ <member scope=com::sun::star::lang>XInitialization::initialize</member>
+ 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
+ <type scope="com::sun::star::embed">XStorage</type> property which
+ provides access to the configuration storage of the module.
+ </li>
+ <li><b>UserRootCommit</b>specifies an optional
+ <type scope="com::sun::star::embed">XTransactedObject</type>
+ property which makes it possible to commit a root storage.
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
new file mode 100644
index 000000000000..a6b6fd32ac64
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+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 configration 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 changeelements 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.</br>
+ </p>
+
+ @since OOo 2.0.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
+ resourcce 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
+ resourcce 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
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..0a6b9cfef0dc
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementExceptio.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve user interface configuration managers related to
+ OpenOffice.org modules.
+
+ @since OOo 2.0.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
+ <type scope=com::sun::star::frame>ModuleManager</type> service.
+
+ @returns
+ an object implementing
+ <type scope="::com::sun::star::ui">ModuleUIConfigurationManager</type>
+ service. If the provided module identifier is unknown a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+ */
+ XUIConfigurationManager getUIConfigurationManager( [in] string ModuleIdentifier ) raises ( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XToolPanel.idl b/offapi/com/sun/star/ui/XToolPanel.idl
new file mode 100644
index 000000000000..261f4c20413d
--- /dev/null
+++ b/offapi/com/sun/star/ui/XToolPanel.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/ui/XUIConfiguration.idl b/offapi/com/sun/star/ui/XUIConfiguration.idl
new file mode 100644
index 000000000000..d8c38e43bb70
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfiguration.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#define __com_sun_star_ui_XUIConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** supports to notify other implementations about changes of a user
+ interface configuration manager.
+
+ <p>
+ The <type>XUIConfiguration</type> 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.0
+*/
+
+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
diff --git a/offapi/com/sun/star/ui/XUIConfigurationListener.idl b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
new file mode 100644
index 000000000000..cc8a8a14eed2
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#define __com_sun_star_ui_XUIConfigurationListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ConfigurationEvent_idl__
+#include <com/sun/star/ui/ConfigurationEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** supplies information about changes of a user interface
+ configuration manager.
+
+ @since OOo 2.0.0
+*/
+
+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.
+ */
+ [oneway] 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.
+ */
+ [oneway] 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.
+ */
+ [oneway] void elementReplaced( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
new file mode 100644
index 000000000000..3958441ee486
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
@@ -0,0 +1,274 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#define __com_sun_star_ui_XUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+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.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
+ <value scope=com::sun::star::ui>UIElementType::UNKNOWN</value>
+ must be provided.
+
+ @return
+ returns all user interface elements within the user interface
+ configuration manager that meet the given ElementType
+ specification. <p>The following
+ <type scope="com::sun::star::beans">PropertyValue</type> 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 <type>UIElementSettings</type>.
+ */
+ ::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
+ resourcce 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
+ resourcce 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 writeable.
+ 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 <type>UIElementSettings</type>. If the settings data
+ cannot be found a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or
+ describes an unknown type a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+
+ @param aNewData
+ the new settings data of an existing user interface element, which
+ implements <type>UIElementSettings</type>.
+
+ <p>
+ If the settings data cannot be found a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or describes
+ an unknown type a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> 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
+ <type scope="com::sun::star::container">NoSuchElementException</type> is
+ thrown. If the <member>ResourceURL</member> is not valid or describes an
+ unknown type a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> 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 ResourceURL
+ a resource URL which identifies the new user interface element.
+
+ @param aNewData
+ the settings data of the new user interface element, which implements
+ <type>UIElementSettings</type>.
+
+ <p>
+ If the settings data is already present a
+ <type scope="com::sun::star::container">ElementExistException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or describes
+ an unknown type a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> 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::uno::XInterface 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
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..8ffc2482d834
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve the user interface configuration manager related to
+ an object.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
+{
+ //----------------------------------------------------------------------
+ /** returns the user interface configuration manager related to the
+ object.
+
+ @returns
+ an object implementing
+ <type scope="::com::sun::star::ui">UIConfigurationManager</type>
+ service.
+ */
+ XUIConfigurationManager getUIConfigurationManager();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
new file mode 100644
index 000000000000..696362d0882c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#define __com_sun_star_ui_XUIConfigurationPersistence_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+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.0
+*/
+
+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 <type>XUIConfigurationManager</type>
+ interface.
+ </p>
+ */
+ void reload() raises ( ::com::sun::star::uno::Exception );
+
+ /** stores the configuration data to the storage provided by
+ <member>setStorage</member> from the storage and initialize the
+ user interface configuration manager instance with the newly
+ data. This call can throw an
+ <type scope="com::sun::star::io">IOException</type> if
+ <member>store</member> 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 <member>setStorage</member>. Can
+ be used to make copy of the current user interface configuration
+ data to another storage. This call will throw an
+ <type scope="com::sun::star::io">IOException</type> 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 <member>store</member> 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
diff --git a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
new file mode 100644
index 000000000000..2f07b995c486
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#define __com_sun_star_ui_XUIConfigurationStorage_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+//=============================================================================
+
+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.0
+*/
+
+interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface
+{
+ /** connects a storage to the user interface configuration manager
+ which is used on subsequent calls of <member>load</member> and
+ <member>store</member>.
+
+ @param Storage
+ all configuration data is loaded/stored from/into this storage.
+ If the storage is in read/write mode <member>load</member>
+ and <member>store</member> can be used otherwise only
+ <member>load</member> 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 <member>store</member>.
+ 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 <member>storeToStorage</member>.
+ </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
diff --git a/offapi/com/sun/star/ui/XUIElement.idl b/offapi/com/sun/star/ui/XUIElement.idl
new file mode 100644
index 000000000000..26536a85f29f
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElement.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#define __com_sun_star_ui_XUIElement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::awt">XSystemDependentMenuBarPeer</type>
+ which supports to retrieve the system dependent menu handle.
+ A floating window or a toolbar user interface element return a
+ <type scope=com::sun::star::awt>XWindow</type>
+ 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
diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl
new file mode 100644
index 000000000000..7a86842508ac
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactory.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#define __com_sun_star_ui_XUIElementFactory_idl__
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>UIElementFactoryManager</type> 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.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 resourcce 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
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 <type scope="com::sun::star::frame">XFrame</type>
+ 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>
+ </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
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ 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
diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
new file mode 100644
index 000000000000..1d945ad02609
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XUIElementFactoryRegistration_idl__
+#define __com_sun_star_frame_XUIElementFactoryRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#include <com/sun/star/ui/XUIElementFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+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 identifiy 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.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 propert 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 ModuleName
+ an optional module identifier. This value can remain empty, if a generic factory is requested.
+ The module identifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type> 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 <type scope="com::sun::star::frame">ModuleManager</type> 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 aModuleName
+ 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 deregisted. The module identifier can be retrieved
+ from the <type scope="com::sun::star::frame">ModuleManager</type> 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 aModuleIdentifier ) raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIElementSettings.idl b/offapi/com/sun/star/ui/XUIElementSettings.idl
new file mode 100644
index 000000000000..082598935500
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementSettings.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElementSettings_idl__
+#define __com_sun_star_ui_XUIElementSettings_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+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.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 <type>UIElementSettings</type> 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 writeable.
+ 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 <member>Persistent</member>.
+
+ </p>
+
+ @see com::sun::star::ui::UIElementSettings
+ */
+ void setSettings( [in] com::sun::star::container::XIndexAccess UISettings );
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIFunctionListener.idl b/offapi/com/sun/star/ui/XUIFunctionListener.idl
new file mode 100644
index 000000000000..9325e59af751
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIFunctionListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XUIFunctionListener_idl__
+#define __com_sun_star_frame_XUIFunctionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+ 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.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
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 000000000000..8c2efee4f993
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..d3fe967311f0
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ControlActions.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialog_ControlActions_idl__
+#define __com_sun_star_ui_dialog_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
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 000000000000..107ec70ca2cc
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+#define __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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 <type>com::sun::star::lang::EventObject</type>
+*/
+struct DialogClosedEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /**
+ @param DialogResult
+ Identifies the result of a dialog.
+
+ @see <type>ExecutableDialogResults</type>
+ */
+ short DialogResult;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..c509e50b7576
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+#define __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..3d8caf3a08ef
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>XExecutableDialog</type>.
+*/
+
+published constants ExecutableDialogResults
+{
+ //-------------------------------------------------------------------------
+ /** The user canceled the dialog.
+ */
+ const short CANCEL = 0;
+
+ //-------------------------------------------------------------------------
+ /** The user acknowledged the dialog.
+ */
+ const short OK = 1;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
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 000000000000..970d70e3c4b8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..230f289c10f4
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FilePicker_idl__
+#define __com_sun_star_ui_dialogs_FilePicker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+//=============================================================================
+
+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 interface XFilePicker;
+ published interface XFilePickerNotifier;
+ published interface XFilePickerControlAccess;
+ published interface XFilterManager;
+ published interface XFilePreview;
+ published interface XFilterGroupManager;
+
+published service FilePicker
+{
+ //-------------------------------------------------------------------------
+ /** Allows to associate a help URL with the file picker instance.
+ */
+ [optional, property] string HelpURL;
+
+ //-------------------------------------------------------------------------
+ /** Provides access to the basic FilePicker functionality.
+ */
+ interface XFilePicker;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to request notifications about changes.
+ */
+ interface XFilePickerNotifier;
+
+ //-------------------------------------------------------------------------
+ /** 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;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability manage additional controls (checkboxes, listboxes etc.)
+ offered by an extended FilePicker, these controls extend the subset of
+ common controls that a FilePicker usually supports.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+
+ @deprecated
+ */
+ [optional] interface XFilePickerControlAccess;
+
+ //-------------------------------------------------------------------------
+ /** An interface which allows manipulation of groups of filters
+ */
+ [optional] interface XFilterGroupManager;
+
+ //-------------------------------------------------------------------------
+ /** 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 existens of a file and issue a warning if a file with the same
+ name already exist.</p>
+
+ @see com::sun::star::ui::dialogs::TemplateDescription
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For canceling a running dialog instance.
+ <p>This may be usefull for automatic test tools for instance.</p>
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..d57f08a921b6
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+#define __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..9d1b006c0e64
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type scope="com::sun::star::ui::dialogs">XFilePreview</type>.
+ */
+
+published constants FilePreviewImageFormats
+{
+ //---------------------------------------------------------------------
+ /** A OpenOffice 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
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 000000000000..fc0f6c480b84
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+#define __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::document">MediaDescriptor</type>
+ and can be queried from the <type scope="com::sun::star::document">MediaDescriptor</type> by
+ the component that implements <type scope="com::sun::star::document">XFilter</type>.</p>
+
+ <p>The application will set the <type scope="com::sun::star::document">MediaDescriptor</type>
+ using the interface <type scope="com::sun::star::beans">XPropertyAccess</type> and then
+ call <method>XExecutableDialog::execute<method>.</p>
+
+ <p>If that method returns <code>ExecutableDialogResults::OK</code>,
+ the application will retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type>
+ back using the interface <type scope="com::sun::star::beans">XPropertyAccess</type>. The filter
+ operation is than continued, using the new <type scope="com::sun::star::document">MediaDescriptor</type>.</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
+ <type scope="com::sun::star::document">MediaDescriptor</type> before executing
+ the dialog and to retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ afterwards.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+
+ //-------------------------------------------------------------------------
+ /** this interface executes a dialog that displays the options
+ for a filter.
+ If <method>XExecutableDialog::execute<method>
+ returns <code>ExecutableDialogResults::OK</code>,
+ the options can be retrieved by calling <method scope="com::sun::star::beans">XPropertyAccess::getPropertyValues<method>.
+ */
+ interface ::com::sun::star::ui::dialogs::XExecutableDialog;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..adfad7fed497
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FolderPicker_idl__
+#define __com_sun_star_ui_dialogs_FolderPicker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+ published interface XFolderPicker;
+
+//=============================================================================
+/** A FolderPicker service.
+*/
+
+published service FolderPicker
+{
+ //-------------------------------------------------------------------------
+ /** Provides the ability to execute a FolderPicker dialog and
+ browse for and select folders.
+ */
+ interface XFolderPicker;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+
+ //-------------------------------------------------------------------------
+ /** For canceling a running dialog instance.
+ <p>This may be usefull for automatic test tools for instance.</p>
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..7bd5e5da0219
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialog_ListboxControlActions_idl__
+#define __com_sun_star_ui_dialog_ListboxControlActions_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** These constants are deprecated and should not be used anymore. They're superseeded
+ by <type>ControlActions</type>.
+ @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
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 000000000000..615fbe055b8e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..4e6b13f44ca2
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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.
+ */
+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.
+ */
+ 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.
+ */
+ createMultiplePathsWizard(
+ [in] sequence< sequence< short > > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
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 000000000000..34c0d8074889
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Wizard</type>
+ */
+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
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 000000000000..271a006346b7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Wizard</type>'s page
+ */
+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
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 000000000000..e844ab96b77c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+#include <com/sun/star/ui/dialogs/XDialogClosedListener.idl>
+#endif
+
+//=============================================================================
+
+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 abitrary 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
+
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 000000000000..6c7eeddf3972
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XControlAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+ decription 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
+
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 000000000000..c632f4fa1f8b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XControlInformation_idl__
+#define __com_sun_star_ui_dialogs_XControlInformation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..0f03d37efea2
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+#define __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+#include <com/sun/star/ui/dialogs/DialogClosedEvent.idl>
+#endif
+
+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
+ <type>DialogClosedEvent</type> when a <type>XAsynchronousExecutableDialog</type> is closed.</p>
+
+ @see <type>XAsynchronousExecutableDialog</type>
+ @see <type>DialogClosedEvent</type>
+*/
+
+
+interface XDialogClosedListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** A client receives this event if a dialog is closed.
+
+ @param aEvent
+ of type <type>DialogClosedEvent</type> that describes the event
+
+ @see <type>EndDialogEvent</type>
+ */
+ void dialogClosed( [in] DialogClosedEvent aEvent );
+};
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..556a9bf8cc0f
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 abitrary 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 <type>ExecutableDialogResults</type>.
+ */
+ short execute();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
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 000000000000..d35683f71fc3
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+//=============================================================================
+
+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 multiselection mode
+
+ <p>If the multiselection 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 multiselection mode.</p>
+ <p>A value of <FALSE/> disables the multiselection 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 be
+ 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 be 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, conform 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 multiple files are selected
+ an empty sequence 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. There are two different cases:
+ <ol>
+ <li>Multiselection is disabled:
+ The first and only entry of the sequence contains the complete
+ path/filename in URL format.</li>
+
+ <li>Multiselection is enabled:
+ If only one file is selected, the first entry
+ of the sequence contains the complete path/filename in URL format.
+ If multiple files are selected, the first entry of the sequence contains
+ the path in URL format, and the other entries contains the names of the selected
+ files without path information.</li>
+ </ol>
+
+ <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>
+ */
+ sequence< string > getFiles();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
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 000000000000..b80c198a5fa4
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker2_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker2_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** extends file picker interface to workaround some design problems.
+*/
+interface XFilePicker2 : ::com::sun::star::ui::dialogs::XFilePicker
+{
+ //-------------------------------------------------------------------------
+ /** Returns a sequence of the selected files including path information in
+ URL format, conform 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 URL's for every selected file.
+ </p>
+
+ @returns
+ <p>A list of all selected file as complete URL's.</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
+
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 000000000000..1c57cce3243d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+#endif
+
+//=============================================================================
+
+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 <type>ControlActions</type>.
+ 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 aControlId, [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 <type>ControlActions</type>.
+ 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 specidfied 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 aControlId, [in] boolean bEnable );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
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 000000000000..cacdcd1afde5
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+#include <com/sun/star/ui/dialogs/FilePickerEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** Interface to be implemented by a FilePicker listener.
+
+ <p> The <type>XFilePickerListener</type> 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 <type>FilePickerEvent</type> 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 <type>FilePickerEvent</type> 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 <type>FilePickerEvent</type> 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 <type>FilePickerEvent</type> 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
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 000000000000..862e92b7084d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+#include <com/sun/star/ui/dialogs/XFilePickerListener.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XFilePickerListener</type> interface of the listener that
+ wants to receive events of type <type>FilePickerEvent</type>.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ [oneway] void addFilePickerListener( [in] XFilePickerListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** Interface for clients to unregister as XFilePickerListener.
+
+ @param xListener
+ The <type>XFilePickerListener</type> interface of the listener that
+ wants to receive events of type <type>FilePickerEvent</type>.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ [oneway] void removeFilePickerListener( [in] XFilePickerListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..935b1528db1e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePreview_idl__
+#define __com_sun_star_ui_dialogs_XFilePreview_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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.
+
+ @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 heigth 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 vaue 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
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 000000000000..75e5b6458f3d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies an interface which allows manipulation of groups of filters
+ for the <type>FilePicker</type> 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 <arg>sGroupTitle</arg>, 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 );
+};
+
+//.............................................................................
+}; }; }; }; };
+//.............................................................................
+
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 000000000000..8e418b7519f0
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilterManager_idl__
+#define __com_sun_star_ui_dialogs_XFilterManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 expresion. 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
+
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 000000000000..2265ecab2346
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_XFolderPicker_idl__
+#define __com_sun_star_ui_dialogs_XFolderPicker_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+//=============================================================================
+
+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, conform 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 conform 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
+
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 000000000000..445f7bbf2a44
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -0,0 +1,228 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Wizard</type> 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 <quot><code>...</code></quot> indicating that the order of steps is undecided.</p>
+
+ <p>An <type>XWizardController</type> can declare a certain path as active path by calling the <member>activatePath</member>
+ 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 <member>enablePage</member> 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 <member>XWizardController::canAdvance</member> and <member>XWizardPage::canAdvance</member>
+ methods. More sophisticated wizard logic, however, will need manual calls to the <member>enableButton</member> 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
+ */
+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 <type>WizardButton</type> constants. Must not be
+ <member>WizardButton::NONE</member>.
+ @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 <member>XWizardPage::canAdvance</member>
+ 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 <member>Wizard::createMultiplePathsWizard</member> 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
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 000000000000..6a51a67360fe
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Wizard</type>.
+ */
+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 ultimatively veto finishing the wizard.</p>
+ */
+ boolean confirmFinish();
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
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 000000000000..149f8c14709b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>Wizard</type>
+ */
+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 <type>WizardTravelType</type> contants 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 <member>commitPage</member>
+ method.</p>
+ */
+ boolean canAdvance();
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/makefile.mk b/offapi/com/sun/star/ui/dialogs/makefile.mk
new file mode 100644
index 000000000000..07d762fb0ec6
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/makefile.mk
@@ -0,0 +1,79 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssuidialogs
+PACKAGE=com$/sun$/star$/ui$/dialogs
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FilterOptionsDialog.idl\
+ ControlActions.idl\
+ ExecutableDialogException.idl\
+ ExecutableDialogResults.idl\
+ XExecutableDialog.idl\
+ CommonFilePickerElementIds.idl\
+ ExtendedFilePickerElementIds.idl\
+ FilePicker.idl\
+ FilePickerEvent.idl\
+ FilePreviewImageFormats.idl\
+ FolderPicker.idl\
+ ListboxControlActions.idl\
+ TemplateDescription.idl\
+ XFilePicker.idl\
+ XFilePicker2.idl\
+ XFilePickerControlAccess.idl \
+ XFilePickerListener.idl\
+ XFilePickerNotifier.idl\
+ XFilePreview.idl\
+ XFilterGroupManager.idl\
+ XFilterManager.idl\
+ XFolderPicker.idl\
+ XControlAccess.idl\
+ XControlInformation.idl \
+ XAsynchronousExecutableDialog.idl \
+ XDialogClosedListener.idl \
+ DialogClosedEvent.idl \
+ XWizard.idl \
+ XWizardController.idl \
+ Wizard.idl \
+ XWizardPage.idl \
+ WizardButton.idl \
+ WizardTravelType.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/ui/makefile.mk b/offapi/com/sun/star/ui/makefile.mk
new file mode 100644
index 000000000000..313d74dcd9e8
--- /dev/null
+++ b/offapi/com/sun/star/ui/makefile.mk
@@ -0,0 +1,93 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssui
+PACKAGE=com$/sun$/star$/ui
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ActionTrigger.idl \
+ ActionTriggerContainer.idl \
+ ActionTriggerSeparator.idl \
+ ActionTriggerSeparatorType.idl \
+ ConfigurableUIElement.idl \
+ ConfigurationEvent.idl \
+ ContextMenuExecuteEvent.idl \
+ ContextMenuInterceptorAction.idl \
+ DockingArea.idl \
+ GlobalAcceleratorConfiguration.idl \
+ ImageType.idl \
+ ItemDescriptor.idl \
+ ItemStyle.idl \
+ ItemType.idl \
+ ModuleUICategoryDescription.idl \
+ ModuleUICommandDescription.idl \
+ ModuleUIConfigurationManager.idl \
+ ModuleUIConfigurationManagerSupplier.idl \
+ ModuleWindowStateConfiguration.idl \
+ UICategoryDescription.idl \
+ UICommandDescription.idl \
+ UIConfigurationManager.idl \
+ UIElement.idl \
+ UIElementFactory.idl \
+ UIElementFactoryManager.idl \
+ UIElementSettings.idl \
+ UIElementType.idl \
+ WindowContentFactory.idl \
+ WindowStateConfiguration.idl \
+ XAcceleratorConfiguration.idl \
+ XContextMenuInterception.idl \
+ XContextMenuInterceptor.idl \
+ XDockingAreaAcceptor.idl \
+ XImageManager.idl \
+ XModuleUIConfigurationManager.idl \
+ XModuleUIConfigurationManagerSupplier.idl \
+ XUIConfiguration.idl \
+ XUIConfigurationListener.idl \
+ XUIConfigurationManager.idl \
+ XUIConfigurationManagerSupplier.idl \
+ XUIConfigurationPersistence.idl \
+ XUIConfigurationStorage.idl \
+ XUIElement.idl \
+ XUIElementFactory.idl \
+ XUIElementFactoryRegistration.idl \
+ XUIElementSettings.idl \
+ XUIFunctionListener.idl \
+ XToolPanel.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/util/AliasProgrammaticPair.idl b/offapi/com/sun/star/util/AliasProgrammaticPair.idl
new file mode 100644
index 000000000000..6ceaa1f29ee2
--- /dev/null
+++ b/offapi/com/sun/star/util/AliasProgrammaticPair.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <type>XLocalizedAliases</type>.
+ */
+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
diff --git a/offapi/com/sun/star/util/AtomClassRequest.idl b/offapi/com/sun/star/util/AtomClassRequest.idl
new file mode 100644
index 000000000000..9135ed26ddf4
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomClassRequest.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>AtomClassRequest::atoms</member>.
+ */
+ long atomClass;
+
+ /** the atoms requested from class <member>AtomClassRequest::atomClass</member>.
+ */
+ sequence< long > atoms;
+};
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
diff --git a/offapi/com/sun/star/util/AtomDescription.idl b/offapi/com/sun/star/util/AtomDescription.idl
new file mode 100644
index 000000000000..5c8878f95139
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomDescription.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/CellProtection.idl b/offapi/com/sun/star/util/CellProtection.idl
new file mode 100644
index 000000000000..1f0775717195
--- /dev/null
+++ b/offapi/com/sun/star/util/CellProtection.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/ChangesEvent.idl b/offapi/com/sun/star/util/ChangesEvent.idl
new file mode 100644
index 000000000000..e17893d52115
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesEvent.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_ChangesEvent_idl__
+#define __com_sun_star_util_ChangesEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_ElementChange_idl__
+#include <com/sun/star/util/ElementChange.idl>
+#endif
+
+#ifndef __com_sun_star_util_ChangesSet_idl__
+#include <com/sun/star/util/ChangesSet.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/ChangesSet.idl b/offapi/com/sun/star/util/ChangesSet.idl
new file mode 100644
index 000000000000..439ff2e31861
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesSet.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_ChangesSet_idl__
+#define __com_sun_star_util_ChangesSet_idl__
+
+#ifndef __com_sun_star_util_ElementChange_idl__
+#include <com/sun/star/util/ElementChange.idl>
+#endif
+
+/*
+#ifndef __com_sun_star_util_XChangesSet_idl__
+#include <com/sun/star/util/XChangesSet.idl>
+#endif
+*/
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/CloseVetoException.idl b/offapi/com/sun/star/util/CloseVetoException.idl
new file mode 100644
index 000000000000..49608f76b0be
--- /dev/null
+++ b/offapi/com/sun/star/util/CloseVetoException.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_CloseVetoException_idl__
+#define __com_sun_star_util_CloseVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/Color.idl b/offapi/com/sun/star/util/Color.idl
new file mode 100644
index 000000000000..572324a10715
--- /dev/null
+++ b/offapi/com/sun/star/util/Color.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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>alpha channel
+ <li>red</li>
+ <li>green</li>
+ <li>blue</li>
+ </ol></p>
+*/
+published typedef long Color;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/DataEditorEvent.idl b/offapi/com/sun/star/util/DataEditorEvent.idl
new file mode 100644
index 000000000000..0d5b34cc00ae
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEvent.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_DataEditorEvent_idl__
+#define __com_sun_star_util_DataEditorEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_DataEditorEventType_idl__
+#include <com/sun/star/util/DataEditorEventType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+/** specifies an event broadcasted by an <type>XDataEditor</type>.
+ */
+published struct DataEditorEvent: com::sun::star::lang::EventObject
+{
+ /** specifies the type of the event.
+ */
+ DataEditorEventType Type;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/DataEditorEventType.idl b/offapi/com/sun/star/util/DataEditorEventType.idl
new file mode 100644
index 000000000000..d7c036b52c57
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEventType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XDataEditor</type>.
+ */
+published enum DataEditorEventType
+{
+ /** specifies that the data editing is done (data stored).
+ */
+ DONE,
+
+ /** specifies that the data editing was cancelled by the user (data not stored).
+ */
+ CANCELED
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/Date.idl b/offapi/com/sun/star/util/Date.idl
new file mode 100644
index 000000000000..0835662faa1d
--- /dev/null
+++ b/offapi/com/sun/star/util/Date.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.
+ */
+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.
+ */
+ unsigned short Year;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/DateTime.idl b/offapi/com/sun/star/util/DateTime.idl
new file mode 100644
index 000000000000..d208e425b678
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTime.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hundredth seconds (0-99).
+ */
+ unsigned short HundredthSeconds;
+
+ //-------------------------------------------------------------------------
+
+ /** 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.
+ */
+ unsigned short Year;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/DateTimeRange.idl b/offapi/com/sun/star/util/DateTimeRange.idl
new file mode 100644
index 000000000000..13612e79290f
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTimeRange.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hundredth seconds (0-99) for the range.
+ */
+ unsigned short StartHundredthSeconds;
+
+ //-------------------------------------------------------------------------
+ /** 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.
+ */
+ unsigned short StartYear;
+
+ //-------------------------------------------------------------------------
+ /** contains the end hundredth seconds (0-99) for the range.
+ */
+ unsigned short EndHundredthSeconds;
+
+ //-------------------------------------------------------------------------
+ /** 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.
+ */
+ unsigned short EndYear;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/DiskFullException.idl b/offapi/com/sun/star/util/DiskFullException.idl
new file mode 100644
index 000000000000..43eda08302a2
--- /dev/null
+++ b/offapi/com/sun/star/util/DiskFullException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_DiskFullException_idl__
+#define __com_sun_star_util_DiskFullException_idl__
+
+#ifndef __com_sun_star_util_FileIOException_idl__
+#include <com/sun/star/util/FileIOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** @deprecated
+ */
+published exception DiskFullException: com::sun::star::util::FileIOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/Duration.idl b/offapi/com/sun/star/util/Duration.idl
new file mode 100644
index 000000000000..ef544189210f
--- /dev/null
+++ b/offapi/com/sun/star/util/Duration.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <type>DateTime</type>s.
+ </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 milliseconds.
+ */
+ unsigned short MilliSeconds;
+
+};
+
+//========================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/ElementChange.idl b/offapi/com/sun/star/util/ElementChange.idl
new file mode 100644
index 000000000000..9ceb3a14ac70
--- /dev/null
+++ b/offapi/com/sun/star/util/ElementChange.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl
new file mode 100644
index 000000000000..c48698a0cbc7
--- /dev/null
+++ b/offapi/com/sun/star/util/Endianness.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_Endianness_idl__
+#define __com_sun_star_util_Endianness_idl__
+
+module com { module sun { module star { module util {
+
+/** These constans describe the endiannes 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.0
+ */
+constants Endianness
+{
+ /** Little endian.<p>
+
+ The values are stored in little endian format, i.e. the bytes
+ of the long word 0xAABBCCDD are layed 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 layed 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
diff --git a/offapi/com/sun/star/util/FileIOException.idl b/offapi/com/sun/star/util/FileIOException.idl
new file mode 100644
index 000000000000..804c18094704
--- /dev/null
+++ b/offapi/com/sun/star/util/FileIOException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_FileIOException_idl__
+#define __com_sun_star_util_FileIOException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** @deprecated
+ */
+published exception FileIOException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/InvalidStateException.idl b/offapi/com/sun/star/util/InvalidStateException.idl
new file mode 100644
index 000000000000..7d59abbcbac6
--- /dev/null
+++ b/offapi/com/sun/star/util/InvalidStateException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/util/JobManager.idl b/offapi/com/sun/star/util/JobManager.idl
new file mode 100644
index 000000000000..371fa0ae3bb6
--- /dev/null
+++ b/offapi/com/sun/star/util/JobManager.idl
@@ -0,0 +1,46 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun__star_util_JobManager_idl__
+#define __com_sun__star_util_JobManager_idl__
+
+#ifndef __com_sun_star_util_XJobManager_idl__
+#include <com/sun/star/util/XJobManager.idl>
+#endif
+
+module com { module sun { module star { module util {
+
+//============================================================================
+/** Manage cancellable jobs
+
+ @see XJobManager
+ */
+service JobManager : XJobManager;
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/Language.idl b/offapi/com/sun/star/util/Language.idl
new file mode 100644
index 000000000000..8b1446414d04
--- /dev/null
+++ b/offapi/com/sun/star/util/Language.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/MalformedNumberFormatException.idl b/offapi/com/sun/star/util/MalformedNumberFormatException.idl
new file mode 100644
index 000000000000..f084663289d3
--- /dev/null
+++ b/offapi/com/sun/star/util/MalformedNumberFormatException.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__
+#define __com_sun_star_util_MalformedNumberFormatException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/util/MeasureUnit.idl b/offapi/com/sun/star/util/MeasureUnit.idl
new file mode 100644
index 000000000000..9071c44b27a5
--- /dev/null
+++ b/offapi/com/sun/star/util/MeasureUnit.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
diff --git a/offapi/com/sun/star/util/ModeChangeEvent.idl b/offapi/com/sun/star/util/ModeChangeEvent.idl
new file mode 100644
index 000000000000..f03b337e1bbc
--- /dev/null
+++ b/offapi/com/sun/star/util/ModeChangeEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_ModeChangeEvent_idl__
+#define __com_sun_star_util_ModeChangeEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl
new file mode 100755
index 000000000000..b0917e0bdca6
--- /dev/null
+++ b/offapi/com/sun/star/util/NotLockedException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/util/NotNumericException.idl b/offapi/com/sun/star/util/NotNumericException.idl
new file mode 100644
index 000000000000..ed1d550c2163
--- /dev/null
+++ b/offapi/com/sun/star/util/NotNumericException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_NotNumericException_idl__
+#define __com_sun_star_util_NotNumericException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/NumberFormat.idl b/offapi/com/sun/star/util/NumberFormat.idl
new file mode 100644
index 000000000000..f8f18e9874cc
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormat.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/NumberFormatProperties.idl b/offapi/com/sun/star/util/NumberFormatProperties.idl
new file mode 100644
index 000000000000..7c747aff3d0f
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatProperties.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_NumberFormatProperties_idl__
+#define __com_sun_star_util_NumberFormatProperties_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** contains properties specifying the behavior of a <type>NumberFormatter</type>.
+
+ @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
+
diff --git a/offapi/com/sun/star/util/NumberFormatSettings.idl b/offapi/com/sun/star/util/NumberFormatSettings.idl
new file mode 100644
index 000000000000..2f1013ae93ad
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatSettings.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_NumberFormatSettings_idl__
+#define __com_sun_star_util_NumberFormatSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/util/NumberFormats.idl b/offapi/com/sun/star/util/NumberFormats.idl
new file mode 100644
index 000000000000..a451fd1b7a4f
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormats.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_NumberFormats_idl__
+#define __com_sun_star_util_NumberFormats_idl__
+
+#ifndef __com_sun_star_util_XNumberFormats_idl__
+#include <com/sun/star/util/XNumberFormats.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatTypes_idl__
+#include <com/sun/star/util/XNumberFormatTypes.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/util/NumberFormatsSupplier.idl b/offapi/com/sun/star/util/NumberFormatsSupplier.idl
new file mode 100644
index 000000000000..3b7fae2d7ecb
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatsSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_NumberFormatsSupplier_idl__
+#define __com_sun_star_util_NumberFormatsSupplier_idl__
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+ 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
+{
+ /** used to initialize the component when instantiating.
+
+ <p>In the <member scope="com::sun::star::lang">XInitialization::initialize</member> method, you can
+ pass a <type scope="com::sun::star::lang">Locale</type> to specify the default locale of the
+ number formats supplier.</p>
+
+ <p>The component should be initialized only once, after it has been instantiated, and before it
+ has been used.<br/>
+ If you initialize it a second time (or after you used it), it is up to implementation
+ how this is handled.</p>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** allows access to the number formats supplied by the component.
+ */
+ interface XNumberFormatsSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/NumberFormatter.idl b/offapi/com/sun/star/util/NumberFormatter.idl
new file mode 100644
index 000000000000..c130dfebc210
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatter.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_NumberFormatter_idl__
+#define __com_sun_star_util_NumberFormatter_idl__
+
+#ifndef __com_sun_star_util_XNumberFormatter_idl__
+#include <com/sun/star/util/XNumberFormatter.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatPreviewer_idl__
+#include <com/sun/star/util/XNumberFormatPreviewer.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+{
+ /** is used to format or parse numbers using formats from a
+ <type>NumberFormats</type> object.
+ */
+ interface com::sun::star::util::XNumberFormatter;
+
+ /** is used to format numbers using a number format string
+ that is not inserted into a <type>NumberFormats</type> object.
+ */
+ interface com::sun::star::util::XNumberFormatPreviewer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
new file mode 100644
index 000000000000..2a79d6affd48
--- /dev/null
+++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_OfficeInstallationDirectories_idl__
+#define __com_sun_star_util_OfficeInstallationDirectories_idl__
+
+#ifndef __com_sun_star_util_XOfficeInstallationDirectories_idl__
+#include <com/sun/star/util/XOfficeInstallationDirectories.idl>
+#endif
+
+//============================================================================
+
+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
+ installtions.
+
+ @since OOo 2.0.0
+ */
+published service OfficeInstallationDirectories
+{
+ /** provides access to the current office installation directories (office
+ base installation and user data).
+ */
+ interface com::sun::star::util::XOfficeInstallationDirectories;
+};
+
+//============================================================================
+
+/** A singleton that provides access to the current office installation
+ directories.
+
+ @see OfficeInstallationDirectories
+*/
+published singleton theOfficeInstallationDirectories
+{
+ service com::sun::star::util::OfficeInstallationDirectories;
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/PathSettings.idl b/offapi/com/sun/star/util/PathSettings.idl
new file mode 100644
index 000000000000..e67f6813af93
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSettings.idl
@@ -0,0 +1,173 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_PathSettings_idl__
+#define __com_sun_star_util_PathSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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 <type>PathSubstitution</type>
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service PathSettings
+{
+ /** Main interface to have access to the path properties. */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** An extension to the <type scope="com::sun::star::beans">XPropertySet</type> interface.
+ The get and set methods use handles to access the property values
+ instead of character strings. */
+ interface com::sun::star::beans::XFastPropertySet;
+
+ /** Provides access to multiple properties of this service with a
+ single call. */
+ interface com::sun::star::beans::XMultiPropertySet;
+
+ /** Specifies the directory that contains spreadsheet add-ins which use
+ the old add-in API */
+ [property] string Addin;
+
+ /** The settings of the AutoCorrect dialog. The value can be more than
+ one path separated by a semicolon.
+ */
+ [property] string AutoCorrect;
+
+ /**The directory which contains the AutoText modules. The value can be more than
+ one path separated by a semicolon.*/
+ [property] string AutoText;
+
+ /** Automatic backup copies of documents are stored here. */
+ [property] 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.*/
+ [property] string Basic;
+
+ /** This directory contains the icons for the toolbars. */
+ [property] string Bitmap;
+
+ /** The configuration files are located here. This entry cannot be changed
+ by the user in Office user interface. */
+ [property] string Config;
+
+ /** The provided dictionaries are stored here. */
+ [property] string Dictionary;
+
+ /** Path to save folder bookmarks */
+ [property] string Favorite;
+
+ /** Specifies the directory where all the filters are stored. */
+ [property] 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.*/
+ [property] string Gallery;
+
+ /** This directory is displayed when the dialog for opening a graphic
+ or for saving a new graphic is called. */
+ [property] string Graphic;
+
+ /** The path to the Office help files. */
+ [property] string Help;
+
+ /** The files that are necessary for the spellcheck are saved here. */
+ [property] string Linguistic;
+
+ /** This is the path for the modules. */
+ [property] string Module;
+
+ /** This is the path to the palette files *.SOB to *.SOF containing
+ user-defined colors and patterns. */
+ [property] string Palette;
+
+ /** Plugins are saved in these directories. The value can be more than
+ one path separated by a semicolon.*/
+ [property] string Plugin;
+
+ /** Mail, News files and other information (for example, about FTP Server)
+ are stored here.*/
+ [property] string Storage;
+
+ /** The base url to the office temp-files */
+ [property] string Temp;
+
+ /** The templates originate from these folders and sub-folders. The value
+ can be more than one path separated by a semicolon.*/
+ [property] 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.*/
+ [property] string UIConfig;
+
+ /** Specifies the folder with the user settings. */
+ [property] string UserConfig;
+
+ /** The custom dictionaries are contained here.
+ * @deprecated
+ * */
+ [property] 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. */
+ [property] string Work;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl
new file mode 100644
index 000000000000..455465ddf06a
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSubstitution.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_PathSubstitution_idl__
+#define __com_sun_star_util_PathSubstitution_idl__
+
+#ifndef __com_sun_star_util_XStringSubstitution_idl__
+#include <com/sun/star/util/XStringSubstitution.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerListener_idl__
+#include <com/sun/star/container/XContainerListener.idl>
+#endif
+
+//=============================================================================
+
+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 synatx: "$("&lt;variable-name&gt;")".
+ Path variables are not case sensitive and are always provided as a UCB-complient URL's
+ (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
+ optional remote file system.<br>
+ A user defined list of path variables is supported. This list is stored in the Office
+ configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the
+ schema definition file which configuration structure this file uses.<br>
+ There is also a set of variables that have pre-defined values:
+ </p>
+ <dl>
+ <dt>$(inst)</dt>
+ <dd>Installation path of the Office Basis layer.</dd>
+ <dt>$(prog)</dt>
+ <dd>Program path of the Office Basis layer.</dd>
+ <dt>$(brandbaseurl)</dt>
+ <dd>Installation path of the the Office Brand layer.</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 "Documents and Settings\<username>"
+ subdirectory.</dd>
+ <dt>$(temp)</dt>
+ <dd>The current temporary directory.</dd>
+ <dt>$(path)</dt>
+ <dd>The value of PATH environment variable.</dd>
+ <dt>$(lang)</dt>
+ <dd>The country code used by the Office, like 01=english, 49=german.</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>
+
+ @since OOo 1.1.2
+*/
+
+published service PathSubstitution
+{
+ //-------------------------------------------------------------------------
+ /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables.
+
+ <p>
+ To resubstitute path variables the caller must provide pathes as UCB-compliant URL's.
+ </p>
+ */
+ interface com::sun::star::util::XStringSubstitution;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/ReplaceDescriptor.idl b/offapi/com/sun/star/util/ReplaceDescriptor.idl
new file mode 100644
index 000000000000..192c10707226
--- /dev/null
+++ b/offapi/com/sun/star/util/ReplaceDescriptor.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_ReplaceDescriptor_idl__
+#define __com_sun_star_util_ReplaceDescriptor_idl__
+
+#ifndef __com_sun_star_util_SearchDescriptor_idl__
+#include <com/sun/star/util/SearchDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_util_XReplaceDescriptor_idl__
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/RevisionTag.idl b/offapi/com/sun/star/util/RevisionTag.idl
new file mode 100644
index 000000000000..d8db6304669f
--- /dev/null
+++ b/offapi/com/sun/star/util/RevisionTag.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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, f.e. a document
+ */
+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
diff --git a/offapi/com/sun/star/util/SearchDescriptor.idl b/offapi/com/sun/star/util/SearchDescriptor.idl
new file mode 100644
index 000000000000..b49e174ccf50
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchDescriptor.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_SearchDescriptor_idl__
+#define __com_sun_star_util_SearchDescriptor_idl__
+
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#include <com/sun/star/util/XSearchDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+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.
+ */
+ [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>
+ */
+ [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;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/SortDescriptor.idl b/offapi/com/sun/star/util/SortDescriptor.idl
new file mode 100644
index 000000000000..cab1cf01f0e2
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_SortDescriptor_idl__
+#define __com_sun_star_util_SortDescriptor_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+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 sepearte keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see <type scope"com::sun::star::text">TextSortDescriptor</type>
+ */
+ [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 sepearte keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see <type scope"com::sun::star::text">TextSortDescriptor</type>
+
+ @see com::sun::star::i18n::XCollator
+ */
+ [optional, property] string CollatorAlgorithm;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/SortDescriptor2.idl b/offapi/com/sun/star/util/SortDescriptor2.idl
new file mode 100644
index 000000000000..8d6e8606cab6
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor2.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/SortField.idl b/offapi/com/sun/star/util/SortField.idl
new file mode 100644
index 000000000000..0c20871f3863
--- /dev/null
+++ b/offapi/com/sun/star/util/SortField.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_SortField_idl__
+#define __com_sun_star_util_SortField_idl__
+
+#ifndef __com_sun_star_util_SortFieldType_idl__
+#include <com/sun/star/util/SortFieldType.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/SortFieldType.idl b/offapi/com/sun/star/util/SortFieldType.idl
new file mode 100644
index 000000000000..e27f94374772
--- /dev/null
+++ b/offapi/com/sun/star/util/SortFieldType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/Sortable.idl b/offapi/com/sun/star/util/Sortable.idl
new file mode 100644
index 000000000000..328a80517343
--- /dev/null
+++ b/offapi/com/sun/star/util/Sortable.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_Sortable_idl__
+#define __com_sun_star_util_Sortable_idl__
+
+#ifndef __com_sun_star_util_SortDescriptor_idl__
+#include <com/sun/star/util/SortDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSortable_idl__
+#include <com/sun/star/util/XSortable.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::util">SortDescriptor</type>
+ */
+ interface com::sun::star::util::XSortable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/TextSearch.idl b/offapi/com/sun/star/util/TextSearch.idl
new file mode 100644
index 000000000000..f6abf8c088e1
--- /dev/null
+++ b/offapi/com/sun/star/util/TextSearch.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_TextSearch_idl__
+#define __com_sun_star_util_TextSearch_idl__
+
+#ifndef __com_sun_star_lang_XTextSearch_idl__
+#include <com/sun/star/util/XTextSearch.idl>
+#endif
+
+//=============================================================================
+
+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
+{
+ interface com::sun::star::util::XTextSearch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/Time.idl b/offapi/com/sun/star/util/Time.idl
new file mode 100644
index 000000000000..3c03745b6e79
--- /dev/null
+++ b/offapi/com/sun/star/util/Time.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 hundredth seconds (0-99).
+ */
+ unsigned short HundredthSeconds;
+
+ //-------------------------------------------------------------------------
+ /** contains the seconds (0-59).
+ */
+ unsigned short Seconds;
+
+ //-------------------------------------------------------------------------
+ /** contains the minutes (0-59).
+ */
+ unsigned short Minutes;
+
+ //-------------------------------------------------------------------------
+ /** contains the hour (0-23).
+ */
+ unsigned short Hours;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/TriState.idl b/offapi/com/sun/star/util/TriState.idl
new file mode 100644
index 000000000000..8b3c0f684e40
--- /dev/null
+++ b/offapi/com/sun/star/util/TriState.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/util/URL.idl b/offapi/com/sun/star/util/URL.idl
new file mode 100644
index 000000000000..a869331ac9dd
--- /dev/null
+++ b/offapi/com/sun/star/util/URL.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 an Uniform Resource Locator.
+
+ <p>
+ If the structure represents a valid URL or not depends on prior usage of
+ the functions of <type>XURLTransformer</type>. Only after one of the functions
+ returned <TRUE/> this can be assumed.</br>
+ It is not necessary to set all of the fields; either <member>URL::Complete</member>
+ or (some of) the others are set. Additionally, most of the other
+ fields, like <member>URL::Host</member>, <member>URL::Port</member>,
+ <member>URL::User</member>, <member>URL::Password</member>,
+ or <member>URL::Mark</member>, 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
+ <type>XURLTransformer</type>. The usage of one of the <type>XURLTransformer</type>
+ function is mandatory to validate the URL. It cannot be assumed that
+ <member>URL::Complete</member> 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 <type>XURLTransformer</type> 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
diff --git a/offapi/com/sun/star/util/URLTransformer.idl b/offapi/com/sun/star/util/URLTransformer.idl
new file mode 100644
index 000000000000..46b4879a7e7d
--- /dev/null
+++ b/offapi/com/sun/star/util/URLTransformer.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_URLTransformer_idl__
+#define __com_sun_star_util_URLTransformer_idl__
+
+#ifndef __com_sun_star_util_XURLTransformer_idl__
+#include <com/sun/star/util/XURLTransformer.idl>
+#endif
+
+
+//=============================================================================
+
+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
+{
+ interface com::sun::star::util::XURLTransformer;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/UriAbbreviation.idl b/offapi/com/sun/star/util/UriAbbreviation.idl
new file mode 100644
index 000000000000..2825fe74b32d
--- /dev/null
+++ b/offapi/com/sun/star/util/UriAbbreviation.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun__star_util_UriAbbreviation_idl__
+#define __com_sun__star_util_UriAbbreviation_idl__
+
+#ifndef __com_sun_star_util_XStringAbbreviation_idl__
+#include <com/sun/star/util/XStringAbbreviation.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/util/VetoException.idl b/offapi/com/sun/star/util/VetoException.idl
new file mode 100644
index 000000000000..fdf4d084d790
--- /dev/null
+++ b/offapi/com/sun/star/util/VetoException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#define __com_sun_star_util_VetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/util/XArchiver.idl b/offapi/com/sun/star/util/XArchiver.idl
new file mode 100644
index 000000000000..d3aee96cf08c
--- /dev/null
+++ b/offapi/com/sun/star/util/XArchiver.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XArchiver_idl__
+#define __com_sun_star_util_XArchiver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** @deprecated
+ */
+published interface XArchiver: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XArchiver::pack
+ boolean pack( [in] sequence<string> input,
+ [in] string destination,
+ [in] sequence<com::sun::star::beans::PropertyValue> aArgs );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XArchiver::unpack
+ boolean unpack( [in] string destinationpath,
+ [in] string source,
+ [in] sequence<string> files,
+ [in] sequence<com::sun::star::beans::PropertyValue> aArgs );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XArchiver::getContent
+ com::sun::star::container::XIndexAccess getContent( [in] string source );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XArchiver::getExtraData
+ string getExtraData( [in] string source );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XAtomServer.idl b/offapi/com/sun/star/util/XAtomServer.idl
new file mode 100644
index 000000000000..610476a0d6c3
--- /dev/null
+++ b/offapi/com/sun/star/util/XAtomServer.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XAtomServer_idl__
+#define __com_sun_star_util_XAtomServer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_AtomDescription_idl__
+#include <com/sun/star/util/AtomDescription.idl>
+#endif
+
+#ifndef __com_sun_star_util_AtomClassRequest_idl__
+#include <com/sun/star/util/AtomClassRequest.idl>
+#endif
+
+
+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 mutltiple 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
diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl
new file mode 100644
index 000000000000..a622fcef7b98
--- /dev/null
+++ b/offapi/com/sun/star/util/XBroadcaster.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XBroadcaster_idl__
+#define __com_sun_star_util_XBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** allows to control notification behaviour of a broadcaster.
+
+ @since 3.0
+ */
+interface XBroadcaster: com::sun::star::uno::XInterface
+{
+ /** suspends broadcasts to the registered listeners.
+
+ <p>
+ The calls to <member>XBroadcaster::lockBroadcast()</member> and
+ <member>XBroadcaster::unlockBroadcasts()</member> 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>
+ */
+ [oneway] void lockBroadcasts();
+
+ //-------------------------------------------------------------------------
+ /** resumes the broadcasts which were suspended by
+ <member>XBroadcaster::lockBroadcasts()</member>.
+
+ <p>
+ The calls to <member>XBroadcaster::lockBroadcast()</member> and
+ <member>XBroadcaster::unlockBroadcasts()</member> 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 <member>XBroadcaster::lockBroadcast()</member> is matched
+ by a call to <member>XBroadcaster::unlockBroadcasts()</member>.
+ An implementation can decide to broadcast all pending notification in
+ order or batch them in single broadcasts.
+ </p>
+ */
+ [oneway] void unlockBroadcasts();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XCancelManager.idl b/offapi/com/sun/star/util/XCancelManager.idl
new file mode 100644
index 000000000000..36fac41e012e
--- /dev/null
+++ b/offapi/com/sun/star/util/XCancelManager.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XCancelManager_idl__
+#define __com_sun_star_util_XCancelManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** manages a list of cancellable objects.
+
+ @deprecated
+ */
+published interface XCancelManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers a cancellable object.
+ */
+ void registerCancellable( [in] com::sun::star::util::XCancellable Cancel );
+
+ //-------------------------------------------------------------------------
+ /** deregisters a cancellable object.
+ */
+ void releaseCancellable( [in] com::sun::star::util::XCancellable Cancel );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XCancellable.idl b/offapi/com/sun/star/util/XCancellable.idl
new file mode 100644
index 000000000000..6887942234e9
--- /dev/null
+++ b/offapi/com/sun/star/util/XCancellable.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XCancellable_idl__
+#define __com_sun_star_util_XCancellable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** offers the possibility of cancelling 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
diff --git a/offapi/com/sun/star/util/XChainable.idl b/offapi/com/sun/star/util/XChainable.idl
new file mode 100644
index 000000000000..e381bc683839
--- /dev/null
+++ b/offapi/com/sun/star/util/XChainable.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XChainable_idl__
+#define __com_sun_star_util_XChainable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XChangesBatch.idl b/offapi/com/sun/star/util/XChangesBatch.idl
new file mode 100644
index 000000000000..253aa80abe33
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesBatch.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#define __com_sun_star_util_XChangesBatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_util_ChangesSet_idl__
+#include <com/sun/star/util/ChangesSet.idl>
+#endif
+
+
+//=============================================================================
+
+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 cancelled. </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
diff --git a/offapi/com/sun/star/util/XChangesListener.idl b/offapi/com/sun/star/util/XChangesListener.idl
new file mode 100644
index 000000000000..5591c2caf091
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XChangesListener_idl__
+#define __com_sun_star_util_XChangesListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_util_ChangesEvent_idl__
+#include <com/sun/star/util/ChangesEvent.idl>
+#endif
+
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void changesOccurred( [in] com::sun::star::util::ChangesEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XChangesNotifier.idl b/offapi/com/sun/star/util/XChangesNotifier.idl
new file mode 100644
index 000000000000..6ca009069509
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesNotifier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XChangesNotifier_idl__
+#define __com_sun_star_util_XChangesNotifier_idl__
+
+#ifndef __com_sun_star_util_XChangesListener_idl__
+#include <com/sun/star/util/XChangesListener.idl>
+#endif
+
+//=============================================================================
+
+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 occured.
+ */
+ [oneway] void addChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+ //-------------------------------------------------------------------------
+ /** removes the specified listener.
+ */
+ [oneway] void removeChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XChangesSet.idl b/offapi/com/sun/star/util/XChangesSet.idl
new file mode 100644
index 000000000000..b812d0389eef
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesSet.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XChangesSet_idl__
+#define __com_sun_star_util_XChangesSet_idl__
+
+#ifndef __com_sun_star_container_XElementAccess_idl__
+#include <com/sun/star/container/XElementAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_util_ElementChange_idl__
+#include <com/sun/star/util/ElementChange.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>ElementChange</type> holding information about
+ each changes that is part of this object.
+ */
+ sequence<ElementChange> getAllChanges();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XCloneable.idl b/offapi/com/sun/star/util/XCloneable.idl
new file mode 100644
index 000000000000..f89fcb9eb96d
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloneable.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XCloneable_idl__
+#define __com_sun_star_util_XCloneable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XCloseBroadcaster.idl b/offapi/com/sun/star/util/XCloseBroadcaster.idl
new file mode 100644
index 000000000000..7bf7e0f892d5
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseBroadcaster.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XCloseBroadcaster_idl__
+#define __com_sun_star_util_XCloseBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloseListener_idl__
+#include <com/sun/star/util/XCloseListener.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>CloseVetoException</type>
+ and called function <method>XCloseable::close</method> must be breaked immediately.
+ It's not allowed to catch it inside the close() request.
+ If no listener nor internal processes hinder the object on closing
+ all listener get's 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 wich is interest on closing events
+ */
+ [oneway] void addCloseListener( [in] XCloseListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** removes the specified listener
+
+ @param Listener
+ the listener wich isn't interest on closing events anylonger
+ */
+ [oneway] void removeCloseListener( [in] XCloseListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XCloseListener.idl b/offapi/com/sun/star/util/XCloseListener.idl
new file mode 100644
index 000000000000..8e45e3d7ad0f
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseListener.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XCloseListener_idl__
+#define __com_sun_star_util_XCloseListener_idl__
+
+#ifndef __com_sun_star_util_CloseVetoException_idl__
+#include <com/sun/star/util/CloseVetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+ 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 <type>XCloseBroadcaster</type>
+ if somewhere tries to close it by calling <member>XCloseable::close()</member>.
+ Listener can:
+ <ul>
+ <li>break that by throwing <type>CloseVetoException</type></li>
+ <li>or accept that by deregister himself at this broadcaster.</li>
+ </ul>
+ </p>
+
+ <p>
+ If an event <method scope="com::sun::star::lang">XEventListener::disposing</method>
+ occured, nobody called <method>XCloseable::close</method> 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 <member>XCloseListener::notifyClosing()</member>.
+ Listener has the chance to break that by throwing a <type>CloseVetoException</type>.
+ This exception must be passed to the original caller of <member>XCloseable::close()</member>
+ 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 <member>XCloseable::close()</member>
+ 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 normaly this must be done in <member>XCloseListener::notifyClosing()</member>.
+ </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 realy
+
+ <p>
+ Now the listened object is closed realy. Listener has to accept that;
+ should deregister himself and relaese all references to it.
+ It's not allowed nor possible to disagree with that by throwing any exception.
+ </p>
+
+ <p>
+ If the event <member scope="com::sun::star::lang">XEventListener::disposing()</member> occured 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
diff --git a/offapi/com/sun/star/util/XCloseable.idl b/offapi/com/sun/star/util/XCloseable.idl
new file mode 100644
index 000000000000..56fb5429d18f
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseable.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XClosable_idl__
+#define __com_sun_star_util_XClosable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCloseBroadcaster_idl__
+#include <com/sun/star/util/XCloseBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+/** makes it possible to release any objects in a 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 <member scope="com::sun::star::lang">XComponent::dispose()</member>)</li>
+ <li>closed (if it supports <member>XCloseable::close()</member>)</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 cancelled realy). 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 neccessary.
+ </p>
+
+ <p>
+ Base interface <type>XCloseBroadcaster</type> makes it possible that any listener
+ which is interrested 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 definitly be called before <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ But nobody can guarentee real closing of called object - because it can disagree with that if any
+ still running processes can't be cancelled yet. It's not allowed to block this call till internal
+ operations will be finished here. They must be cancelled or call must return imediatly by throwing
+ the <type>CloseVetoException</type>. Otherwise (if nothing exist to disagree) it must return normaly.
+ </p>
+
+ <p>
+ Before any internal processes will be cancelled, all registered <type>XCloseListener</type>
+ must be notified. Any of them can disagree with a <type>CloseVetoException</type> 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 <member>XCloseListener::queryClosing()</member>. After his operations was finished
+ he MUST try to close it again. If the closing object itselfs 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. Normaly it's possible to throw
+ a <type scope="com::sun::star::lang">DisposedException</type> for already disposed or closed objects
+ (which represent a <type scope="com::sun::star::uno">RuntimeException</type> 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 ths closing object to any one 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 usefull 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
diff --git a/offapi/com/sun/star/util/XDataEditor.idl b/offapi/com/sun/star/util/XDataEditor.idl
new file mode 100644
index 000000000000..82cc18d53eae
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditor.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XDataEditor_idl__
+#define __com_sun_star_util_XDataEditor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XDataEditorListener_idl__
+#include <com/sun/star/util/XDataEditorListener.idl>
+#endif
+
+//=============================================================================
+
+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 <method>XDataEditor::setModel</method>.
+ */
+ com::sun::star::uno::XInterface getModel();
+
+ //--------------------------------------------------------------------------
+ /** registers a listener to receive <type>DataEditorEvent</type>s.
+ */
+ void addDataEditorListener( [in] XDataEditorListener listener );
+
+ //--------------------------------------------------------------------------
+ /** unregisters a listener which received <type>DataEditorEvent</type>s.
+ */
+ void removeDataEditorListener( [in] XDataEditorListener listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XDataEditorListener.idl b/offapi/com/sun/star/util/XDataEditorListener.idl
new file mode 100644
index 000000000000..abe91ed2a36a
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditorListener.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XDataEditorListener_idl__
+#define __com_sun_star_util_XDataEditorListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_DataEditorEvent_idl__
+#include <com/sun/star/util/DataEditorEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+/** makes it possible to receive status change events from an
+ <type>XDataEditor</type>.
+ */
+published interface XDataEditorListener: com::sun::star::uno::XInterface
+{
+ /** is called when the state of a connected <type>XDataEditor</type> changes.
+ */
+ void updateDataEditorState( [in] DataEditorEvent event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XFlushListener.idl b/offapi/com/sun/star/util/XFlushListener.idl
new file mode 100644
index 000000000000..521aebc5e003
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XFlushListener_idl__
+#define __com_sun_star_util_XFlushListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XFlushable.idl b/offapi/com/sun/star/util/XFlushable.idl
new file mode 100644
index 000000000000..668d64055ed8
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushable.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XFlushable_idl__
+#define __com_sun_star_util_XFlushable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushListener_idl__
+#include <com/sun/star/util/XFlushListener.idl>
+#endif
+
+
+//=============================================================================
+
+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."
+ */
+ [oneway] void addFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+ //-------------------------------------------------------------------------
+ /** removes the specified listener.
+ */
+ [oneway] void removeFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XImportable.idl b/offapi/com/sun/star/util/XImportable.idl
new file mode 100644
index 000000000000..05872c6e3231
--- /dev/null
+++ b/offapi/com/sun/star/util/XImportable.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XImportable_idl__
+#define __com_sun_star_util_XImportable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module util {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::util::XImportable
+/** makes it possible to import files into the object.
+ */
+published interface XImportable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from idl: method com::sun::star::util::XImportable::createImportDescriptor
+ /** @returns
+ a descriptor which contains the arguments for an import.
+ */
+ sequence<com::sun::star::beans::PropertyValue> createImportDescriptor( [in] boolean bEmpty );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::util::XImportable::doImport
+ /** imports data from an external database.
+ */
+ void doImport( [in] sequence<com::sun::star::beans::PropertyValue> aDescriptor );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XIndent.idl b/offapi/com/sun/star/util/XIndent.idl
new file mode 100644
index 000000000000..dffd7334316b
--- /dev/null
+++ b/offapi/com/sun/star/util/XIndent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XIndent_idl__
+#define __com_sun_star_util_XIndent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
diff --git a/offapi/com/sun/star/util/XJobManager.idl b/offapi/com/sun/star/util/XJobManager.idl
new file mode 100644
index 000000000000..99bc7b5428a1
--- /dev/null
+++ b/offapi/com/sun/star/util/XJobManager.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XJobManager_idl__
+#define __com_sun_star_util_XJobManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+module com { module sun { module star { module util {
+
+//============================================================================
+/** Manage cancellable jobs.
+
+ */
+published interface XJobManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers a cancellable job.
+ */
+ void registerJob( [in] com::sun::star::util::XCancellable Job );
+
+ //-------------------------------------------------------------------------
+ /** deregisters a cancellable jobs.
+ */
+ void releaseJob( [in] com::sun::star::util::XCancellable Job );
+
+ //-------------------------------------------------------------------------
+ /** cancel all registered jobs.
+ */
+ void cancelAllJobs();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XLinkUpdate.idl b/offapi/com/sun/star/util/XLinkUpdate.idl
new file mode 100644
index 000000000000..d4c3a1a41850
--- /dev/null
+++ b/offapi/com/sun/star/util/XLinkUpdate.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XLinkUpdate_idl__
+#define __com_sun_star_util_XLinkUpdate_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
+
+
diff --git a/offapi/com/sun/star/util/XLocalizedAliases.idl b/offapi/com/sun/star/util/XLocalizedAliases.idl
new file mode 100644
index 000000000000..cb3e0c7bc9f2
--- /dev/null
+++ b/offapi/com/sun/star/util/XLocalizedAliases.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XLocalizedAliases_idl__
+#define __com_sun_star_util_XLocalizedAliases_idl__
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_util_AliasProgrammaticPair_idl__
+#include <com/sun/star/util/AliasProgrammaticPair.idl>
+#endif
+
+//=============================================================================
+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 porgrammatic 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
diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl
new file mode 100755
index 000000000000..e3da8025a034
--- /dev/null
+++ b/offapi/com/sun/star/util/XLockable.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 <member>isLocked</member> 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
diff --git a/offapi/com/sun/star/util/XMergeable.idl b/offapi/com/sun/star/util/XMergeable.idl
new file mode 100644
index 000000000000..ba2ac3bc90ea
--- /dev/null
+++ b/offapi/com/sun/star/util/XMergeable.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XMergeable_idl__
+#define __com_sun_star_util_XMergeable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XModeChangeApproveListener.idl b/offapi/com/sun/star/util/XModeChangeApproveListener.idl
new file mode 100644
index 000000000000..76226462531f
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeApproveListener.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XModeChangeApproveListener_idl__
+#define __com_sun_star_util_XModeChangeApproveListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_util_ModeChangeEvent_idl__
+#include <com/sun/star/util/ModeChangeEvent.idl>
+#endif
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+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 <member>ModeChangeEvent::NewMode</member> 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
+
diff --git a/offapi/com/sun/star/util/XModeChangeBroadcaster.idl b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl
new file mode 100644
index 000000000000..1c9cbbde8fa8
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XModeChangeBroadcaster_idl__
+#define __com_sun_star_util_XModeChangeBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModeChangeListener_idl__
+#include <com/sun/star/util/XModeChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModeChangeApproveListener_idl__
+#include <com/sun/star/util/XModeChangeApproveListener.idl>
+#endif
+
+//=============================================================================
+
+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
+
diff --git a/offapi/com/sun/star/util/XModeChangeListener.idl b/offapi/com/sun/star/util/XModeChangeListener.idl
new file mode 100644
index 000000000000..5f3437081585
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeListener.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XModeChangeListener_idl__
+#define __com_sun_star_util_XModeChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_util_ModeChangeEvent_idl__
+#include <com/sun/star/util/ModeChangeEvent.idl>
+#endif
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void modeChanged( [in] ModeChangeEvent _rSource );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/util/XModeSelector.idl b/offapi/com/sun/star/util/XModeSelector.idl
new file mode 100644
index 000000000000..7efefb361a04
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeSelector.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XModeSelector_idl__
+#define __com_sun_star_util_XModeSelector_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XModifiable.idl b/offapi/com/sun/star/util/XModifiable.idl
new file mode 100644
index 000000000000..2f0b37531aca
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XModifiable_idl__
+#define __com_sun_star_util_XModifiable_idl__
+
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XModifiable2.idl b/offapi/com/sun/star/util/XModifiable2.idl
new file mode 100644
index 000000000000..fe2c7960e9d1
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable2.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+#ifndef __com_sun_star_util_XModifiable2_idl__
+#define __com_sun_star_util_XModifiable2_idl__
+
+#ifndef __com_sun_star_util_XModifiable_idl__
+#include <com/sun/star/util/XModifiable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+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 carefuly.
+ </p>
+ */
+interface XModifiable2: com::sun::star::util::XModifiable
+{
+ //-------------------------------------------------------------------------
+ /** disable possibility to change modified state of the document
+
+ @retuns 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
+
+ @retuns 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
+
diff --git a/offapi/com/sun/star/util/XModifyBroadcaster.idl b/offapi/com/sun/star/util/XModifyBroadcaster.idl
new file mode 100644
index 000000000000..657db5400126
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyBroadcaster.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#define __com_sun_star_util_XModifyBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XModifyListener_idl__
+#include <com/sun/star/util/XModifyListener.idl>
+#endif
+
+
+//=============================================================================
+
+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."
+ */
+ [oneway] void addModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+ //-------------------------------------------------------------------------
+ /** removes the specified listener.
+ */
+ [oneway] void removeModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XModifyListener.idl b/offapi/com/sun/star/util/XModifyListener.idl
new file mode 100644
index 000000000000..e31574aaff2a
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XModifyListener_idl__
+#define __com_sun_star_util_XModifyListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XNumberFormatPreviewer.idl b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl
new file mode 100644
index 000000000000..cd94ebd1335f
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XNumberFormatPreviewer_idl__
+#define __com_sun_star_util_XNumberFormatPreviewer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+
diff --git a/offapi/com/sun/star/util/XNumberFormatTypes.idl b/offapi/com/sun/star/util/XNumberFormatTypes.idl
new file mode 100644
index 000000000000..9c896440e20e
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatTypes.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XNumberFormatTypes_idl__
+#define __com_sun_star_util_XNumberFormatTypes_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+ 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
+ <type>NumberFormat</type> constants.
+ */
+ 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
+ <type scope="com::sun::star::i18n">NumberFormatIndex</type>
+ constants.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/util/XNumberFormats.idl b/offapi/com/sun/star/util/XNumberFormats.idl
new file mode 100644
index 000000000000..25954d8e4f99
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormats.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XNumberFormats_idl__
+#define __com_sun_star_util_XNumberFormats_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** provides access to multiple <type>NumberFormat</type>s.
+ */
+published interface XNumberFormats: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a readonly <type>NumberFormatProperties</type>.
+ */
+ 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
+ <type>NumberFormat</type> constants.
+
+ @param nLanguage
+ the language 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.
+ */
+ 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.
+ */
+ 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.
+ */
+ 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.
+ */
+ void removeByKey( [in] long nKey );
+
+ //-------------------------------------------------------------------------
+
+ /** generates a format string from several parameters without
+ creating an actual number format.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/util/XNumberFormatsSupplier.idl b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl
new file mode 100644
index 000000000000..505be56288bc
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#define __com_sun_star_util_XNumberFormatsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormats_idl__
+#include <com/sun/star/util/XNumberFormats.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** supplies the collection of <type>NumberFormat</type>s (for example, in a
+ document) and the settings belonging to these formats.
+ */
+published interface XNumberFormatsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the <type>NumberFormatSettings</type> 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
+
diff --git a/offapi/com/sun/star/util/XNumberFormatter.idl b/offapi/com/sun/star/util/XNumberFormatter.idl
new file mode 100644
index 000000000000..f01f1b30bf73
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XNumberFormatter_idl__
+#define __com_sun_star_util_XNumberFormatter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_util_NotNumericException_idl__
+#include <com/sun/star/util/NotNumericException.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** represents a number formatter.
+ */
+published interface XNumberFormatter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** attaches an <type>XNumberFormatsSupplier</type> to this
+ <type>NumberFormatter</type>.
+
+ <p>This <type>NumberFormatter</type> will only use the <type>NumberFormats</type>
+ specified in the attached <type>XNumberFormatsSupplier</type>. Without an attached
+ <type>XNumberFormatsSupplier</type>, no formatting is possible.</p>
+ */
+ void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ the attached <type>XNumberFormatsSupplier</type>.
+ */
+ 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
+
diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
new file mode 100644
index 000000000000..d79d0cffc79f
--- /dev/null
+++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XOfficeInstallationDirectories_idl__
+#define __com_sun_star_util_XOfficeInstallationDirectories_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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.0
+ */
+published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** returns the absolute URL containing the directory of the current office
+ installation (e.g. "file:///opt/OpenOffice.org".)
+
+ @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 (e.g.
+ "file:///home/kso/.openoffice.org".)
+
+ @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 absolaute URL is requested. In case the URL does
+ not contain the opaque relocation placholder used by
+ <code>makeRelocatableURL</code>, the input URL will be returned
+ unchanged.
+
+ @returns
+ The absolute URL.
+ */
+ string makeAbsoluteURL( [in] string URL );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XPropertyReplace.idl b/offapi/com/sun/star/util/XPropertyReplace.idl
new file mode 100644
index 000000000000..7be1114220f3
--- /dev/null
+++ b/offapi/com/sun/star/util/XPropertyReplace.idl
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XPropertyReplace_idl__
+#define __com_sun_star_util_XPropertyReplace_idl__
+
+#ifndef __com_sun_star_util_XReplaceDescriptor_idl__
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XProtectable.idl b/offapi/com/sun/star/util/XProtectable.idl
new file mode 100644
index 000000000000..57685a168bf5
--- /dev/null
+++ b/offapi/com/sun/star/util/XProtectable.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XProtectable_idl__
+#define __com_sun_star_util_XProtectable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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.
+ */
+ void protect( [in] string aPassword );
+
+ //-------------------------------------------------------------------------
+ /** removes the protection.
+ */
+ void unprotect( [in] string aPassword )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the current state of protection.
+ */
+ boolean isProtected();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XRefreshListener.idl b/offapi/com/sun/star/util/XRefreshListener.idl
new file mode 100644
index 000000000000..8286583015e1
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XRefreshListener_idl__
+#define __com_sun_star_util_XRefreshListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XRefreshable.idl b/offapi/com/sun/star/util/XRefreshable.idl
new file mode 100644
index 000000000000..1ed7e497a433
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshable.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#define __com_sun_star_util_XRefreshable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshListener_idl__
+#include <com/sun/star/util/XRefreshListener.idl>
+#endif
+
+
+//=============================================================================
+
+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."
+ */
+ [oneway] void addRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+ //-------------------------------------------------------------------------
+ /** removes the specified listener.
+ */
+ [oneway] void removeRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XReplaceDescriptor.idl b/offapi/com/sun/star/util/XReplaceDescriptor.idl
new file mode 100644
index 000000000000..e3bb662a2a0a
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceDescriptor.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XReplaceDescriptor_idl__
+#define __com_sun_star_util_XReplaceDescriptor_idl__
+
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#include <com/sun/star/util/XSearchDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XReplaceable.idl b/offapi/com/sun/star/util/XReplaceable.idl
new file mode 100644
index 000000000000..bb80fac433b0
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceable.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#define __com_sun_star_util_XReplaceable_idl__
+
+#ifndef __com_sun_star_util_XSearchable_idl__
+#include <com/sun/star/util/XSearchable.idl>
+#endif
+
+#ifndef __com_sun_star_util_XReplaceDescriptor_idl__
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#include <com/sun/star/util/XSearchDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** makes it possible to replace strings in a text described by a
+ <type>SearchDescriptor</type>.
+
+ @example
+ <listing>
+ 'replace all bold words "search for" by "look for"
+ xReplaceDescr = xDocument.createReplaceDescriptor()
+ xReplaceDescr.SearchString = "search for"
+ xReplaceDescr.ReplaceString = "look for"
+ xFound = xDocument.replaceAll( xReplaceDescr )
+ </listing>
+ */
+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
diff --git a/offapi/com/sun/star/util/XSearchDescriptor.idl b/offapi/com/sun/star/util/XSearchDescriptor.idl
new file mode 100644
index 000000000000..dde3589773dd
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchDescriptor.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#define __com_sun_star_util_XSearchDescriptor_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+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.
+ */
+ [oneway] void setSearchString( [in] string aString );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XSearchable.idl b/offapi/com/sun/star/util/XSearchable.idl
new file mode 100644
index 000000000000..fce6b411ce9c
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchable.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XSearchable_idl__
+#define __com_sun_star_util_XSearchable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#include <com/sun/star/util/XSearchDescriptor.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::text">TextDocument</type>:
+ set all "search for" to bold using findFirst()/findNext():
+
+ <listing>
+ 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
+ </listing>
+
+ */
+published interface XSearchable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a <type>SearchDescriptor</type> 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 <type scope="com::sun::star::text">XTextRange</type>
+ 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 <method>XSearchable::findFirst</method> or
+ the previous <method>XSearchable::findNext</method>.
+
+ @see SearchDescriptor
+ */
+ com::sun::star::uno::XInterface findNext( [in] com::sun::star::uno::XInterface xStartAt,
+ [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XSimpleErrorHandler.idl b/offapi/com/sun/star/util/XSimpleErrorHandler.idl
new file mode 100644
index 000000000000..1d3953d6ce14
--- /dev/null
+++ b/offapi/com/sun/star/util/XSimpleErrorHandler.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XSimpleErrorHandler_idl__
+#define __com_sun_star_util_XSimpleErrorHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+// DOCUMENTATION OMITTED FOR XSimpleErrorHandler
+/** @deprecated
+ */
+published interface XSimpleErrorHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR XSimpleErrorHandler::handleError
+ boolean handleError( [in] any Exception );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XSortable.idl b/offapi/com/sun/star/util/XSortable.idl
new file mode 100644
index 000000000000..0ee7e98f5016
--- /dev/null
+++ b/offapi/com/sun/star/util/XSortable.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XSortable_idl__
+#define __com_sun_star_util_XSortable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+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 criterias 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 <member>createSortDescriptor</member>
+ 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
diff --git a/offapi/com/sun/star/util/XStringAbbreviation.idl b/offapi/com/sun/star/util/XStringAbbreviation.idl
new file mode 100644
index 000000000000..076b84b033c5
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringAbbreviation.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XStringAbbreviation_idl__
+#define __com_sun_star_util_XStringAbbreviation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <type>XStringWidth</type> interface. Examples are the number of
+ characters in the string (<type>XStringWidth</type> will measure the
+ string's length), or the width in pixel when displayed with a specific
+ font (which <type>XStringWidth</type> 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
diff --git a/offapi/com/sun/star/util/XStringEscape.idl b/offapi/com/sun/star/util/XStringEscape.idl
new file mode 100644
index 000000000000..f73bf84c59ae
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringEscape.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XStringEscape_idl__
+#define __com_sun_star_util_XStringEscape_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+
+
diff --git a/offapi/com/sun/star/util/XStringMapping.idl b/offapi/com/sun/star/util/XStringMapping.idl
new file mode 100644
index 000000000000..b6afc14642e7
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringMapping.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XStringMapping_idl__
+#define __com_sun_star_util_XStringMapping_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** provides a mapping from <atom>string</atom> to <atom>string</atom>
+ */
+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
diff --git a/offapi/com/sun/star/util/XStringSubstitution.idl b/offapi/com/sun/star/util/XStringSubstitution.idl
new file mode 100644
index 000000000000..e8d5eb682cf0
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringSubstitution.idl
@@ -0,0 +1,134 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XStringSubstitution_idl__
+#define __com_sun_star_util_XStringSubstitution_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+ 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 it's 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 successfull substitution is required. The
+ function throws a <type scope="com::sun::star::container">NoSuchElementException</type>
+ 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 it's 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 resubtituted.
+ */
+
+ string reSubstituteVariables( [in] string aText );
+
+ //-------------------------------------------------------------------------
+ /** Returns the current value of a variable.
+
+ <p>
+ The method iterates through it's internal variable list and tries to
+ find the given variable. If the variable is unkown a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+ </p>
+
+ @param variable
+ The name of a variable.
+
+ @return
+ Returns a string that represents the variable. If the
+ variable is unknown a <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+ */
+ string getSubstituteVariableValue( [in] string variable )
+ raises (::com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/util/XStringWidth.idl b/offapi/com/sun/star/util/XStringWidth.idl
new file mode 100644
index 000000000000..81d76dd79475
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringWidth.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XStringWidth_idl__
+#define __com_sun_star_util_XStringWidth_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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
diff --git a/offapi/com/sun/star/util/XTextSearch.idl b/offapi/com/sun/star/util/XTextSearch.idl
new file mode 100644
index 000000000000..cc9e45058c47
--- /dev/null
+++ b/offapi/com/sun/star/util/XTextSearch.idl
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_lang_XTextSearch_idl__
+#define __com_sun_star_lang_XTextSearch_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+//#include <com/sun/star/lang/CascadeTransliterator.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+
+published enum SearchAlgorithms {
+ ABSOLUTE, // "normal" a kind of Boyer-Moore
+ REGEXP, // regular expression
+ APPROXIMATE // Leveinstein distance
+};
+
+published constants SearchFlags
+{
+ //Flag for all search methods
+
+ /**
+ @deprecated : the constant ALL_IGNORE_CASE is never supported -
+ it must use the transliteration flags of
+ the SearchOptions.
+ <p>@see TransliterationModulesNew
+ */
+ const long ALL_IGNORE_CASE = 0x00000001;
+
+ /// Flag for normal (Boyer-Moore) search
+ const long NORM_WORD_ONLY = 0x00000010;
+
+ /// Flag for "regular expression" search / interpret as extended regular expression
+ const long REG_EXTENDED = 0x00000100;
+ /** Flag for "regular expression" search / No replace, i.e., avoid sub regular
+ expresions, return true/false to match
+
+<!-- JRH: Check this for sense of the expression. -->
+ */
+ const long REG_NOSUB = 0x00000200;
+
+ /// Flag for "regular expression" search / Special new line treatment
+ const long REG_NEWLINE = 0x00000400;
+
+ /** A NEWLINE character in string will not be matched by a period outside bracket
+ expression or by any form of a non matching list.
+ A circumflex (^) in pattern when used to specify expression anchoring
+<!-- JRH: anhoring to anchoring. -->
+ will match the zero length string immediately after a newline in string,
+ regardless of the setting of REG_NOTBOL
+ 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_NOTEOL
+*/
+ const long REG_NOT_BEGINOFLINE = 0x00000800;
+
+ /** 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_ENDOFLINE = 0x00001000;
+
+
+ /// Flags for "Weight Levenshtein-Distance" search
+ const long LEV_RELAXED = 0x00010000;
+};
+
+
+published struct SearchOptions {
+ //-------------------------------------------------------------------------
+ /// search type, can be: ABSOLUTE, REGEXP, APPROXIMATE
+ SearchAlgorithms algorithmType;
+
+ /** some flags - can be mixed
+
+ @see SearchFlags
+ */
+ long searchFlag;
+
+ /// the search text
+ string searchString;
+
+ /** the replace text
+ (is for optional replacing - SearchOption is only the data container for it)*/
+ string replaceString;
+
+ /// this is the language for case insensitive search
+ ::com::sun::star::lang::Locale Locale;
+
+ /** this many characters can be different between the found and search word
+ in a "Weight Levenshtein-Distance"*/
+ long changedChars;
+
+ /** this many characters can be missed in the found word
+ in a "Weight Levenshtein-Distance"*/
+ long deletedChars;
+
+ /// this many characters can be additional in the found word in a "Weight Levenshtein-Distance"
+ long insertedChars;
+
+ /** asian flags for the transliteration. Same meaning as the enum of TransliteratorModule
+
+ @see com/sun/star/i18n/XTransliteration.idl
+ */
+ long transliterateFlags;
+};
+
+
+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 offset 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; // inclusive
+ sequence<long> endOffset; // exclusive
+};
+
+
+
+/** 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 then 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
diff --git a/offapi/com/sun/star/util/XTimeStamped.idl b/offapi/com/sun/star/util/XTimeStamped.idl
new file mode 100644
index 000000000000..39b2f3f5085b
--- /dev/null
+++ b/offapi/com/sun/star/util/XTimeStamped.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_XTimeStamped_idl__
+#define __com_sun_star_util_XTimeStamped_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+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 <atom>string</atom> that represents a timestamp.
+ */
+ string getTimestamp() ;
+
+ //------------------------------------------------------------------------
+} ;
+
+} ; } ; } ; } ;
+#endif
diff --git a/offapi/com/sun/star/util/XURLTransformer.idl b/offapi/com/sun/star/util/XURLTransformer.idl
new file mode 100644
index 000000000000..38232255fa22
--- /dev/null
+++ b/offapi/com/sun/star/util/XURLTransformer.idl
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XURLTransformer_idl__
+#define __com_sun_star_util_XURLTransformer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+
+//=============================================================================
+
+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 <member>URL::Complete</member> which should contain
+ a syntactically complete URL.
+
+ <p>
+ The implementation is allowed to correct minor failures in <member>URL::Complete</member>
+ 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. <member>URL::Complete</member>
+ can be overwritten if the implementation corrected minor failures.
+
+ @returns
+ <TRUE/> if parsing was successfully (means if given URL was syntactically correct)
+ or <FALSE/> otherwhise.
+ */
+ boolean parseStrict( [inout] com::sun::star::util::URL aURL );
+
+ //-------------------------------------------------------------------------
+ /** parses the string in <member>URL::Complete</member>, 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
+ <member>URL::Complete</member> 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
+ <member>URL::Complete</member>.
+
+ @param sSmartProtocol
+ optional information which protocol specification should be used to parse
+ member<member>URL::Complete</member>. If empty the implementation can use a
+ protocol which fit best.
+
+ @returns
+ <TRUE/> if parsing was successful (means if <member>URL::Complete</member> 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 <member>URL::Complete</member>
+
+ @param aURL
+ the URL which contains alls neccessary information in a structured form. The
+ member <member>URL::Complete</member> contains the URL in string notation after
+ the operation finished successfully. Otherwise the content of <member>URL::complete</member>
+ is not defined.
+
+ @returns
+ <TRUE/> if assembling was successfully 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 usefull to show an 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
diff --git a/offapi/com/sun/star/util/XUniqueIDFactory.idl b/offapi/com/sun/star/util/XUniqueIDFactory.idl
new file mode 100644
index 000000000000..e79c36ab9c09
--- /dev/null
+++ b/offapi/com/sun/star/util/XUniqueIDFactory.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_container_XUniqueIDFactory_idl__
+#define __com_sun_star_container_XUniqueIDFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/XUpdatable.idl b/offapi/com/sun/star/util/XUpdatable.idl
new file mode 100644
index 000000000000..ed221a36ecdd
--- /dev/null
+++ b/offapi/com/sun/star/util/XUpdatable.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#define __com_sun_star_util_XUpdatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XRefreshListener_idl__
+#include <com/sun/star/util/XRefreshListener.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/util/makefile.mk b/offapi/com/sun/star/util/makefile.mk
new file mode 100644
index 000000000000..87dc2d078037
--- /dev/null
+++ b/offapi/com/sun/star/util/makefile.mk
@@ -0,0 +1,154 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssutil
+PACKAGE=com$/sun$/star$/util
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ MeasureUnit.idl\
+ AliasProgrammaticPair.idl \
+ CellProtection.idl\
+ ChangesEvent.idl\
+ ChangesSet.idl \
+ CloseVetoException.idl\
+ Color.idl\
+ Date.idl\
+ DateTime.idl\
+ DateTimeRange.idl\
+ DiskFullException.idl\
+ Duration.idl\
+ ElementChange.idl \
+ Endianness.idl \
+ FileIOException.idl\
+ InvalidStateException.idl\
+ Language.idl\
+ NumberFormat.idl\
+ NumberFormatProperties.idl\
+ NumberFormats.idl\
+ NumberFormatSettings.idl\
+ NumberFormatsSupplier.idl\
+ NumberFormatter.idl\
+ ModeChangeEvent.idl\
+ ReplaceDescriptor.idl\
+ SearchDescriptor.idl\
+ Sortable.idl\
+ SortDescriptor.idl\
+ SortDescriptor2.idl\
+ SortField.idl\
+ SortFieldType.idl\
+ TextSearch.idl\
+ Time.idl\
+ TriState.idl\
+ URL.idl\
+ URLTransformer.idl\
+ XArchiver.idl\
+ XCancellable.idl\
+ XCancelManager.idl\
+ XChainable.idl\
+ XChangesBatch.idl \
+ XChangesListener.idl \
+ XChangesNotifier.idl \
+ XChangesSet.idl \
+ XCloneable.idl\
+ XCloseable.idl\
+ XCloseBroadcaster.idl\
+ XCloseListener.idl\
+ XFlushable.idl\
+ XFlushListener.idl\
+ XImportable.idl\
+ XIndent.idl\
+ XLinkUpdate.idl\
+ XLocalizedAliases.idl\
+ XMergeable.idl\
+ XModeChangeBroadcaster.idl\
+ XModeChangeListener.idl\
+ XModeChangeApproveListener.idl\
+ XModeSelector.idl\
+ XModifiable.idl\
+ XModifiable2.idl\
+ XModifyBroadcaster.idl\
+ XBroadcaster.idl\
+ XModifyListener.idl\
+ XNumberFormatPreviewer.idl\
+ XNumberFormats.idl\
+ XNumberFormatsSupplier.idl\
+ XNumberFormatter.idl\
+ XNumberFormatTypes.idl\
+ XPropertyReplace.idl\
+ XProtectable.idl\
+ XRefreshable.idl\
+ XRefreshListener.idl\
+ XReplaceable.idl\
+ XReplaceDescriptor.idl\
+ XSearchable.idl\
+ XSearchDescriptor.idl\
+ XSimpleErrorHandler.idl\
+ XSortable.idl\
+ XStringAbbreviation.idl\
+ XStringWidth.idl\
+ XStringMapping.idl\
+ XStringEscape.idl\
+ XTextSearch.idl\
+ XUpdatable.idl\
+ XURLTransformer.idl\
+ XUniqueIDFactory.idl\
+ VetoException.idl\
+ DataEditorEventType.idl\
+ DataEditorEvent.idl\
+ XDataEditorListener.idl\
+ XDataEditor.idl\
+ MalformedNumberFormatException.idl\
+ NotNumericException.idl\
+ XAtomServer.idl\
+ AtomClassRequest.idl\
+ AtomDescription.idl\
+ XStringSubstitution.idl\
+ PathSettings.idl\
+ PathSubstitution.idl\
+ XTimeStamped.idl\
+ OfficeInstallationDirectories.idl\
+ XOfficeInstallationDirectories.idl\
+ RevisionTag.idl\
+ UriAbbreviation.idl\
+ XJobManager.idl\
+ JobManager.idl\
+ XLockable.idl\
+ NotLockedException.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/view/DocumentZoomType.idl b/offapi/com/sun/star/view/DocumentZoomType.idl
new file mode 100644
index 000000000000..f922e4c19dd0
--- /dev/null
+++ b/offapi/com/sun/star/view/DocumentZoomType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+ <member>ViewSettings::ZoomValue</member>.
+ */
+ const short BY_VALUE = 3;
+ //-------------------------------------------------------------------------
+ /** The page width at the current selection is fit into the view,
+ with zhe view ends exactly at the end of the page.
+ */
+ const short PAGE_WIDTH_EXACT = 4;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/DuplexMode.idl b/offapi/com/sun/star/view/DuplexMode.idl
new file mode 100644
index 000000000000..d25425232516
--- /dev/null
+++ b/offapi/com/sun/star/view/DuplexMode.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/view/OfficeDocumentView.idl b/offapi/com/sun/star/view/OfficeDocumentView.idl
new file mode 100644
index 000000000000..1ff13bc13f54
--- /dev/null
+++ b/offapi/com/sun/star/view/OfficeDocumentView.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_OfficeDocumentView_idl__
+#define __com_sun_star_view_OfficeDocumentView_idl__
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_view_XViewSettingsSupplier_idl__
+#include <com/sun/star/view/XViewSettingsSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_view_XControlAccess_idl__
+#include <com/sun/star/view/XControlAccess.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/PaperFormat.idl b/offapi/com/sun/star/view/PaperFormat.idl
new file mode 100644
index 000000000000..89b197d41ef9
--- /dev/null
+++ b/offapi/com/sun/star/view/PaperFormat.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/view/PaperOrientation.idl b/offapi/com/sun/star/view/PaperOrientation.idl
new file mode 100644
index 000000000000..412c889b472e
--- /dev/null
+++ b/offapi/com/sun/star/view/PaperOrientation.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/view/PrintJobEvent.idl b/offapi/com/sun/star/view/PrintJobEvent.idl
new file mode 100644
index 000000000000..f1f81f3affa3
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintJobEvent.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_PrintJobEvent_idl__
+#define __com_sun_star_view_PrintJobEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_view_PrintableState_idl__
+#include <com/sun/star/view/PrintableState.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//=============================================================================
+
+/** specifies the print progress of an <type>XPrintJob</type>.
+
+ <p><member scope="com::sun::star::lang">EventObject::Source</member>
+ contains the <type>XPrintJob</type> 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
diff --git a/offapi/com/sun/star/view/PrintOptions.idl b/offapi/com/sun/star/view/PrintOptions.idl
new file mode 100644
index 000000000000..3bad70f490e7
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintOptions.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <member>Collate</member> 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 <type>XPrintable</type>.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 reommended.
+ Otherwhise following actions (as e.g. closing the corresponding model) can fail.
+ */
+ [optional, property] boolean Wait;
+
+ //-------------------------------------------------------------------------
+ /** determines the duplex mode for the print job.
+
+ @see <type>DuplexMode</type> for more information about supported values
+ */
+ [optional, property] short DuplexMode;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/PrintSettings.idl b/offapi/com/sun/star/view/PrintSettings.idl
new file mode 100644
index 000000000000..2b1c54d90578
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintSettings.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 independet 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
diff --git a/offapi/com/sun/star/view/PrintableState.idl b/offapi/com/sun/star/view/PrintableState.idl
new file mode 100644
index 000000000000..683321578a7c
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintableState.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XPrintable</type>.
+
+ <p>Printing consists of two abstract phases: rendering the document
+ for the printer and then sending it to the printer (spooling).
+ <type>PrintableState</type> 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
diff --git a/offapi/com/sun/star/view/PrintableStateEvent.idl b/offapi/com/sun/star/view/PrintableStateEvent.idl
new file mode 100644
index 000000000000..a0a92cc02c6c
--- /dev/null
+++ b/offapi/com/sun/star/view/PrintableStateEvent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_PrintableStateEvent_idl__
+#define __com_sun_star_view_PrintableStateEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_view_PrintableState_idl__
+#include <com/sun/star/view/PrintableState.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//=============================================================================
+
+/** specifies the print progress of an <type>XPrintable</type>.
+
+ <p><member scope="com::sun::star::lang">EventObject::Source</member>
+ contains the <type>XPrintable</type> having changed its state</p>.
+
+ */
+published struct PrintableStateEvent : com::sun::star::lang::EventObject
+{
+ /// contains the current state.
+ PrintableState State;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/PrinterDescriptor.idl b/offapi/com/sun/star/view/PrinterDescriptor.idl
new file mode 100644
index 000000000000..006e1969fedb
--- /dev/null
+++ b/offapi/com/sun/star/view/PrinterDescriptor.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_PrinterDescriptor_idl__
+#define __com_sun_star_view_PrinterDescriptor_idl__
+
+#ifndef __com_sun_star_view_PaperOrientation_idl__
+#include <com/sun/star/view/PaperOrientation.idl>
+#endif
+
+#ifndef __com_sun_star_view_PaperFormat_idl__
+#include <com/sun/star/view/PaperFormat.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type scope="com::sun::star::beans" dim="[]">PropertyValue</type>.
+
+ @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
+ <member>PrinterDescriptor</member>PaperSize</member.</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
+ <member>PrinterDescriptor</member>PaperFormat</member.</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
+ <member>PrinterDescriptor::PaperOrientation</member>.
+ */
+ [readonly, property] boolean CanSetPaperOrientation;
+
+ //-------------------------------------------------------------------------
+ /** indicates, whether the printer allows changes to
+ <member>PrinterDescriptor::PaperFormat</member>.
+ */
+ [readonly, property] boolean CanSetPaperFormat;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates if the printer allows changes to
+ <member>PrinterDescriptor::PaperSize</member>.
+ */
+ [readonly, property] boolean CanSetPaperSize;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/RenderDescriptor.idl b/offapi/com/sun/star/view/RenderDescriptor.idl
new file mode 100644
index 000000000000..7aa5e058471c
--- /dev/null
+++ b/offapi/com/sun/star/view/RenderDescriptor.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_RenderDescriptor_idl__
+#define __com_sun_star_view_RenderDescriptor_idl__
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/RenderOptions.idl b/offapi/com/sun/star/view/RenderOptions.idl
new file mode 100644
index 000000000000..d018872ff47b
--- /dev/null
+++ b/offapi/com/sun/star/view/RenderOptions.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_RenderOptions_idl__
+#define __com_sun_star_view_RenderOptions_idl__
+
+#ifndef __com_sun_star_awt_XDevice_idl__
+#include <com/sun/star/awt/XDevice.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/SelectionType.idl b/offapi/com/sun/star/view/SelectionType.idl
new file mode 100644
index 000000000000..c8aa07d27393
--- /dev/null
+++ b/offapi/com/sun/star/view/SelectionType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.
+ */
+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
diff --git a/offapi/com/sun/star/view/ViewSettings.idl b/offapi/com/sun/star/view/ViewSettings.idl
new file mode 100644
index 000000000000..49947a40467f
--- /dev/null
+++ b/offapi/com/sun/star/view/ViewSettings.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_ViewSettings_idl__
+#define __com_sun_star_view_ViewSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+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;
+
+ //-------------------------------------------------------------------------
+ /** specfifies 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
diff --git a/offapi/com/sun/star/view/XControlAccess.idl b/offapi/com/sun/star/view/XControlAccess.idl
new file mode 100644
index 000000000000..1a7264320fd8
--- /dev/null
+++ b/offapi/com/sun/star/view/XControlAccess.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XControlAccess_idl__
+#define __com_sun_star_view_XControlAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControl_idl__
+#include <com/sun/star/awt/XControl.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XControlModel_idl__
+#include <com/sun/star/awt/XControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XFormLayerAccess.idl b/offapi/com/sun/star/view/XFormLayerAccess.idl
new file mode 100644
index 000000000000..165f79dd0c44
--- /dev/null
+++ b/offapi/com/sun/star/view/XFormLayerAccess.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __offapi_com_sun_star_view_XFormLayerAccess_idl__
+#define __offapi_com_sun_star_view_XFormLayerAccess_idl__
+
+#ifndef __com_sun_star_view_XControlAccess_idl__
+#include <com/sun/star/view/XControlAccess.idl>
+#endif
+#ifndef __com_sun_star_form_XForm_idl__
+#include <com/sun/star/form/XForm.idl>
+#endif
+#ifndef __com_sun_star_form_runtime_XFormController_idl__
+#include <com/sun/star/form/runtime/XFormController.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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 <type scope="com::sun::star::form">FormController</type>
+ 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 <type scope="com::sun::star::frame">XDispatchProvider</type>),
+ 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 <type scope="com::sun::star::frame">XDispatchProvider</type>),
+ and changing the current mode is the same as dispatching this feature URL.</p>
+ */
+ void setFormDesignMode( [in] boolean DesignMode );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/view/XLineCursor.idl b/offapi/com/sun/star/view/XLineCursor.idl
new file mode 100644
index 000000000000..320831f308ba
--- /dev/null
+++ b/offapi/com/sun/star/view/XLineCursor.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XLineCursor_idl__
+#define __com_sun_star_view_XLineCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XMultiSelectionSupplier.idl b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl
new file mode 100644
index 000000000000..8d5d7e07fb52
--- /dev/null
+++ b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XMultiSelectionSupplier_idl__
+#define __com_sun_star_view_XMultiSelectionSupplier_idl__
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumeration_idl__
+#include <com/sun/star/container/XEnumeration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//=============================================================================
+
+/** makes it possible to append and remove objects from a selection.
+
+ <p>The method <method>XSelectionSupplier::setSelection</method> for an
+ instance that also supports <type>XMultiSelectionSupplier</method> 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 <type>XMultiSelectionSupplier</type>.
+
+ @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>
+
+ @raises com::sun::star::lang::IllegalArgumentException
+ If <var>Selection</var> is not a selectable object for this <type>XMultiSelectionSupplier</type>.
+ <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 <type>XMultiSelectionSupplier</type>.
+
+ @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>.
+
+ @raises com::sun::star::lang::IllegalArgumentException
+ If <var>Selection</var> is not a selectable object for this <type>XMultiSelectionSupplier</type>.
+ <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 <type>XMultiSelectionSupplier</type>.
+ */
+ void clearSelection();
+
+ //-------------------------------------------------------------------------
+
+ /** returns the number of selected objects of this <type>XMultiSelectionSupplier</type>.
+ */
+ long getSelectionCount();
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a new object to enumerate the selection of this <type>XMultiSelectionSupplier</type>.
+ 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 <type>XMultiSelectionSupplier</type>
+ 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
diff --git a/offapi/com/sun/star/view/XPrintJob.idl b/offapi/com/sun/star/view/XPrintJob.idl
new file mode 100644
index 000000000000..5898b9f3a7ce
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJob.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintJob_idl__
+#define __com_sun_star_view_XPrintJob_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_view_XPrintable_idl__
+#include <com/sun/star/view/XPrintable.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//-----------------------------------------------------------------------------
+/** allows for getting information about a print job.
+
+ <p><type>XPrintJob</type> is implemented by print jobs that are created by
+ classes that implement <type>XPrintable</type>. 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
diff --git a/offapi/com/sun/star/view/XPrintJobBroadcaster.idl b/offapi/com/sun/star/view/XPrintJobBroadcaster.idl
new file mode 100644
index 000000000000..54335f834a51
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJobBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintJobBroadcaster_idl__
+#define __com_sun_star_view_XPrintJobBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_view_XPrintJobListener_idl__
+#include <com/sun/star/view/XPrintJobListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//-----------------------------------------------------------------------------
+/** allows for getting information about a print job.
+
+ <p><type>XPrintJobBroadcaster</type> can be implemented by classes which
+ implement <type>XPrintable</type>. It allows a <type>XPrintJobListener</type>
+ 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 <type>XPrintJobListener</type> to be notified about print progress.
+ */
+ [oneway] void addPrintJobListener( [in] XPrintJobListener xListener );
+
+ /** removes an <type>XPrintJobListener</type>.
+ */
+ [oneway] void removePrintJobListener( [in] XPrintJobListener xListener );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XPrintJobListener.idl b/offapi/com/sun/star/view/XPrintJobListener.idl
new file mode 100644
index 000000000000..74e6431e2848
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintJobListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintJobListener_idl__
+#define __com_sun_star_view_XPrintJobListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_view_PrintJobEvent_idl__
+#include <com/sun/star/view/PrintJobEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+/** receives events about print job progress.
+
+ <p><type>XPrintJobListener</type> can be registered to <type>XPrintJobBroadcaster</type>.
+ 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 <type>XPrintJob</type> having changed state and the new state.
+ */
+ [oneway] void printJobEvent( [in] PrintJobEvent Event );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XPrintPreview.idl b/offapi/com/sun/star/view/XPrintPreview.idl
new file mode 100644
index 000000000000..dfc242753788
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintPreview.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintPreview_idl__
+#define __com_sun_star_view_XPrintPreview_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//=============================================================================
+/** @deprecated
+*/
+published interface XPrintPreview: com::sun::star::uno::XInterface
+{
+ /** RowCount and ColumnCount contain the number of rows and columns
+ for pages displayed at any given time in this view.
+
+ <p>The minimum value is 1.
+ */
+ [attribute]short RowCount;
+ [attribute]short ColumnCount;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XPrintSettingsSupplier.idl b/offapi/com/sun/star/view/XPrintSettingsSupplier.idl
new file mode 100644
index 000000000000..349710d3b3cf
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintSettingsSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintSettingsSupplier_idl__
+#define __com_sun_star_view_XPrintSettingsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XPrintable.idl b/offapi/com/sun/star/view/XPrintable.idl
new file mode 100644
index 000000000000..f4bf1a5c5867
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintable.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintable_idl__
+#define __com_sun_star_view_XPrintable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XPrintableBroadcaster.idl b/offapi/com/sun/star/view/XPrintableBroadcaster.idl
new file mode 100644
index 000000000000..ab95537cd274
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintableBroadcaster.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintableBroadcaster_idl__
+#define __com_sun_star_view_XPrintableBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_view_XPrintableListener_idl__
+#include <com/sun/star/view/XPrintableListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+//-----------------------------------------------------------------------------
+/** allows for getting information about a print job.
+
+ <p><type>XPrintableBroadcaster</type> can be implemented by classes which
+ implement <type>XPrintable</type>. It allows a <type>XPrintableListener</type>
+ 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 <type>XPrintableListener</type> to be notified about print progress.
+ */
+ [oneway] void addPrintableListener( [in] XPrintableListener xListener );
+
+ /** removes an <type>XPrintableListener</type>.
+ */
+ [oneway] void removePrintableListener( [in] XPrintableListener xListener );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XPrintableListener.idl b/offapi/com/sun/star/view/XPrintableListener.idl
new file mode 100644
index 000000000000..179e4c6e53f7
--- /dev/null
+++ b/offapi/com/sun/star/view/XPrintableListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XPrintableListener_idl__
+#define __com_sun_star_view_XPrintableListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_view_XPrintable_idl__
+#include <com/sun/star/view/XPrintable.idl>
+#endif
+
+#ifndef __com_sun_star_view_PrintableState_idl__
+#include <com/sun/star/view/PrintableStateEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module view {
+
+/** receives events about print job progress.
+
+ <p><type>XPrintableListener</type> can be registered to <type>XPrintableBroadcaster</type>.
+ 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 <type>XPrintable</type> having changed state and the new state.
+ */
+ [oneway] void stateChanged( [in] PrintableStateEvent Event );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XRenderable.idl b/offapi/com/sun/star/view/XRenderable.idl
new file mode 100644
index 000000000000..01c874e0e7ad
--- /dev/null
+++ b/offapi/com/sun/star/view/XRenderable.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XRenderable_idl__
+#define __com_sun_star_view_XRenderable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XScreenCursor.idl b/offapi/com/sun/star/view/XScreenCursor.idl
new file mode 100644
index 000000000000..6a4b520d52c5
--- /dev/null
+++ b/offapi/com/sun/star/view/XScreenCursor.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XScreenCursor_idl__
+#define __com_sun_star_view_XScreenCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XSelectionChangeListener.idl b/offapi/com/sun/star/view/XSelectionChangeListener.idl
new file mode 100644
index 000000000000..91e9d72d17c1
--- /dev/null
+++ b/offapi/com/sun/star/view/XSelectionChangeListener.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XSelectionChangeListener_idl__
+#define __com_sun_star_view_XSelectionChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>XSelectionSupplier</type> from
+ <member scope="com::sun::star::lang">EventObject::Source</member>.
+
+ */
+ [oneway] void selectionChanged( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XSelectionSupplier.idl b/offapi/com/sun/star/view/XSelectionSupplier.idl
new file mode 100644
index 000000000000..84ed18ee8287
--- /dev/null
+++ b/offapi/com/sun/star/view/XSelectionSupplier.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#define __com_sun_star_view_XSelectionSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionChangeListener_idl__
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+#endif
+
+
+//=============================================================================
+
+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
+ <method>XSelectionSupplier::addSelectionChangeListener</method>.
+ */
+ void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/XViewCursor.idl b/offapi/com/sun/star/view/XViewCursor.idl
new file mode 100644
index 000000000000..5d5b855a357f
--- /dev/null
+++ b/offapi/com/sun/star/view/XViewCursor.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XViewCursor_idl__
+#define __com_sun_star_view_XViewCursor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/view/XViewSettingsSupplier.idl b/offapi/com/sun/star/view/XViewSettingsSupplier.idl
new file mode 100644
index 000000000000..dbcedcda2c17
--- /dev/null
+++ b/offapi/com/sun/star/view/XViewSettingsSupplier.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_view_XViewSettingsSupplier_idl__
+#define __com_sun_star_view_XViewSettingsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+
+//=============================================================================
+
+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 <type>ViewSettings</type>.
+
+ <p>Subclasses might be returned instead, offering more settings. </p>
+ */
+ com::sun::star::beans::XPropertySet getViewSettings();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/view/makefile.mk b/offapi/com/sun/star/view/makefile.mk
new file mode 100644
index 000000000000..d07b67a6dd13
--- /dev/null
+++ b/offapi/com/sun/star/view/makefile.mk
@@ -0,0 +1,78 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssview
+PACKAGE=com$/sun$/star$/view
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DocumentZoomType.idl\
+ OfficeDocumentView.idl\
+ PaperFormat.idl\
+ PaperOrientation.idl\
+ PrintableState.idl\
+ PrintableStateEvent.idl\
+ PrinterDescriptor.idl\
+ PrintOptions.idl\
+ PrintSettings.idl\
+ RenderDescriptor.idl\
+ RenderOptions.idl\
+ ViewSettings.idl\
+ XControlAccess.idl\
+ XFormLayerAccess.idl\
+ XLineCursor.idl\
+ XPrintable.idl\
+ XPrintableBroadcaster.idl\
+ XPrintableListener.idl\
+ XPrintPreview.idl\
+ XPrintSettingsSupplier.idl\
+ XRenderable.idl\
+ XScreenCursor.idl\
+ XSelectionChangeListener.idl\
+ XSelectionSupplier.idl\
+ XViewCursor.idl\
+ XViewSettingsSupplier.idl\
+ PrintJobEvent.idl\
+ XPrintJob.idl\
+ XPrintJobBroadcaster.idl\
+ XPrintJobListener.idl\
+ XMultiSelectionSupplier.idl\
+ SelectionType.idl\
+ DuplexMode.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xforms/Binding.idl b/offapi/com/sun/star/xforms/Binding.idl
new file mode 100644
index 000000000000..8885d56a4d9e
--- /dev/null
+++ b/offapi/com/sun/star/xforms/Binding.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xforms_Binding_idl__
+#define __com_sun_star_xforms_Binding_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_ValueBinding_idl__
+#include <com/sun/star/form/binding/ValueBinding.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_ListEntrySource_idl__
+#include <com/sun/star/form/binding/ListEntrySource.idl>
+#endif
+
+#ifndef __com_sun_star_form_validation_XValidator_idl__
+#include <com/sun/star/form/validation/XValidator.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xforms {
+
+interface XSubmission;
+
+//=============================================================================
+
+/** represent a binding to one or more nodes in the DOM tree of an <type>XModel</type>.
+ */
+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
+ <type scope="com::sun::star::form::binding">ValueBinding</type> servce, 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;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl
new file mode 100644
index 000000000000..62174ddb8573
--- /dev/null
+++ b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xforms_InvalidDataOnSubmitException_idl__
+#define __com_sun_star_xforms_InvalidDataOnSubmitException_idl__
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xforms {
+
+//=============================================================================
+
+/** thrown if the user triggers an XForms submission with invalid
+ instance data
+
+ The <member scope="com::sun::star::uno">Exception::Source</member> member
+ refers to the submission which was invoked.
+
+*/
+exception InvalidDataOnSubmitException : com::sun::star::util::VetoException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xforms/XDataTypeRepository.idl b/offapi/com/sun/star/xforms/XDataTypeRepository.idl
new file mode 100644
index 000000000000..f2c2f1d2fd67
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XDataTypeRepository.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_XDataTypeRepository_idl__
+#define __com_sun_star_xsd_XDataTypeRepository_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+
+//=============================================================================
+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 <type scope="com::sun::star::xsd">XDataType</type>
+ 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
diff --git a/offapi/com/sun/star/xforms/XFormsEvent.idl b/offapi/com/sun/star/xforms/XFormsEvent.idl
new file mode 100644
index 000000000000..32fa94ec9ce9
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsEvent.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/xforms/XFormsSupplier.idl b/offapi/com/sun/star/xforms/XFormsSupplier.idl
new file mode 100644
index 000000000000..066cabc4918b
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xforms_XFormsSupplier_idl__
+#define __com_sun_star_xforms_XFormsSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/xforms/XFormsUIHelper1.idl b/offapi/com/sun/star/xforms/XFormsUIHelper1.idl
new file mode 100644
index 000000000000..35488ba2883d
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XFormsUIHelper1.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xforms_XFormsUIHelper1_idl__
+#define __com_sun_star_xforms_XFormsUIHelper1_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XSet.idl>
+#endif
+
+#ifndef __com_sun_star_xforms_XDataTypeRepository_idl__
+#include <com/sun/star/xforms/XDataTypeRepository.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocument.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_xforms_XModel_idl__
+#include <com/sun/star/xforms/XModel.idl>
+#endif
+
+
+//=============================================================================
+
+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.</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 propertyset 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
diff --git a/offapi/com/sun/star/xforms/XModel.idl b/offapi/com/sun/star/xforms/XModel.idl
new file mode 100644
index 000000000000..ea2e71bdd39a
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XModel.idl
@@ -0,0 +1,238 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xforms_XModel_idl__
+#define __com_sun_star_xforms_XModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XSet.idl>
+#endif
+
+#ifndef __com_sun_star_xforms_XDataTypeRepository_idl__
+#include <com/sun/star/xforms/XDataTypeRepository.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocument.idl>
+#endif
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+//=============================================================================
+
+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><member>getSubmission</member>( <arg>id</arg> ).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 occured during the submission. The
+ <member scope="com::sun::star::lang">WrappedTargetException::TargetException</member> 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><member>getSubmission</member>( <arg>id</arg>, <arg>handler</arg> ).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 occured during the submission. The
+ <member scope="com::sun::star::lang">WrappedTargetException::TargetException</member> 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 <type scope="com::sun::star::beans">PropertyValue</type>s,
+ 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
+ <member>getBindings</member></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
+ <member>getSubmissions</member>.</p>
+ */
+ XSubmission getSubmission( [in] string id );
+
+ /** get container containing all submissions; also supports XNameAccess
+ */
+ com::sun::star::container::XSet getSubmissions();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/xforms/XSubmission.idl b/offapi/com/sun/star/xforms/XSubmission.idl
new file mode 100644
index 000000000000..a7c11f661666
--- /dev/null
+++ b/offapi/com/sun/star/xforms/XSubmission.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_XSubmission_idl__
+#define __com_sun_star_xsd_XSubmission_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+#ifndef __com_sun_star_form_submission_XSubmission_idl__
+#include <com/sun/star/form/submission/XSubmission.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module xforms {
+
+//-----------------------------------------------------------------------------
+/** specifies a submission object, associated with an <type>XModel</type>
+*/
+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 <member scope="com::sun::star::form::submission">XSubmission::submit</member>
+ yields exactly the same result as calling <member>XModel::submit</member> of the model which
+ the submission belongs to, passing the ID of the submission.</p>
+ */
+ interface com::sun::star::form::submission::XSubmission;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xforms/makefile.mk b/offapi/com/sun/star/xforms/makefile.mk
new file mode 100644
index 000000000000..ff09cb53537e
--- /dev/null
+++ b/offapi/com/sun/star/xforms/makefile.mk
@@ -0,0 +1,55 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxforms
+PACKAGE=com$/sun$/star$/xforms
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XFormsSupplier.idl\
+ XModel.idl \
+ XDataTypeRepository.idl \
+ XFormsEvent.idl \
+ XFormsUIHelper1.idl \
+ XSubmission.idl \
+ Binding.idl \
+ InvalidDataOnSubmitException.idl \
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/Attribute.idl b/offapi/com/sun/star/xml/Attribute.idl
new file mode 100644
index 000000000000..e76137a311db
--- /dev/null
+++ b/offapi/com/sun/star/xml/Attribute.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/xml/AttributeContainer.idl b/offapi/com/sun/star/xml/AttributeContainer.idl
new file mode 100644
index 000000000000..74f34e7f5ac7
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeContainer.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_NamespaceContainer_idl__
+#define __com_sun_star_drawing_NamespaceContainer_idl__
+
+#ifndef __com_sun_star_container_xnamecontainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+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
diff --git a/offapi/com/sun/star/xml/AttributeData.idl b/offapi/com/sun/star/xml/AttributeData.idl
new file mode 100644
index 000000000000..4f8deab14a58
--- /dev/null
+++ b/offapi/com/sun/star/xml/AttributeData.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
diff --git a/offapi/com/sun/star/xml/ExportFilter.idl b/offapi/com/sun/star/xml/ExportFilter.idl
new file mode 100644
index 000000000000..aae508180607
--- /dev/null
+++ b/offapi/com/sun/star/xml/ExportFilter.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_EXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_EXPORTFILTER_IDL__
+
+#ifndef _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+#include <com/sun/star/xml/XExportFilter.idl>
+#endif
+
+
+module com { module sun { module star { module xml {
+
+/** describes an export filter for XML-based file formats.
+
+ <p>First, the <method>XExportFilter::exporter</method> 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 <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface. Error conditions must be signalled by throwing
+ a <type scope="com::sun::star::xml::sax">SAXException</type> in the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> calls.
+
+ @since OOo 1.1.2
+ */
+published service ExportFilter
+{
+ /** The data will be passed in through the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> calls. */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+ /** The <method>XExportFilter:exporter()</method> call will provide the
+ <type scope="com::sun::star::document">TypeDetection</type> user data
+ required to perform the filtering correctly.
+ */
+ interface com::sun::star::xml::XExportFilter;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/xml/FastAttribute.idl b/offapi/com/sun/star/xml/FastAttribute.idl
new file mode 100644
index 000000000000..a5ac2e236c75
--- /dev/null
+++ b/offapi/com/sun/star/xml/FastAttribute.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/xml/ImportFilter.idl b/offapi/com/sun/star/xml/ImportFilter.idl
new file mode 100644
index 000000000000..d95c7c099bf3
--- /dev/null
+++ b/offapi/com/sun/star/xml/ImportFilter.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_IMPORTFILTER_IDL__
+
+#ifndef _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+#include <com/sun/star/xml/XImportFilter.idl>
+#endif
+
+
+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
diff --git a/offapi/com/sun/star/xml/NamespaceContainer.idl b/offapi/com/sun/star/xml/NamespaceContainer.idl
new file mode 100644
index 000000000000..03319c029fa4
--- /dev/null
+++ b/offapi/com/sun/star/xml/NamespaceContainer.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_drawing_NamespaceContainer_idl__
+#define __com_sun_star_drawing_NamespaceContainer_idl__
+
+#ifndef __com_sun_star_container_xnamecontainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+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.
+*/
+published service NamespaceContainer
+{
+ interface com::sun::star::container::XNameContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..9d85e30bb255
--- /dev/null
+++ b/offapi/com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+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 <type>AttributeData</type> 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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer ParaUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..cde995ba8872
--- /dev/null
+++ b/offapi/com/sun/star/xml/TextUserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_TextUserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_TextUserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+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 <type>AttributeData</type> 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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer TextUserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl b/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl
new file mode 100644
index 000000000000..515ed93f7b07
--- /dev/null
+++ b/offapi/com/sun/star/xml/UserDefinedAttributeSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+#define _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+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 1.1.2
+
+ @deprecated because of typo in service name.
+ Please use the service UserDefinedAttributesSupplier instead.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+*/
+published service UserDefinedAttributeSupplier
+{
+ /** This container holds the <type>AttributeData</type> 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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ @deprecated because of typo in service name.
+ Please use the service UserDefinedAttributesSupplier instead.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl
new file mode 100644
index 000000000000..9a90a0f06609
--- /dev/null
+++ b/offapi/com/sun/star/xml/UserDefinedAttributesSupplier.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#define _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+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 <type>AttributeData</type> 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
+ <type scope="com::sun::star::container">XNameContainer</type>
+ supports the service <type>AttributeContainer</type>.</p>
+
+ */
+ [property] ::com::sun::star::container::XNameContainer UserDefinedAttributes;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/XExportFilter.idl b/offapi/com/sun/star/xml/XExportFilter.idl
new file mode 100644
index 000000000000..47051f579e2d
--- /dev/null
+++ b/offapi/com/sun/star/xml/XExportFilter.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XEXPORTFILTER_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the userdata 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
diff --git a/offapi/com/sun/star/xml/XImportFilter.idl b/offapi/com/sun/star/xml/XImportFilter.idl
new file mode 100644
index 000000000000..650a24d8b05c
--- /dev/null
+++ b/offapi/com/sun/star/xml/XImportFilter.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+#define _COM_SUN_STAR_XML_XIMPORTFILTER_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#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
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ which defines the data source
+
+ @param msUserData
+ Sequence of strings which contains the userdata 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
diff --git a/offapi/com/sun/star/xml/XMLExportFilter.idl b/offapi/com/sun/star/xml/XMLExportFilter.idl
new file mode 100644
index 000000000000..c66b6cb3bc60
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLExportFilter.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XMLExportFilter_idl__
+#define __com_sun_star_xml_XMLExportFilter_idl__
+
+
+#ifndef __com_sun_star_document_ExportFilter_idl__
+#include <com/sun/star/document/ExportFilter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** describes an export filter for XML-based file formats.
+
+ <p>It is an extension of <type scope="com::sun::star::document">ExportFilter</type>
+ and differs from it only in that an
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> needs to
+ be passed through the XInitialization interface. This
+ XDocumentHandler will then be used to export the XML data stream. */
+published service XMLExportFilter
+{
+ /** An com.sun.star.xml.sax.XDocumentHandler needs to be passed to
+ the <method scope="com::sun::star::lang">XInitialization::initialize</method> call.
+ */
+ service com::sun::star::document::ExportFilter;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/XMLImportFilter.idl b/offapi/com/sun/star/xml/XMLImportFilter.idl
new file mode 100644
index 000000000000..6e551859f720
--- /dev/null
+++ b/offapi/com/sun/star/xml/XMLImportFilter.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XMLImportFilter_idl__
+#define __com_sun_star_xml_XMLImportFilter_idl__
+
+
+#ifndef __com_sun_star_document_ImportFilter_idl__
+#include <com/sun/star/document/ImportFilter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml {
+
+//=============================================================================
+/** describes an import filter for XML-based file formats.
+
+ <p>It is an extension of <type scope="com::sun::star::document">ImportFilter</type>
+ and differs from it in that this filter additionally supports the
+ <type scope="com::sun::star::xml::sax">XDocumentHandler</type> 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
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 000000000000..bf947f5555d0
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SEInitializer.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_seinitializer_idl_
+#define __com_sun_star_xml_crypto_seinitializer_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XSEInitializer.idl>
+
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of SEInitializer
+ */
+service SEInitializer {
+ interface com::sun::star::xml::crypto::XSEInitializer ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..395ef0fb9201
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityEnvironment.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_securityenvironment_idl_
+#define __com_sun_star_xml_crypto_securityenvironment_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XSecurityEnvironment.idl>
+
+#include <com/sun/star/lang/XUnoTunnel.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XSecurityEnvironment
+ */
+service SecurityEnvironment {
+ interface com::sun::star::xml::crypto::XSecurityEnvironment ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XUnoTunnel;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..f7f07658d6f5
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/SecurityOperationStatus.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 definations, 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
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryption.idl b/offapi/com/sun/star/xml/crypto/XMLEncryption.idl
new file mode 100644
index 000000000000..7dc93ed7497d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryption.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlencryption_idl_
+#define __com_sun_star_xml_crypto_xmlencryption_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLEncryption.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLEncryption
+ */
+service XMLEncryption {
+ interface com::sun::star::xml::crypto::XXMLEncryption ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..21b5b9beb618
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryptionException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+#define __com_sun_star_xml_crypto_XMLEncryptionException_idl__
+
+#ifndef __com_sun_star_security_EncryptionException_idl__
+#include <com/sun/star/security/EncryptionException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module crypto {
+
+//=============================================================================
+
+exception XMLEncryptionException : com::sun::star::security::EncryptionException
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl b/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl
new file mode 100644
index 000000000000..694e4ed56f9b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLEncryptionTemplate.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlencryptiontemplate_idl_
+#define __com_sun_star_xml_crypto_xmlencryptiontemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLEncryptionTemplate
+ */
+service XMLEncryptionTemplate {
+ interface com::sun::star::xml::crypto::XXMLEncryptionTemplate ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..c047e8ae45be
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSecurityContext.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlsecuritycontext_idl_
+#define __com_sun_star_xml_crypto_xmlsecuritycontext_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSecurityContext.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSecurityContext
+ */
+service XMLSecurityContext {
+ interface com::sun::star::xml::crypto::XXMLSecurityContext ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..1153b7bb9c8f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignature.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+#include <com/sun/star/lang/XServiceInfo.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 ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..87d2d0ba05a4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignatureException.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_XMLSignatureException_idl__
+#define __com_sun_star_xml_crypto_XMLSignatureException_idl__
+
+#ifndef __com_sun_star_security_SignatureException_idl__
+#include <com/sun/star/security/SignatureException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module crypto {
+
+//=============================================================================
+
+exception XMLSignatureException : com::sun::star::security::SignatureException
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl b/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl
new file mode 100644
index 000000000000..3a4971e12ba1
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XMLSignatureTemplate.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xmlsignaturetemplate_idl_
+#define __com_sun_star_xml_crypto_xmlsignaturetemplate_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.idl>
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ * Service of XMLSignatureTemplate
+ */
+service XMLSignatureTemplate {
+ interface com::sun::star::xml::crypto::XXMLSignatureTemplate ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..5d41d3a03575
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 certificateDatabase the file or directory of the key materials
+ * @return the security context created
+ */
+ com::sun::star::xml::crypto::XXMLSecurityContext createSecurityContext(
+ [in] string certificateDatabase);
+
+ /**
+ * Frees a security context.
+ *
+ * @param securityContext the security context to be freed
+ */
+ void freeSecurityContext([in] com::sun::star::xml::crypto::XXMLSecurityContext securityContext);
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..2a22282be54c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+#define __com_sun_star_xml_crypto_xsecurityenvironment_idl_
+
+#ifndef __com_sun_star_uno_SecurityException_idl__
+#include <com/sun/star/uno/SecurityException.idl>
+#endif
+
+#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 certificate 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 infos
+ */
+ string getSecurityEnvironmentInformation ( );
+
+} ;
+
+} ; } ; } ; } ; } ;
+
+#endif
+
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 000000000000..8d1609ff80e7
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XUriBinding.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 aStream the XInputStream to be binded
+ */
+ void setUriBinding([in] string uri, [in] com::sun::star::io::XInputStream aInputStream)
+ 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 binded with the uri
+ */
+ com::sun::star::io::XInputStream getUriBinding([in] string uri)
+ raises( com::sun::star::uno::Exception );
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..5788b0482349
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryption.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 encrypter or decrypter.</p>
+ *
+ * <p>The encrypter or decrypter concrete a key by retrieve security context
+ * and encryption template.</p>
+ *
+ * <p>In some cases, the encrypter or decrypter can dertermine and locate the
+ * EncrytedKey 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 encrytpion 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
+
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 000000000000..c2ec51908fb6
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLEncryptionTemplate.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 a 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 a encryption
+ * template when performing decryption.</p>
+ *
+ * <p>In some cases, the encrypter or decrypter can dertermine and locate the
+ * EncrytedKey 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 encrypter or decrypter 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 some times, 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 encrypter or decrypter can determine
+ * and locate the EncrypedKet 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
+
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 000000000000..6e08c6dee3b0
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityContext.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 env.
+ */
+ 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
+
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 000000000000..bff443796200
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSecurityTemplate.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..fc61c07d17d3
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignature.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 vertifier.</p>
+ *
+ * <p>The signer or vertifier concrete a key by retrieve signature context and
+ * signature template.</p>
+ *
+ * <p>In some cases, the signer or vertifier can dertermine 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
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 000000000000..08098a8d590d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/XXMLSignatureTemplate.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 vertifier can dertermine 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>
+ *
+ * Owner: Andrew Fan
+ */
+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
+
diff --git a/offapi/com/sun/star/xml/crypto/makefile.mk b/offapi/com/sun/star/xml/crypto/makefile.mk
new file mode 100644
index 000000000000..4aa3957ac418
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/makefile.mk
@@ -0,0 +1,66 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-crypto
+PACKAGE=com$/sun$/star$/xml$/crypto
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XXMLSecurityTemplate.idl \
+ XXMLSignature.idl \
+ XXMLSignatureTemplate.idl \
+ XXMLEncryption.idl \
+ XXMLEncryptionTemplate.idl \
+ XXMLSecurityContext.idl \
+ XSecurityEnvironment.idl \
+ XSEInitializer.idl \
+ XMLSignature.idl \
+ XMLSignatureTemplate.idl \
+ XMLEncryption.idl \
+ XMLEncryptionTemplate.idl \
+ XMLSecurityContext.idl \
+ SecurityEnvironment.idl \
+ SEInitializer.idl \
+ XMLSignatureException.idl \
+ XMLEncryptionException.idl \
+ XUriBinding.idl \
+ SecurityOperationStatus.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl b/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl
new file mode 100644
index 000000000000..6b8323b19893
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/Decryptor.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_decryptor_idl_
+#define __com_sun_star_xml_crypto_sax_decryptor_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/lang/XServiceInfo.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XBlockerMonitor.idl"
+#include "XDecryptionResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of Decryptor
+ */
+service Decryptor {
+ interface XReferenceResolvedListener ;
+ interface XBlockerMonitor ;
+ interface XDecryptionResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl b/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl
new file mode 100644
index 000000000000..82d32ebfbae1
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/Encryptor.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_encryptor_idl_
+#define __com_sun_star_xml_crypto_sax_encryptor_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/lang/XServiceInfo.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XBlockerMonitor.idl"
+#include "XEncryptionResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of Encryptor
+ */
+service Encryptor {
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XBlockerMonitor ;
+ interface XEncryptionResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl b/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl
new file mode 100644
index 000000000000..0a70aac82c80
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SAXEventKeeper.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_saxeventkeeper_idl_
+#define __com_sun_star_xml_crypto_sax_saxeventkeeper_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/lang/XInitialization.idl>
+#include <com/sun/star/lang/XServiceInfo.idl>
+
+#include "XSecuritySAXEventKeeper.idl"
+#include "XReferenceResolvedBroadcaster.idl"
+#include "XSAXEventKeeperStatusChangeBroadcaster.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of SAXEventKeeper
+ */
+service SAXEventKeeper {
+ interface XSecuritySAXEventKeeper ;
+ interface XReferenceResolvedBroadcaster ;
+ interface XSAXEventKeeperStatusChangeBroadcaster ;
+ interface com::sun::star::xml::sax::XDocumentHandler ;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl b/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl
new file mode 100644
index 000000000000..6660008a6d04
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SignatureCreator.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+ //i20156 - new file for xmlsecurity module
+
+ /** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_signaturecreator_idl_
+#define __com_sun_star_xml_crypto_sax_signaturecreator_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/lang/XServiceInfo.idl>
+
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XSignatureCreationResultBroadcaster.idl"
+#include "XBlockerMonitor.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/*
+ * * Service of SignatureCreator
+ */
+
+service SignatureCreator
+{
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XSignatureCreationResultBroadcaster ;
+ interface XBlockerMonitor ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::xml::crypto::XUriBinding;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+} ; } ; } ; } ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl b/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl
new file mode 100644
index 000000000000..b3355e2e98b4
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/SignatureVerifier.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_signatureverifier_idl_
+#define __com_sun_star_xml_crypto_sax_signatureverifier_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/lang/XServiceInfo.idl>
+
+#include <com/sun/star/xml/crypto/XUriBinding.idl>
+
+#include "XReferenceResolvedListener.idl"
+#include "XReferenceCollector.idl"
+#include "XSignatureVerifyResultBroadcaster.idl"
+#include "XKeyCollector.idl"
+#include "XMissionTaker.idl"
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Service of SignatureVerifier
+ */
+service SignatureVerifier {
+ interface XReferenceResolvedListener ;
+ interface XReferenceCollector ;
+ interface XSignatureVerifyResultBroadcaster ;
+ interface XKeyCollector ;
+ interface XMissionTaker ;
+ interface com::sun::star::xml::crypto::XUriBinding;
+ interface com::sun::star::lang::XInitialization ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+ } ; } ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..07cec12ad824
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XBlockerMonitor.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..be29d4ee49fd
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultBroadcaster.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..e8a420b21f27
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XDecryptionResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..7b3e1a1039bc
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XElementStackKeeper.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+
+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;
+};
+
+/**
+ * Manipulate the "key SAX events" in a SAX event stream.
+ *
+ * @see XSecController
+ */
+interface XElementStackKeeper : com::sun::star::uno::XInterface
+{
+ /**
+ * Starts to buffer key SAX events.
+ */
+ void start();
+
+ /**
+ * Stops buffering key SAX events.
+ */
+ void stop();
+
+ /**
+ * Transfers the bufferred 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
+
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 000000000000..7d77439ed710
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultBroadcaster.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..0eca5a84d413
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XEncryptionResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..a7bc3c5c807f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XKeyCollector.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..6f902a867b65
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XMissionTaker.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 controll 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
+
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 000000000000..10e79fbcb58d
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceCollector.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xsignaturecollector_idl_
+#define __com_sun_star_xml_crypto_sax_xsignaturecollector_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 colllector 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
+
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 000000000000..dba649deea7c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedBroadcaster.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 a 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 a 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
+
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 000000000000..485f6090725b
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XReferenceResolvedListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 a 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
+
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 000000000000..20f8a0289f5c
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 a 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 bufferred elements.
+ *
+ * @return a tree-style string including all buffer informtion
+ */
+ 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
+
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 000000000000..87991d07c7f9
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..9d04a0ba1757
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSAXEventKeeperStatusChangeListener.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl b/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl
new file mode 100644
index 000000000000..872f27d2a78f
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSecurityController.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#ifndef __com_sun_star_xml_crypto_sax_xbuffercontroller_idl_
+#define __com_sun_star_xml_crypto_sax_xbuffercontroller_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/io/XInputStream.idl>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Interface of XML Security Controller
+ * <p>
+ * This interface is used to control security operations in the XML security framework.
+ */
+interface XSecurityController : com::sun::star::uno::XInterface
+{
+};
+
+} ; } ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..16b52279a556
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSecuritySAXEventKeeper.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+
+module com { module sun { module star { module xml { module crypto { module sax {
+
+/**
+ * Represents the undefined security id
+ */
+constants ConstOfSecurityId
+{
+ const long UNDEFINEDSECURITYID = -1;
+};
+
+/**
+ * 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 proirity 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
+};
+
+/**
+ * Defines types of element mark.
+ * <p>
+ * the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
+ * type represents a element collector.
+ */
+enum ElementMarkType
+{
+ ELEMENTMARK = 1,
+ ELEMENTCOLLECTOR
+};
+
+/**
+ * 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);
+
+ /**
+ * Clones an element collector.
+ *
+ * @param referenceId the keeper id of the element collector to
+ * be cloned
+ * @param priority the priority of new element collector. See
+ * ConstOfPriority
+ * @return the keeper id of the new element collector
+ */
+ long cloneElementCollector(
+ [in] long referenceId,
+ [in] ElementMarkPriority priority);
+
+ /**
+ * 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
+
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 000000000000..ff65155a6491
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..7d488ef640bf
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureCreationResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..de557f356f44
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultBroadcaster.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
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 000000000000..a9de2fb7ef90
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/XSignatureVerifyResultListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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
+
diff --git a/offapi/com/sun/star/xml/crypto/sax/makefile.mk b/offapi/com/sun/star/xml/crypto/sax/makefile.mk
new file mode 100644
index 000000000000..a95aef560bea
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/sax/makefile.mk
@@ -0,0 +1,72 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-sax
+PACKAGE=com$/sun$/star$/xml$/crypto$/sax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XSecurityController.idl \
+ XElementStackKeeper.idl \
+ XSAXEventKeeper.idl \
+ XSecuritySAXEventKeeper.idl \
+ XSAXEventKeeperStatusChangeBroadcaster.idl \
+ XSAXEventKeeperStatusChangeListener.idl \
+ XKeyCollector.idl \
+ XReferenceCollector.idl \
+ XBlockerMonitor.idl \
+ XMissionTaker.idl \
+ XEncryptionResultBroadcaster.idl \
+ XEncryptionResultListener.idl \
+ XDecryptionResultBroadcaster.idl \
+ XDecryptionResultListener.idl \
+ XSignatureCreationResultBroadcaster.idl \
+ XSignatureCreationResultListener.idl \
+ XSignatureVerifyResultBroadcaster.idl \
+ XSignatureVerifyResultListener.idl \
+ XReferenceResolvedBroadcaster.idl \
+ XReferenceResolvedListener.idl \
+ SignatureCreator.idl \
+ SignatureVerifier.idl \
+ Decryptor.idl \
+ Encryptor.idl \
+ SAXEventKeeper.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..bcab642f7155
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/XCompressedDocumentHandler.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+#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>
+
+
+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;
+};
+
+/**
+ * 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 _startDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _endDocument()
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _startElement( [in] string aName, [in] sequence< XMLAttribute > aAttributes)
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _endElement( [in] string aName )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _characters( [in] string aChars )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _ignorableWhitespace( [in] string aWhitespaces )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _processingInstruction( [in] string aTarget, [in] string aData )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ void _setDocumentLocator( [in] long columnNumber, [in] long lineNumber, [in] string publicId, [in] string systemId)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
diff --git a/offapi/com/sun/star/xml/csax/makefile.mk b/offapi/com/sun/star/xml/csax/makefile.mk
new file mode 100644
index 000000000000..8f41b54264b8
--- /dev/null
+++ b/offapi/com/sun/star/xml/csax/makefile.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-csax
+PACKAGE=com$/sun$/star$/xml$/csax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XCompressedDocumentHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..d344af889bbe
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#define __com_sun_star_xml_dom_DOMException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMExceptionType_idl__
+#include <com/sun/star/xml/dom/DOMExceptionType.idl>
+#endif
+
+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
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 000000000000..2b83bf25fd74
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DOMExceptionType.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..0804dc6df201
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/DocumentBuilder.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_dom_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+#ifndef __com_sun_star_xml_dom_xdocumentbuilder_idl
+#include <com/sun/star/xml/dom/XDocumentBuilder.idl>
+#endif
+module com { module sun { module star { module xml { module dom {
+
+ service DocumentBuilder
+ {
+ interface XDocumentBuilder;
+ };
+};};};};};
+#endif
+
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 000000000000..1a70489e3c8e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/NodeType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..4c9dffd36dda
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilder.idl
@@ -0,0 +1,19 @@
+#ifndef __com_sun_star_xml_dom_documentbuilder_idl
+#define __com_sun_star_xml_dom_documentbuilder_idl
+#ifndef __com_sun_star_xml_sax_xdocumenthandler_idl
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XSAXDocumentBuilder_idl
+#include <com/sun/star/xml/dom/XSAXDocumentBuilder.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+ service SAXDocumentBuilder
+ {
+ interface XSAXDocumentBuilder;
+ interface com::sun::star::xml::sax::XDocumentHandler;
+ };
+};};};};};
+#endif
+
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 000000000000..61344a0b78c6
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/SAXDocumentBuilderState.idl
@@ -0,0 +1,44 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..7d4a010e3723
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XAttr.idl
@@ -0,0 +1,73 @@
+/************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#define __com_sun_star_xml_sax_XAttr_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..a484ccabca34
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCDATASection.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XCDATASection_idl__
+#define __com_sun_star_xml_dom_XCDATASection_idl__
+
+#ifndef __com_sun_star_xml_dom_XText_idl__
+#include <com/sun/star/xml/dom/XText.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XCDATASection: XText
+{
+};
+};};};};};
+
+#endif
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 000000000000..380c705d6359
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XCharacterData.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#define __com_sun_star_xml_dom_XCharacterData_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..36a6a6e6afe7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XComment.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XComment_idl__
+#define __com_sun_star_xml_dom_XCComment_idl__
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+#endif
+
+
+module com { module sun { module star { module xml { module dom {
+
+interface XComment: XCharacterData
+{
+};
+};};};};};
+
+#endif
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 000000000000..f8003fce26e2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDOMImplementation.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#define __com_sun_star_xml_dom_XDOMImplementation_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#include <com/sun/star/xml/dom/DOMException.idl>
+#endif
+
+
+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
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 000000000000..6bd105d8e06c
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocument.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#define __com_sun_star_xml_dom_XDocument_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#include <com/sun/star/xml/dom/XAttr.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XCDATASection_idl__
+#include <com/sun/star/xml/dom/XCDATASection.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XComment_idl__
+#include <com/sun/star/xml/dom/XComment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentFragemnt_idl__
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XEntityReference_idl__
+#include <com/sun/star/xml/dom/XEntityReference.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XProcessingInstruction_idl__
+#include <com/sun/star/xml/dom/XProcessingInstruction.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentType_idl__
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#endif
+
+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
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 000000000000..e2245e9d3153
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentBuilder.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XDocumentBuilder_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocumentType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDOMImplementation_idl__
+#include <com/sun/star/xml/dom/XDOMImplementation.idl>
+#endif
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+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
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 000000000000..cbc8af63b923
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentFragment.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentFragment_idl__
+#define __com_sun_star_xml_dom_XDocumentFragment_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XDocumentFragment: XNode
+{
+};
+}; }; }; }; };
+
+#endif
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 000000000000..ce6495214bcf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XDocumentType.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XDocumentType_idl__
+#define __com_sun_star_xml_dom_XDocumentType_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+#endif
+
+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
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 000000000000..dc0373467a53
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XElement.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XElement_idl__
+#define __com_sun_star_xml_dom_XElement_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XAttr_idl__
+#include <com/sun/star/xml/dom/XAttr.idl>
+#endif
+
+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
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 000000000000..7396a42aa190
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntity.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XEntety_idl__
+#define __com_sun_star_xml_dom_XEntety_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..cec97fdf0219
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XEntityReference.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XEntetyReference_idl__
+#define __com_sun_star_xml_dom_XEntetyReference_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+module com { module sun { module star { module xml { module dom {
+
+interface XEntityReference: XNode
+{
+};
+}; }; }; }; };
+
+#endif
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 000000000000..d5ea97e1ef69
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNamedNodeMap.idl
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#define __com_sun_star_xml_dom_XNamedNodeMap_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_DOMException_idl__
+#include <com/sun/star/xml/dom/DOMException.idl>
+#endif
+
+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 the indexth item in the map.
+ */
+ 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
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 000000000000..a86220300412
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNode.idl
@@ -0,0 +1,282 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#define __com_sun_star_xml_dom_XNode_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_NodeType_idl__
+#include <com/sun/star/xml/dom/NodeType.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNamedNodeMap_idl__
+#include <com/sun/star/xml/dom/XNamedNodeMap.idl>
+#endif
+
+
+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.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
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 000000000000..a59d2aa7a70a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNodeList.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#define __com_sun_star_xml_dom_XNodeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+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 the indexth item in the collection.
+ */
+ XNode item([in] long index);
+};
+}; }; }; }; };
+
+#endif
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 000000000000..6198cdd491e9
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XNotation.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XNotation_idl__
+#define __com_sun_star_xml_dom_XNotation_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..48277fc4a5c8
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XProcessingInstruction.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XProcessingInstruction_idl__
+#define __com_sun_star_xml_dom_XProcessingInstruction_idl__
+
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+
+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
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 000000000000..05fafa20fc9f
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XSAXDocumentBuilder.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+#define __com_sun_star_xml_dom_XSAXDocumentBuilder_idl__
+
+#ifndef __com_sun_star_uno__XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_dom_XDocument_idl__
+#include <com/sun/star/xml/dom/XDocument.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XDocumentFragment_idl__
+#include <com/sun/star/xml/dom/XDocumentFragment.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_SAXDocumentBuilderState_idl__
+#include <com/sun/star/xml/dom/SAXDocumentBuilderState.idl>
+#endif
+
+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
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 000000000000..8d12d1466cdd
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/XText.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_dom_XText_idl__
+#define __com_sun_star_xml_dom_XText_idl__
+
+#ifndef __com_sun_star_xml_dom_XCharacterData_idl__
+#include <com/sun/star/xml/dom/XCharacterData.idl>
+#endif
+
+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
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 000000000000..136ae69a9101
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/AttrChangeType.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..e05e7c7623d2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventException.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_events_EventException_idl__
+#define __com_sun_star_xml_dom_events_EventException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+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
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 000000000000..d0b10c05765e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/EventType.idl
@@ -0,0 +1,174 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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 a 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, thru a mouse click or a keypress. 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 hyperactivation (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 accomodate 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
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 000000000000..c2c0a76fdd43
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/PhaseType.idl
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..4b506e646e6a
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XDocumentEvent.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_dom_events_XDocumentEvent_idl__
+#define __com_sun_star_xml_dom_events_XDocuemntEvent_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
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 000000000000..215404b7a836
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEvent.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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/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
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 000000000000..ffd9db3bf0fa
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventListener.idl
@@ -0,0 +1,42 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..203531c9165e
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XEventTarget.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#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
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 000000000000..659e7bdfbab2
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMouseEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..724ea388fd75
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XMutationEvent.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..a58d41b2d918
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/XUIEvent.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/xml/dom/events/makefile.mk b/offapi/com/sun/star/xml/dom/events/makefile.mk
new file mode 100644
index 000000000000..b03cf793ca32
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/events/makefile.mk
@@ -0,0 +1,62 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdomevents
+PACKAGE=com$/sun$/star$/xml$/dom$/events
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AttrChangeType.idl \
+ EventException.idl \
+ EventType.idl \
+ PhaseType.idl \
+ XDocumentEvent.idl \
+ XEvent.idl \
+ XEventListener.idl \
+ XEventTarget.idl \
+ XMouseEvent.idl \
+ XMutationEvent.idl \
+ XUIEvent.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/xml/dom/makefile.mk b/offapi/com/sun/star/xml/dom/makefile.mk
new file mode 100644
index 000000000000..3468e2685908
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/makefile.mk
@@ -0,0 +1,75 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdom
+PACKAGE=com$/sun$/star$/xml$/dom
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DOMException.idl \
+ DOMExceptionType.idl \
+ NodeType.idl \
+ XNode.idl \
+ XAttr.idl \
+ XCharacterData.idl \
+ XText.idl \
+ XCDATASection.idl \
+ XComment.idl \
+ XDOMImplementation.idl \
+ XDocument.idl \
+ XDocumentBuilder.idl \
+ XDocumentFragment.idl \
+ XDocumentType.idl \
+ XElement.idl \
+ XEntity.idl \
+ XEntityReference.idl \
+ XNamedNodeMap.idl \
+ XNodeList.idl \
+ XNotation.idl \
+ XProcessingInstruction.idl \
+ SAXDocumentBuilder.idl \
+ XSAXDocumentBuilder.idl \
+ SAXDocumentBuilderState.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
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 000000000000..e0fc60c27a25
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XAbstractView.idl
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
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 000000000000..5e6809dac6a7
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/XDocumentView.idl
@@ -0,0 +1,39 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
diff --git a/offapi/com/sun/star/xml/dom/views/makefile.mk b/offapi/com/sun/star/xml/dom/views/makefile.mk
new file mode 100644
index 000000000000..77f45f0045cf
--- /dev/null
+++ b/offapi/com/sun/star/xml/dom/views/makefile.mk
@@ -0,0 +1,53 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdomviews
+PACKAGE=com$/sun$/star$/xml$/dom$/views
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XAbstractView.idl \
+ XDocumentView.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
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 000000000000..d14e405fe8a4
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/SaxDocumentHandler.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_SaxDocumentHandler_idl__
+#define INCLUDED__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
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 000000000000..2e026da99662
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XAttributes.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XAttributes_idl__
+#define INCLUDED__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 localname.
+
+ @param uid
+ namespace uid
+ @param localName
+ localname
+ @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 localname of an attribute.
+
+ @param nIndex
+ index
+ @return
+ localname 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, localname.
+
+ @param uid
+ namespace uid
+ @param localName
+ localname
+ @return
+ value string or empty string, if invalid uid/localname
+ */
+ 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
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 000000000000..3c151cf4eed3
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XElement.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XElement_idl__
+#define INCLUDED__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 localname of this element.
+
+ @return
+ localname 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 occuring child element.
+
+ @param uid
+ namespace uid of element
+ @param localName
+ localname 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
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 000000000000..19c5150771ae
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XNamespaceMapping.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_sax_input_XUidMapping_idl
+#define INCLUDED_com_sun_star_sax_input_XUidMapping_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
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 000000000000..41bfefc2a76f
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/XRoot.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#if ! defined INCLUDED__com_sun_star_xml_input_XRoot_idl__
+#define INCLUDED__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
+ localname of element
+ @param xAattributes
+ attributes of element
+ */
+ XElement startRootElement(
+ [in] long uid, [in] string localName, [in] XAttributes xAttributes )
+ raises (com::sun::star::xml::sax::SAXException);
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/input/makefile.mk b/offapi/com/sun/star/xml/input/makefile.mk
new file mode 100644
index 000000000000..d0f7b0aa2f5b
--- /dev/null
+++ b/offapi/com/sun/star/xml/input/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET = cssxmlinput
+PACKAGE = com$/sun$/star$/xml$/input
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------
+
+IDLFILES = \
+ XRoot.idl \
+ XElement.idl \
+ XAttributes.idl \
+ XNamespaceMapping.idl \
+ SaxDocumentHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/makefile.mk b/offapi/com/sun/star/xml/makefile.mk
new file mode 100644
index 000000000000..4aa46f6c46e7
--- /dev/null
+++ b/offapi/com/sun/star/xml/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxml
+PACKAGE=com$/sun$/star$/xml
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AttributeContainer.idl \
+ AttributeData.idl \
+ Attribute.idl \
+ ExportFilter.idl \
+ FastAttribute.idl \
+ ImportFilter.idl \
+ NamespaceContainer.idl \
+ ParaUserDefinedAttributesSupplier.idl \
+ TextUserDefinedAttributesSupplier.idl \
+ UserDefinedAttributesSupplier.idl \
+ UserDefinedAttributeSupplier.idl \
+ XExportFilter.idl \
+ XImportFilter.idl \
+ XMLExportFilter.idl \
+ XMLImportFilter.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl b/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl
new file mode 100644
index 000000000000..fae70b3c84c0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastShapeContextHandler.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_FastShapeContextHandler_idl__
+#define __com_sun_star_xml_sax_FastShapeContextHandler_idl__
+
+#ifndef __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+#include <com/sun/star/xml/sax/XFastShapeContextHandler.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+service FastShapeContextHandler : XFastShapeContextHandler
+{
+};
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..baec31bb7fb9
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastToken.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastToken_idl__
+#define __com_sun_star_xml_sax_XFastToken_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
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 000000000000..e0020c33d883
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/FastTokenHandler.idl
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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
+
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 000000000000..dafffbd31695
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/InputSource.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#define __com_sun_star_xml_sax_InputSource_idl__
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+
+//=============================================================================
+
+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 <method>XParser::parseStream</method></li>
+ <li>as the return value of <method>XEntityReslover::resolveEntity</method>.
+ </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;
+
+ //-------------------------------------------------------------------------
+
+ /** constains the public Id of the document, for example, needed in
+ exception-message strings.
+ */
+ string sPublicId;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the sytemID of the document.
+ */
+ string sSystemId;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..e7257352fa45
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXException.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#define __com_sun_star_xml_sax_SAXException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+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>
+ */
+published exception SAXException: com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+
+ /** This field may contain a wrapped exception.
+ */
+ any WrappedException;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..162d8b3cbb83
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXInvalidCharacterException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+#define __com_sun_star_xml_sax_SAXInvalidCharacterException_idl__
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocater
+ */
+published exception SAXInvalidCharacterException: com::sun::star::xml::sax::SAXException
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..9c7993fb854c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/SAXParseException.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_SAXParseException_idl__
+#define __com_sun_star_xml_sax_SAXParseException_idl__
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** stores information for locating the error in the original XML document.
+
+ @see XLocater
+ */
+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
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 000000000000..f7b24418410d
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XAttributeList.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XAttributeList_idl__
+#define __com_sun_star_xml_sax_XAttributeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type scope="com::sun::star::util">XCloneable</type> interface also to
+ allow the user to make a copy of the instance.
+
+ </p>
+ <p>This interface is an IDL version of the Java interface
+ <em>org.xml.sax.AttributeList</em>.</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
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 000000000000..184850386f11
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDTDHandler.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#define __com_sun_star_xml_sax_XDTDHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..6586ba99a66b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XDocumentHandler.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XDocumentHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XAttributeList_idl__
+#include <com/sun/star/xml/sax/XAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..0638f72ba94c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XEntityResolver.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#define __com_sun_star_xml_sax_XEntityResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** makes it possible to modify the behaviour of resolving external
+ preferences.
+
+ <p>Usually, the parser has a default behaviour of resolving external
+ references (See documentation of the parser implementation).
+ Use this interface to modify or reimplement this behaviour.</p>
+ */
+published interface XEntityResolver: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ <type>InputSource</type> for the external entity.
+
+ <p>If <var>aInputStream</var> is a valid reference to an input stream,
+ the parser uses this <type>InputSource</type>. Otherwise the
+ parser seeks for the entity using its default behaviour.
+ */
+ InputSource resolveEntity( [in] string sPublicId, [in] string sSystemId );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..2d799fc6afdc
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XErrorHandler.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#define __com_sun_star_xml_sax_XErrorHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+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 <method>XParser::setErrorhandler</method>
+ method. The parser will then report all errors and warnings through this
+ interface. </p>
+
+ <p>This interface is a slight adaption 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 <type>SAXParseException</type> 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
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 000000000000..5801a22a2517
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XExtendedDocumentHandler.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XExtendedDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XExtendedDocumentHandler_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+
+//=============================================================================
+
+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 comming 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();
+
+ //-------------------------------------------------------------------------
+ /** 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 <type>XDocumentHandler</type>-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
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 000000000000..a48e0e5b9337
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastAttributeList.idl
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#define __com_sun_star_xml_sax_XFastAttributeList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_Attribute_idl__
+#include <com/sun/star/xml/Attribute.idl>
+#endif
+
+#ifndef __com_sun_star_xml_FastAttribute_idl__
+#include <com/sun/star/xml/FastAttribute.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** a container for the attributes of an xml element.
+
+ <br>Attributes are seperated into known attributes and unknown attributes.
+ <p>Known attributes have a local name that is known to the <type>XFastTokenHandler</token>
+ registered at the <type>XFastParser</type> which created the sax event containing
+ this attributes. If an attribute also has a namespace, that must be registered
+ at the <type>XFastParser</type>, 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 <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> 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 attributes value.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> 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 <const>FastToken::Invalid</const>
+
+ @raises SAXEXception
+ if the attribute is not available
+
+ */
+ long getValueToken( [in] long Token )
+ raises( SAXException );
+
+ /**retrieves the token of an attributes value.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> 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 <const>FastToken::Invalid</const>.
+ If not the value of <param>Default</param> is returned.
+
+ */
+ long getOptionalValueToken( [in] long Token, [in] long Default );
+
+ /** retrieves the value of an attributes.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> and
+ the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @returns
+ The string value from the attribute.
+
+ @raises SAXEXception
+ if the attribute is not available
+
+ */
+ string getValue( [in] long Token )
+ raises( SAXException );
+
+ /** retrieves the value of an attributes.<br>
+
+ @param Token
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the attribute name has a namespace that was registered with the
+ <type>XFastParser</type>, Token contains the integer token of the
+ attributes local name from the <type>XFastTokenHandler</type> 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
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 000000000000..22feebe6f5a0
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastContextHandler.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastContextHandler_idl__
+#define __com_sun_star_xml_sax_XFastContextHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>.
+
+ @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 <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> 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 <type>XFastAttrbitueList</type> 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 an known element.
+ @see startFastElement
+ */
+ void endFastElement( [in] long Element )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an kown 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 <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.
+
+ <br>If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the
+ integer token of the elements local name from the
+ <type>XFastTokenHandler</type> and the integer token of the
+ namespace combined with an arithmetic <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> 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 a 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 <type>XFastAttrbitueList</type> 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
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 000000000000..a4b5c94b8142
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastDocumentHandler.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#define __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
+#include <com/sun/star/xml/sax/XFastAttributeList.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastContextHandler_idl__
+#include <com/sun/star/xml/sax/XFastContextHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#include <com/sun/star/xml/sax/XLocator.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>
+ */
+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 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
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 000000000000..037aa01f913b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastParser.idl
@@ -0,0 +1,196 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastParser_idl__
+#define __com_sun_star_xml_sax_XFastParser_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+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
+ <type>XFastDocumentHandler</type> using <member>setFastDocumentHandler</member>.
+
+ <p>Parsing starts with calling <member>parseStream</member>. If the parser
+ finds a valid xml file with the given <type>InputSource</type>, it calls
+ <member>XFastDocumentHandler::startDocument</member> 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
+ <member>registerNamespace</member>.
+
+ <p>An element is unknown if no <type>XFastTokenHandler</type> is set
+ or if the <type>XFastTokenHandler</type> 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 <type>XFastTokenHandler</type> with <member>setTokenHandler</member>
+ is optional, but without a <type>XFastTokenHandler</type> you will only
+ get unknown sax events. This can be usefull 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
+ <member>XFastContextHandler::createFastChildContext</member> for known
+ elements or <member>XFastContextHandler::createUnknownChildContext</member>
+ for unknown elements.
+ <br>The parent context for the root element is the <type>XFastDocumentHandler</type>
+ itself.
+
+ <p>If the parent context returns an empty reference, no further events for
+ the element and all of its childs are created.
+
+ <p>If a valid context is returned this context gets a start event by a call to
+ <member>XFastContextHandler::startFastElement</member> for known elements or
+ <member>XFastContextHandler::startUnknownElement</member> for unknown elements.
+
+ <p>After processing all its child elements the context gets an end event by a call to
+ <member>XFastContextHandler::endFastElement</member> for known elements or
+ <member>XFastContextHandler::endUnknownElement</member> for unknown elements.
+
+ <p>It is valid to return one instance of <type>XFastContextHandler</type> more
+ than once. It is even possible to only use the <type>XFastDocumentHandler</type>
+ 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 <type>XFastDocumentHandler</type> by calling
+ <member>XFastDocumentHandler::endDocument</member>.
+
+ @see http://wiki.services.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 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 );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..949d8ef2386b
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_sax_XFastSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XFastSAXSerializable_idl__
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_beans_Pair_idl__
+#include <com/sun/star/beans/Pair.idl>
+#endif
+
+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] sax::XFastDocumentHandler handler,
+ [in] sax::XFastTokenHandler tokenHandler,
+ [in] sequence< beans::StringPair > namespaces,
+ [in] sequence< beans::Pair<string, long> > registerNamespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastSerializer.idl b/offapi/com/sun/star/xml/sax/XFastSerializer.idl
new file mode 100644
index 000000000000..3c61d0ffcbf4
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastSerializer.idl
@@ -0,0 +1,191 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastSerializer_idl__
+#define __com_sun_star_xml_sax_XFastSerializer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastDocumentHanlder_idl__
+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events to write into an XOutputStream.
+ */
+interface XFastSerializer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** 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 the beginning of an element .
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> 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 <type>XFastAttrbitueList</type> 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 an known element.
+ @see startFastElement
+ */
+ void endFastElement( [in] long Element )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the end of an 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 single element .
+
+ @param Element
+ contains the integer token from the <type>XFastTokenHandler</type>
+ registered at the <type>XFastParser</type>.<br>
+
+ If the element has a namespace that was registered with the
+ <type>XFastParser</type>, <param>Element</param> contains the integer
+ token of the elements local name from the <type>XFastTokenHandler</type>
+ and the integer token of the namespace combined with an arithmetic
+ <b>or</b> operation.
+
+ @param Attribs
+ Contains a <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+
+ */
+ void singleFastElement( [in] long Element, [in] XFastAttributeList Attribs )
+ raises( com::sun::star::xml::sax::SAXException );
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of the beginning of a single 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 <type>XFastAttrbitueList</type> to access the attributes
+ from the element.
+ */
+ void singleUnknownElement( [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 );
+
+ //-------------------------------------------------------------------------
+
+ /**
+ */
+ void setOutputStream ( [in] com::sun::star::io::XOutputStream xOutputStream )
+ /* raises( com::sun::star::xml::sax::SAXException ) */;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ */
+ void setFastTokenHandler ( [in] com::sun::star::xml::sax::XFastTokenHandler xFastTokenHandler )
+ /* raises( com::sun::star::xml::sax::SAXException ) */;
+ };
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl
new file mode 100644
index 000000000000..27c615cbaa3c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+#define __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
+
+#include <com/sun/star/xml/sax/XFastContextHandler.idl>
+#include <com/sun/star/drawing/XShape.idl>
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module xml { module sax {
+
+//=============================================================================
+
+/** receives notification of sax document events from a
+ <type>XFastParser</type>.
+
+ @see XFastDocumentHandler
+ */
+interface XFastShapeContextHandler: com::sun::star::xml::sax::XFastContextHandler
+{
+ [attribute, readonly] com::sun::star::drawing::XShape Shape;
+ [attribute] com::sun::star::drawing::XDrawPage DrawPage;
+ [attribute] com::sun::star::frame::XModel Model;
+ [attribute] com::sun::star::io::XInputStream InputStream;
+ [attribute] string RelationFragmentPath;
+ [attribute] long StartToken;
+ };
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
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 000000000000..e4af64500b6c
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
+#define __com_sun_star_xml_sax_XFastTokenHandler_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+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 <type>XFastParser</type>.
+ 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
+ <const>FastToken::NAMESPACE</const>. If a string identifier is not known
+ to this instance, <const>FastToken::DONTKNOW</const> is returned.
+ */
+interface XFastTokenHandler: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** returns a integer token for the given string identifier.
+
+ @returns
+ a unique integer token for the given String or <const>FastToken::DONTKNOW</const>
+ if the identifier is not known to this instance.
+ */
+ long getToken( [in] string Identifier );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a string identifier for the given integer token.
+ */
+ string getIdentifier( [in] long Token );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a integer token for the given string
+
+ @param Identifier
+ the string given as a byte sequence encoded in UTF8
+
+ @returns
+ a unique integer token for the given String or <const>FastToken::DONTKNOW</const>
+ if the identifier is not known to this instance.
+ */
+ long getTokenFromUTF8( [in] sequence< byte > Identifier );
+
+ //-------------------------------------------------------------------------
+
+ /** returns a identifier for the given integer token as a byte
+ sequence encoded in UTF8.
+ */
+ sequence< byte > getUTF8Identifier( [in] long Token );
+};
+
+//============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..e77d83000f8a
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XLocator.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XLocator_idl__
+#define __com_sun_star_xml_sax_XLocator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..0d29af5d6562
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XParser.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_xml_sax_XParser_idl__
+#define __com_sun_star_xml_sax_XParser_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_InputSource_idl__
+#include <com/sun/star/xml/sax/InputSource.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XErrorHandler_idl__
+#include <com/sun/star/xml/sax/XErrorHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDTDHandler_idl__
+#include <com/sun/star/xml/sax/XDTDHandler.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XEntityResolver_idl__
+#include <com/sun/star/xml/sax/XEntityResolver.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+
+//=============================================================================
+
+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
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 000000000000..94af79fc1444
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/XSAXSerializable.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_sax_XSAXSerializable_idl__
+#define __com_sun_star_xml_sax_XSAXSerializable_idl__
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+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] sax::XDocumentHandler handler,
+ [in] sequence< beans::StringPair > namespaces)
+ raises( com::sun::star::xml::sax::SAXException );
+
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xml/sax/makefile.mk b/offapi/com/sun/star/xml/sax/makefile.mk
new file mode 100644
index 000000000000..812d92cc9450
--- /dev/null
+++ b/offapi/com/sun/star/xml/sax/makefile.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=csssax
+PACKAGE=com$/sun$/star$/xml$/sax
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ InputSource.idl\
+ SAXException.idl\
+ SAXInvalidCharacterException.idl\
+ SAXParseException.idl\
+ XAttributeList.idl\
+ XDocumentHandler.idl\
+ XDTDHandler.idl\
+ XEntityResolver.idl\
+ XErrorHandler.idl\
+ XExtendedDocumentHandler.idl\
+ XLocator.idl\
+ XParser.idl\
+ XSAXSerializable.idl\
+ XFastParser.idl\
+ XFastDocumentHandler.idl\
+ XFastContextHandler.idl\
+ XFastSAXSerializable.idl\
+ XFastSerializer.idl\
+ XFastShapeContextHandler.idl\
+ XFastTokenHandler.idl\
+ XFastAttributeList.idl\
+ FastToken.idl \
+ FastShapeContextHandler.idl \
+ FastTokenHandler.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..8fb0ed67d17a
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLDocumentWrapper.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+#include <com/sun/star/lang/XServiceInfo.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 ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..3a5edca4325e
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XMLElementWrapper.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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>
+#include <com/sun/star/lang/XServiceInfo.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 ;
+ interface com::sun::star::lang::XServiceInfo ;
+};
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
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 000000000000..2145c23a941b
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLDocumentWrapper.idl
@@ -0,0 +1,176 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 lauguage has its own methods to manipulate its native DOM
+ * data structure, this interface provides a common method set which
+ * each lauguage have to implement.
+ * <p>
+ * In another word, this interface wraps language dependant 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 handelr 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
+
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 000000000000..ef19b64826c7
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/XXMLElementWrapper.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//i20156 - new file for xmlsecurity module
+
+/** -- idl definition -- **/
+
+#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 a element information, which
+ * make it enable to tranfer the element information between
+ * different languages, such as C++/Java.
+ */
+interface XXMLElementWrapper : com::sun::star::uno::XInterface
+{
+} ;
+
+} ; } ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/xml/wrapper/makefile.mk b/offapi/com/sun/star/xml/wrapper/makefile.mk
new file mode 100644
index 000000000000..e3690cd38443
--- /dev/null
+++ b/offapi/com/sun/star/xml/wrapper/makefile.mk
@@ -0,0 +1,51 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#i20156 - new file for xmlsecurity module
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=xsec-wrapper
+PACKAGE=com$/sun$/star$/xml$/wrapper
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XMLElementWrapper.idl \
+ XMLDocumentWrapper.idl \
+ XXMLElementWrapper.idl \
+ XXMLDocumentWrapper.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
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 000000000000..7b9eac727f52
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml__xpath_Libxml2ExtensionHandle_idl__
+#define __com_sun_star_xml_Libxml2ExtensionHandle_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module xml { module xpath {
+
+//=============================================================================
+
+struct Libxml2ExtensionHandle
+{
+ hyper functionLookupFunction;
+ hyper functionData;
+ hyper variableLookupFunction;
+ hyper variableData;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
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 000000000000..67d771b3ea66
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathAPI.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_xpath_XPathExtension_idl__
+#define __com_sun_star_xml_xpath_XPathExtension_idl__
+#ifndef __com_sun_star_xml_xpath_XXPathAPI_idl
+#include <com/sun/star/xml/xpath/XXPathAPI.idl>
+#endif
+module com { module sun { module star { module xml { module xpath {
+
+ service XPathExtension
+ {
+ interface XXPathAPI;
+ };
+};};};};};
+#endif
+
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 000000000000..37ee4eb789bb
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XPathException_idl__
+#define __com_sun_star_xml_XPath_XPathException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+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
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 000000000000..d286cc0a817e
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathExtension.idl
@@ -0,0 +1,14 @@
+#ifndef __com_sun_star_xml_xpath_XPathExtension_idl__
+#define __com_sun_star_xml_xpath_XPathExtension_idl__
+#ifndef __com_sun_star_xml_xpath_XXPathExtension_idl
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#endif
+module com { module sun { module star { module xml { module xpath {
+
+ service XPathExtension
+ {
+ interface XXPathExtension;
+ };
+};};};};};
+#endif
+
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 000000000000..c0445f9bd2f3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XPathObjectType.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XObjectType_idl__
+#define __com_sun_star_xml_XPath_XObjectType_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
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 000000000000..e3501947cb4c
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathAPI.idl
@@ -0,0 +1,207 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathAPI_idl__
+#define __com_sun_star_xml_XPath_XXPathAPI_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_xpath_XXPathObject_idl__
+#include <com/sun/star/xml/xpath/XXPathObject.idl>
+#endif
+#ifndef __com_sun_star_xml_xpath_XXPathExtension_idl__
+#include <com/sun/star/xml/xpath/XXPathExtension.idl>
+#endif
+#ifndef __com_sun_star_xml_XPath_XPathException_idl__
+#include <com/sun/star/xml/xpath/XPathException.idl>
+#endif
+
+
+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);
+
+ /** Eval 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 );
+
+ /** Eval 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 str,
+ [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 str,
+ [in] com::sun::star::xml::dom::XNode namespaceNode)
+ raises( com::sun::star::xml::xpath::XPathException );
+
+};
+
+}; }; }; }; };
+
+#endif
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 000000000000..527c37ba46f3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathExtension.idl
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathExtension_idl__
+#define __com_sun_star_xml_XPath_XXPathExtension_idl__
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com__sun_star_xml_xpath_Libxml2ExtensionHandle_idl__
+#include <com/sun/star/xml/xpath/Libxml2ExtensionHandle.idl>
+#endif
+
+module com { module sun { module star { module xml { module xpath {
+
+
+interface XXPathExtension : com::sun::star::uno::XInterface
+{
+ Libxml2ExtensionHandle getLibxml2ExtensionHandle();
+};
+
+}; }; }; }; };
+
+#endif
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 000000000000..3371a17fe93c
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/XXPathObject.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xml_XPath_XXPathObject_idl__
+#define __com_sun_star_xml_XPath_XXPathObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNode_idl__
+#include <com/sun/star/xml/dom/XNode.idl>
+#endif
+#ifndef __com_sun_star_xml_dom_XNodeList_idl__
+#include <com/sun/star/xml/dom/XNodeList.idl>
+#endif
+#ifndef __com_sun_star_xml_XPath_XObjectType_idl__
+#include <com/sun/star/xml/xpath/XPathObjectType.idl>
+#endif
+
+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 nodelist 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
diff --git a/offapi/com/sun/star/xml/xpath/makefile.mk b/offapi/com/sun/star/xml/xpath/makefile.mk
new file mode 100644
index 000000000000..60b70c9d70d3
--- /dev/null
+++ b/offapi/com/sun/star/xml/xpath/makefile.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxpath
+PACKAGE=com$/sun$/star$/xml$/xpath
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XPathException.idl \
+ XPathObjectType.idl \
+ XXPathObject.idl \
+ XXPathAPI.idl \
+ XXPathExtension.idl \
+ Libxml2ExtensionHandle.idl \
+ XPathExtension.idl \
+ XPathAPI.idl \
+ Libxml2ExtensionHandle.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
+
+
+
+
+
diff --git a/offapi/com/sun/star/xsd/Boolean.idl b/offapi/com/sun/star/xsd/Boolean.idl
new file mode 100644
index 000000000000..da715bc6ee22
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Boolean.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Boolean_idl__
+#define __com_sun_star_xsd_Boolean_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/DataTypeClass.idl b/offapi/com/sun/star/xsd/DataTypeClass.idl
new file mode 100644
index 000000000000..81b5e16de489
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DataTypeClass.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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 <type>XDataType</type>
+*/
+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
diff --git a/offapi/com/sun/star/xsd/Date.idl b/offapi/com/sun/star/xsd/Date.idl
new file mode 100644
index 000000000000..624f6af4ca2d
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Date.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Date_idl__
+#define __com_sun_star_xsd_Date_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+#ifndef __com_sun_star_util_Date_idl__
+#include <com/sun/star/util/Date.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/DateTime.idl b/offapi/com/sun/star/xsd/DateTime.idl
new file mode 100644
index 000000000000..06b7c945baf8
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DateTime.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_DateTime_idl__
+#define __com_sun_star_xsd_DateTime_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/Day.idl b/offapi/com/sun/star/xsd/Day.idl
new file mode 100644
index 000000000000..c683ad3ebb4a
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Day.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Day_idl__
+#define __com_sun_star_xsd_Day_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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
+
diff --git a/offapi/com/sun/star/xsd/Decimal.idl b/offapi/com/sun/star/xsd/Decimal.idl
new file mode 100644
index 000000000000..008fb9340b82
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Decimal.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Decimal_idl__
+#define __com_sun_star_xsd_Decimal_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/Month.idl b/offapi/com/sun/star/xsd/Month.idl
new file mode 100644
index 000000000000..bc57ed265bfb
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Month.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Month_idl__
+#define __com_sun_star_xsd_Month_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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
+
diff --git a/offapi/com/sun/star/xsd/String.idl b/offapi/com/sun/star/xsd/String.idl
new file mode 100644
index 000000000000..f86cc0c3fa2f
--- /dev/null
+++ b/offapi/com/sun/star/xsd/String.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_String_idl__
+#define __com_sun_star_xsd_String_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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 specifiy <member>Length</member> together
+ with <member>MinLength</member> or <member>MaxLength</member>.</p>
+ */
+ [property, maybevoid] long Length;
+
+ /** specifies the minimum length of the string
+
+ <p>Note that you cannot specifiy <member>MinLength</member> together
+ with <member>Length</member>.</p>
+ */
+ [property, maybevoid] long MinLength;
+
+ /** specifies the maximum length of the string
+
+ <p>Note that you cannot specifiy <member>MaxLength</member> together
+ with <member>Length</member>.</p>
+ */
+ [property, maybevoid] long MaxLength;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/xsd/Time.idl b/offapi/com/sun/star/xsd/Time.idl
new file mode 100644
index 000000000000..bca39677b8cd
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Time.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Time_idl__
+#define __com_sun_star_xsd_Time_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+#ifndef __com_sun_star_util_Time_idl__
+#include <com/sun/star/util/Time.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl
new file mode 100644
index 000000000000..05294e3a3217
--- /dev/null
+++ b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#define __com_sun_star_xsd_XDataType_idl__
+
+//=============================================================================
+module com { module sun { module star { module xsd {
+
+//-----------------------------------------------------------------------------
+/** specifies possibilities how to treat whitespaces 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
diff --git a/offapi/com/sun/star/xsd/XDataType.idl b/offapi/com/sun/star/xsd/XDataType.idl
new file mode 100644
index 000000000000..b3009756e92c
--- /dev/null
+++ b/offapi/com/sun/star/xsd/XDataType.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#define __com_sun_star_xsd_XDataType_idl__
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+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
diff --git a/offapi/com/sun/star/xsd/Year.idl b/offapi/com/sun/star/xsd/Year.idl
new file mode 100644
index 000000000000..3e4a3438acec
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Year.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_xsd_Year_idl__
+#define __com_sun_star_xsd_Year_idl__
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#include <com/sun/star/xsd/XDataType.idl>
+#endif
+
+//=============================================================================
+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
+
diff --git a/offapi/com/sun/star/xsd/makefile.mk b/offapi/com/sun/star/xsd/makefile.mk
new file mode 100644
index 000000000000..56f791bd1038
--- /dev/null
+++ b/offapi/com/sun/star/xsd/makefile.mk
@@ -0,0 +1,58 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssxsd
+PACKAGE=com$/sun$/star$/xsd
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ WhiteSpaceTreatment.idl\
+ Boolean.idl\
+ DataTypeClass.idl\
+ Date.idl\
+ DateTime.idl\
+ Day.idl\
+ Decimal.idl\
+ Month.idl\
+ String.idl\
+ Time.idl\
+ XDataType.idl\
+ Year.idl\
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk